# contextium-io/contextium-mcp-server [Health: Active]

**Category:** 🧠 Knowledge & Memory  
**Repository:** https://github.com/contextium-io/contextium-mcp-server  
**GitHub Stars:** 0  
**npm Downloads (last month):** 1795  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/contextium-io-contextium-mcp-server

## Description
One shared context for every AI tool your team uses. Serves your team's knowledge, coding standards, skills, and AI agents to Claude, Cursor, Copilot, and any MCP client — load a whole workflow (docs, agents, skills, tasks, phases) in a single call. Versioned and permissioned. npx @contextium/mcp-server

## Tools
Capabilities this server exposes over MCP:

- **list** — List all resources of a given type in a workspace — the fast way to see what already exists before you act. Returns lightweight summaries (IDs, names, key fields), not full content: use `get` for one resource's full detail, or `search` to find resources by text or tag. Set `type` to choose what to list — workspaces, libraries (context libraries), agents, skills, files (pass libraryId), workflows, tags, file_tags (pass fileId), workspace_status, or members (with roles + activity). Uses your active workspace when workspaceId is omitted.
- **get** — Get full details of a resource by ID. Use workspace_activity for recent activity logs. Use activity_archive to read a specific month's archived logs by YYYY-MM (e.g. 2025-02). Use list_activity_archives to see which months have archives. Use workflow_activity for the activity digest since a workflow's last session. Use entity_activity for recent activity on a specific file or entity.
- **create** — Create a new resource in a workspace. Set `type` to what you're creating: "file" (needs libraryId + title + complete content), "library" (a context library — needs name), or "agent" / "skill" / "workflow" (need name; a workflow can bundle projectIds, agentIds, skillIds, and tagIds). Always provide full, real content for files — never empty or placeholder.

File linking: to link to another file in the SAME workspace, put //<fileId> inline in the content — use the target file's UUID (from search/list/get results), not its title. The link renders as the target's title and is indexed automatically on save; the target gains a backlink with no extra step. Add a link only where the text genuinely references an existing file; never invent //<id> for a file that does not exist (it becomes a dangling link). Use get({ type: "file_links", id }) to inspect a file's links and backlinks.
- **update** — Update an existing resource in place by ID — edit a file's title, path, content, or status, or rename/reconfigure an agent, skill, workflow, or project. Only the fields you pass are changed; for files, a new version is created automatically so history is preserved. Set `type` to the resource kind and `id` to its UUID (from list/search/get).

File linking (type=file): to link to another file in the SAME workspace, put //<fileId> inline in the content — use the target's UUID (from search/list/get results), not its title. The link renders as the target's title and is re-indexed on save; backlinks are automatic. To add a backlink to file B, add //<B-id> to this file's content. Remove a link by deleting its //<id> token. Only link to files that exist. Use get({ type: "file_links", id }) to inspect links and backlinks.
- **delete** — Delete a resource (moves to trash, restorable). type: file | skill | workflow
- **search** — Find files in a workspace when you don't know their exact ID. Pick a `mode`: "text" runs a full-text search over file contents and titles; "tags" returns files carrying ALL of the given tagIds (AND logic); "files" matches by partial file name/title. Reach for search before `get` when you only know roughly what you want; use `list` with type=files instead when you just need everything in a library. Optionally narrow to one library with libraryId.
- **suggest_libraries** — Suggest existing context libraries that look relevant to a workflow you are about to create, ranked by keyword overlap between the workflow name/description and each library's name/description. Call this BEFORE create_workflow (or create type=workflow) so you can present the matches to the user and let them choose which to attach via projectIds. Nothing is auto-attached — these are suggestions only. Returns [] when no libraries score above zero.
- **load_workflow** — Load complete workflow context — agents, skills, files, and libraries. Use this to initialise a full workflow session.
- **manage_relationship** — Manage relationships: add/remove skills on agents, add/remove inline tags on files, and share/unshare a private workflow with an individual workspace member. For type=tag this EDITS THE FILE CONTENT — it writes (or deletes) a #<value> token in the file body, which is the source of truth for a file's tags; the tag is auto-created if new. (Equivalent to updating the file content yourself.) For type=workflow_member, add is an upsert (re-adding an existing member updates their role).
- **marketplace** — Browse, inspect, and install shared skills, agents, and MCP servers from the Contextium Marketplace. Set `action`: "search" to browse listings (optionally filter by itemType skill/agent/mcp_server, category, or query); "get" for a listing's full details by slug; "install" to add a listing to a workspace by slug. Typically search first to find a slug, then get or install with it.
- **project** — DEPRECATED — phases are now DB-backed. Use list_phases (replaces get_next_phase), update_phase_status(phaseId, "done") (replaces mark_phase_complete), and load_workflow (replaces load_session/close_session).
- **figma_sync** — Manage Figma connector integrations — list connected files or trigger a sync to pull design tokens, components, and page structure into your Contextium libraries.
- **new_project** — Start a guided new Contextium project setup. Call this tool FIRST whenever a user wants to set up a new project in Contextium, create libraries/agents/skills for a project, get started with Contextium, or organise their AI context. Returns complete step-by-step setup instructions that you must follow exactly.
- **resume_project** — Resume a Contextium project from a session handoff — loads the project plan, finds the last handoff note, and briefs you so you can continue without losing context. Call this when the user says things like: "resume my project", "continue where I left off", "pick up from last session", "what was I working on", "I'm back let's continue", "carry on from yesterday", "what's next in my project".
- **contextium_help** — Show all available Contextium capabilities and how to use them. Call this when the user asks: "what can Contextium do", "help with Contextium", "how do I use Contextium", "what Contextium tools are available", "show me what I can do with Contextium".
- **contextium_status** — Show a Contextium workspace health dashboard — available workspaces, libraries, agents, skills, and workflows. Call this when the user asks: "check Contextium status", "what workspace am I in", "what resources do I have in Contextium", "show my Contextium setup", "what libraries do I have".
- **create_resource** — Interactively create an agent, skill, or workflow in the current Contextium workspace. Call this when the user says things like: "create an agent", "make a new agent", "create a skill", "build a workflow", "I need a skill for X", "set up an agent that does X", "make an agent that can do X".
- **notify_team_members** — Notify all eligible workspace team members about a resource you just created or updated — file, workflow, agent, or library. Use this when the user says things like "notify the team of this new file", "let everyone know about this workflow", or "notify @sarah about this". Respects each member's notification preferences and Do Not Disturb settings. Returns how many members were notified.
- **manual_project_setup** — Guided, interactive project setup — walks the user through creating a Contextium workspace step by step, asking for confirmation at each stage. Use when the user is present and wants to work through the setup together.
- **auto_project_setup** — Autonomous one-shot project setup — creates a full Contextium workspace (library, agents, workflow, project-state.md) without asking any questions. Use when the user says "just set it up", "create a project for X", or is on mobile/voice.
- **manual_research_setup** — Guided, interactive research workspace setup — walks the user through creating a research workspace step by step. Use when the user is present and wants to steer the research direction.
- **auto_research_setup** — Autonomous one-shot research workspace setup — creates a research library, agents, and workflow without asking any questions. Use when the user says "deep dive into X", "research X for me", or is on mobile/voice.
- **capture_idea** — Capture a quick note or seed to remember later — saves into an existing project's seeds or a general Quick Notes library. Use ONLY for lightweight "remember this" notes: when the user says "remember this", "note that", "jot this down", or "add this to [project]". Do NOT use this for a brand-new business, product, app, SaaS, or venture idea ("I have an idea for…", "I want to start a business that…", "I want to build…") — those are not quick notes; route them to idea_kickoff, which runs a full business analysis. When unsure between capturing and kicking off a venture idea, prefer idea_kickoff.
- **record_lesson** — Record a lesson learned — something that went wrong and how it was fixed — into the workspace Lessons Learned library, so the same mistake can be avoided on THIS and any OTHER project. Call this when you hit and resolve a non-obvious bug, a broken assumption, a footgun, or a fix that took real effort to find. Do NOT use it for routine notes or ideas (use capture_idea) or for reusable reference knowledge (use create_skill). Pass `project` so the lesson can be filtered back to its origin; omit it only for genuinely global lessons.
- **list_lessons** — Read lessons learned previously recorded in this workspace — including ones captured while working on OTHER projects. Call this before starting new work, when debugging something that smells familiar, or when the user asks what has been learned before. Optionally filter by project.
- **idea_kickoff** — Autonomous business-idea kickoff. Call this FIRST and IMMEDIATELY whenever a user voices a brand-new business, product, app, SaaS, startup, or venture idea — e.g. "I have an idea for…", "I have a business idea", "I want to start a business that…", "I want to build a product that…", "what if there was an app that…", "here's a business idea", "idea: …". Returns instructions to run a FULL business analysis autonomously — SWOT, market size (live TAM/SAM/SOM), competitor analysis with funding/revenue/valuation, build plan, RICE scorecard, timeline, roles, two-tier startup financials, and a synthesised go/no-go verdict — written as files into a dedicated project library. Do NOT present a "what do you want to do with this idea" menu and do NOT run the step-by-step new_project wizard: the idea IS the go-ahead, so just do the research. Use new_project instead for a feature inside an EXISTING product; use capture_idea only for a lightweight "remember this" note.
- **list_identities** — Lists identities visible to the current user in a workspace. Identities capture voice, tone, role, and audience context so AI produces work from the right perspective.
- **get_identity** — Gets the full profile of a single identity by ID, including voice descriptors, writing samples, and all contextual fields.
- **create_identity** — Creates a new identity in the workspace. Identities capture voice, tone, role, and audience context so AI produces work from the right perspective.
- **update_identity** — Updates an existing identity by ID. Only the fields you provide are changed.
- **delete_identity** — Permanently deletes an identity by ID. Use dryRun=true first to preview which workflows will have their identity_id set to null.
- **add_task** — Add a task — autonomous by default. Just pass a title and the server will (a) auto-ROUTE the task to the workflow it best fits (matched from the task text against workflow names/descriptions), falling back to the workspace's "General" workflow when no workflow clearly relates, and (b) auto-ASSIGN it to the right team member(s) by role/default. Every task belongs to a workflow — there is no workspace-level task. The caller does NOT need to choose a workflow or assignee. Provide an explicit workflowId/workflowName and/or assigneeIds ONLY to override that decision (the user has already decided) — explicit values are used verbatim and skip auto-routing/auto-assignment for whatever was specified. Set autoRoute:false to skip AI routing and place the task directly in the "General" workflow. Tasks are stored as DB tasks under the chosen workflow by default; only legacy workflows that still have a file-backed project library store the task as a phase file tagged "task".
- **update_task** — Update a task title, description, or status. Works for all task types (DB tasks, phase tasks, file-backed tasks). Omit workflowId to update a task by id regardless of its workflow (the server resolves it). Use this instead of update_task_status when you also need to set a title or description.
- **update_task_status** — Update the status of a task. Omit workflowId to update a task by id regardless of its workflow (the server resolves it). Updates the DB task record; for legacy file-backed workflows it instead swaps the status tag on the underlying phase file. Use in_progress when starting work, done when complete, dismissed when no longer relevant.
- **list_tasks** — List tasks. Omit workflowId to list ALL tasks across every workflow in the workspace. Provide workflowId to list a single workflow's tasks instead; these are DB tasks by default, or phase files tagged "task" for legacy file-backed workflows. Returns status, creator, priority, and due dates. Use sparingly — load_workflow already includes active workflow tasks.
- **break_down_task** — Use AI to break a broad task into 3-6 concrete, actionable subtasks. Claude analyses the task title and workflow context, then creates the subtasks automatically. Use when a task is too broad to complete in one step.
- **create_project** — Create a phase plan for a workflow (despite the name, this does NOT create a context library — it creates the project plan that holds phases). A workflow can have at most one plan. Returns the new plan ID to use with add_phase. Alias: create_plan.
- **create_plan** — Create a phase plan for a workflow. A workflow can have at most one plan. Returns the new plan ID to use with add_phase. This is an alias of create_project.
- **get_project** — Get the project plan attached to a workflow, including all its phases (open and completed). Returns phase titles, statuses, assigned agents, and sort order. Use this to understand what work is planned or in progress for a workflow.
- **list_phases** — List all phases for a workflow's project plan, ordered by sort_order. Returns each phase with its ID, title, status (pending/in_progress/done/blocked), assigned agent name, and creation date. Use the phase IDs with update_phase_status to progress work.
- **add_phase** — Add a phase (work item) to a workflow's project plan. Phases are appended at the end of the existing list. If the workflow has no project plan yet, one is created automatically.
- **update_phase_status** — Update the status of a project phase. Valid statuses: pending, in_progress, done, blocked. Use this to progress phases as work is completed. Setting a phase to "done" automatically records the completion time.
- **edit_phase** — Update the title or description of an existing phase without changing its status or position. Use this to reword or clarify a phase.
- **delete_done_phases** — Bulk delete all phases marked as done from a workflow's project plan. Use this to clean up completed work. Returns the number of phases deleted.
- **summarize_done_phases** — Generate an AI summary of all done phases in a workflow's project plan, save it as a context file in the specified library, then delete the source phases. Updates the plan's last_summarized_at timestamp.
- **delete_phase** — Delete a single phase from a project plan by its phase ID. Use this to remove a specific work item. To bulk-remove completed work, use delete_done_phases instead.
- **reorder_phases** — Reorder the phases in a workflow's project plan. Provide the full list of phase IDs in the desired order; the plan's sort order is updated to match.
- **delete_library** — Delete a context library (moves to trash, recoverable within 30 days). Requires owner or admin role.
- **restore_library** — Restore a context library from trash. Must be within the 30-day restore window.
- **list_trash** — List all context libraries currently in the workspace trash (deleted within the last 30 days, not yet permanently removed).
- **delete_agent** — Permanently delete an agent from the workspace. This cannot be undone. System agents (harness agents) cannot be deleted.
- **list_agents** — Lists all agents (AI assistant configurations) in a workspace. Agents define assistant roles and capabilities.
- **create_agent** — Create a new agent in the workspace.

WHAT IS AN AGENT: An agent is a specialised AI assistant with a defined role, persona, and behavioural instructions. Agents are where you put "You are a..." system prompts, persona definitions, tone of voice rules, and task-specific instructions. Agents can have skills attached to them to give them access to reference knowledge.

EXAMPLES of correct agent content:
- "You are a senior customer support agent for Acme Corp. You handle billing and account queries..."
- "You are a code reviewer specialising in Python. You check for security vulnerabilities..."

DO NOT use create_agent to store reference material, policies, or documentation — use create_skill for that.

IMPORTANT: You MUST always provide both a clear name AND a meaningful description — never leave description blank. The description should explain the agent's role, specialisation, and how it behaves.

WORKFLOW ATTACHMENT: Always provide workflowId when creating an agent for a specific project or feature — this ensures the agent is immediately attached to the right workflow and won't be orphaned.
- **dispatch_agent_job** — Dispatch an AI agent runner job with a natural-language intent. The runner autonomously selects the right agent, plans actions, and executes them. Returns a job ID you can poll with get_agent_job.
- **list_agent_jobs** — List recent agent runner jobs for the workspace — shows status (pending, running, done, failed), intent, and result summary.
- **get_agent_job** — Get the status and result of a specific agent runner job. Poll this after dispatch_agent_job to check completion.
- **get_notifications** — Get the notification inbox for the current user — both activity notifications and broadcasts.
- **get_unread_count** — Get the total number of unread notifications (activity + broadcasts) for the current user.
- **workspace_summary** — Start-of-day overview / morning brief for the current user in a workspace: outstanding tasks assigned to them (overdue, due-soon and a suggested focus), plus unread notifications and @mentions — returned as compact counts, a few highlights, and a ready-to-read `brief` sentence. Call this whenever the user asks, in ANY phrasing, what they need to do or what has happened — e.g. "what needs doing today", "what's on my plate", "what should I work on", "give me a morning brief", "show me a summary", "catch me up", "anything new", "what did I miss", "how does my day look".
- **mark_notification_read** — Mark one notification as read, or mark all notifications as read when no ID is provided.
- **update_notification_preferences** — Update notification preferences for the current user — per-type toggles, email frequency, or Do Not Disturb.
- **dismiss_broadcast** — Dismiss a broadcast notification so it no longer appears in the inbox.
- **access_request** — Request access to a private library or workflow you cannot see, or — as the resource owner — list, approve, or deny pending requests. Use action="request" when a loaded workflow reports a locked library (see its requestAccess affordance). This works from the terminal — the user does not need to open the web app.
- **share_create** — Create a public share link for a file so someone outside the workspace can view it. Returns the full link ONCE. accessMode "link" = anyone with the link; "restricted" = only allowlisted emails/domains (verified by emailed code). permission "view" or "download".
- **share_list** — List the active public share links for a file, with access mode, permission, and view count.
- **share_revoke** — Revoke a public share link. The link stops working immediately.
- **list_comments** — List the comments on a file — open (unresolved) threads by default. Comments are feedback to act on: each shows the author (members and external share-link guests), the anchored line number if any, and the comment id needed by resolve_comment / add_comment replies.
- **add_comment** — Add a comment to a file, or reply to an existing comment (pass parentCommentId). Authored as the connected user. Optionally anchor to a line with lineNumber. Replying to an external (guest) commenter also emails them.
- **resolve_comment** — Resolve (acknowledge) a comment thread once it has been addressed — it disappears from default views everywhere (web, desktop, public share page, list_comments). Pass the ROOT comment id; the whole thread resolves. Set resolved=false to reopen.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "contextium-mcp-server": {
    "command": "npx",
    "args": ["-y","@contextium/mcp-server"]
  }
}
```

## Documentation

## What contextium-io/contextium-mcp-server MCP server does

The contextium-io/contextium-mcp-server MCP server exposes Contextium workspace data to AI assistants through MCP. A workspace can contain context libraries, files, agents, skills, workflows, tags, members, identities, and project activity. Files are versioned when updated, and deleted files or resources move to trash so they can be restored.

The server is designed for shared team context rather than a single document lookup. An assistant can load a complete workflow with its related agents, skills, files, and libraries, or search and retrieve only the resources needed for a task. Workflows can also be shared with workspace members, and team members can be notified after supported resources are created or changed.

## How it works

Core tools use a resource `type` and, where needed, a workspace or resource ID. Use `list` for lightweight summaries, `get` for complete details, and `search` when the exact file ID is unknown. Search supports text across file titles and content, partial file or title matching, and tag filtering with AND behavior. Creating a file requires a library, title, and complete content; creating a workflow can associate projects, agents, skills, and tags.

Files can reference other files in the same workspace with an inline `//<fileId>` token. The referenced file must already exist, and Contextium indexes the link and creates the corresponding backlink. Relationship management also supports assigning skills to agents, applying file tags, and managing workflow members.

Project-oriented tools include guided or autonomous project setup, research setup, session resumption, lesson capture, idea analysis, phase management, and workflow loading. The marketplace tool can search, inspect, and install shared skills, agents, and MCP server listings. `figma_sync` can list connected Figma files or import design tokens, components, and page structure into Contextium libraries.

## Setup and configuration

The contextium-io/contextium-mcp-server MCP server requires Node.js 18 or newer. Add it to an MCP client using the `@contextium/mcp-server` npm package. For Claude Desktop, configure the server with an `npx` command and the package name in the client’s MCP configuration file.

After adding the server, run `npx @contextium/mcp-server setup`. The setup flow opens a browser for login, workspace selection, and authorization. Once completed, the server should appear as running in Claude Desktop’s developer settings. The provided material does not specify environment variables or manual credential fields.

## Tools and capabilities

Available capability areas include:

- Workspace CRUD for files, libraries, agents, skills, workflows, and supported resources.
- Full-text, filename, title, and tag-based file discovery.
- Workflow loading, project setup, session resumption, and phase activity.
- Version-preserving file updates and file relationship management.
- Workspace activity, archived activity, entity activity, and workflow activity records.
- Team member notifications, identities, lessons learned, and quick-note capture.
- Marketplace browsing and installation, plus Figma content synchronization.
- Contextium status and help tools for inspecting the current workspace and available capabilities.

## Limitations and notes

The server operates against a Contextium workspace and requires browser-based authentication before use. Workspace permissions affect which resources are visible or can be changed. File links are limited to files in the same workspace and require real UUIDs; invented IDs create dangling links. The `project` capability is deprecated in favor of phase tools and `load_workflow`. The supplied material does not document offline operation, environment-variable configuration, or support for clients beyond the stated MCP-compatible clients.

_Full upstream README: https://allmcps.com/mcp/contextium-io-contextium-mcp-server/readme_

