Skip to main content

concord-mcp-workspace

Shared work-state and task coordination for AI coding agents using the Model Context Protocol

Jump to install

Source facts

Repository
reason-machines/mcp-skills
Last source activity
July 30, 2026 at 03:37
Detected SKILL.md language
English
Stars
7
Forks
2

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
concord-mcp-workspace
description
Shared work-state and task coordination for AI coding agents using the Model Context Protocol
triggers
["set up concord workspace for agent coordination","claim work in concord and track task ownership","hand off work to another agent using concord","register my agent presence in the workspace","check what other agents are working on","create a review packet for this task","accept or decline a task handoff","manage multi-agent collaboration with concord"]
# Concord MCP Workspace Skill > Skill by [ara.so](https://ara.so) — MCP Skills collection. ## Overview Concord MCP provides a shared workspace for AI coding agents to coordinate work, preserve decisions, and hand off tasks cleanly. It's "Google Workspace for AI agents" — giving Claude Code, Codex, Cursor, and other MCP-capable agents one local-first place to track presence, ownership, task memory, and handoffs within a repository. **Core capabilities:** - Agent presence registration and roster tracking - Task claiming with scoped ownership and version control - Explicit handoffs with acceptance/decline workflows - Task memory (decisions, assumptions, findings) attached to work - Stale claim detection when agents disappear - Review packet generation with scope, tests, risks, and provenance ## Installation ### Global CLI Installation ```bash npm install -g @concord-ai/concord-mcp ``` ### Per-Client Setup **Cursor (one-click):** ```bash # Use the deeplink or: concord install ``` **Claude Code, Codex, other MCP clients:** ```bash concord install ``` The `concord install` command: - Registers the MCP server in `.mcp.json`, `.cursor/mcp.json`, or `~/.codex/config.toml` - Writes agent instructions to `CLAUDE.md`, `AGENTS.md`, `.codex/`, `.cursor/rules/` - Merges with existing config (safe to re-run) **Manual MCP registration** (if using `--no-mcp`): ```json { "mcpServers": { "concord": { "command": "npx", "args": ["-y", "@concord-ai/concord-mcp@latest"] } } } ``` ### Initialize Repository Workspace ```bash cd /path/to/your/repo concord init ``` Creates `.concord/` directory with SQLite workspace (auto-added to `.gitignore`). ## Environment Variables ```bash # Optional: Set explicit repository root export CONCORD_REPO_ROOT=/path/to/repo # Optional: Restrict dynamic workspace joins (path-delimited) export CONCORD_ALLOWED_ROOTS=/path/to/repo1:/path/to/repo2 # Optional: Disable CLI update checks export CONCORD_NO_UPDATE_CHECK=1 ``` ## MCP Tools Reference ### Workspace & Presence #### `join_workspace` Join or select a repository workspace without restarting MCP. ```typescript { "repository_path": "/absolute/path/to/repo" } // Returns: { workspace_id: "ws_...", repository_root: "..." } ``` #### `register_agent` Register agent presence and keep it alive. ```typescript { "agent_id": "cursor-agent-1", "agent_type": "cursor", "capabilities": ["code-generation", "review"] // Optional: workspace_id } // Returns: { agent_id, expires_at, ... } ``` #### `get_work_state` Get roster, active tasks, overlaps, and stale claims. ```typescript { "agent_id": "cursor-agent-1" // Optional: workspace_id } // Returns: { agents: [...], tasks: [...], overlaps: [...], stale_claims: [...] } ``` ### Task Creation & Claiming #### `claim_work` Claim scoped work and create a task. ```typescript { "agent_id": "cursor-agent-1", "task_id": "refactor-auth", "scope": { "files": ["src/auth.ts", "src/middleware/auth.ts"], "modules": ["authentication"], "description": "Refactor authentication to use JWT" } // Optional: workspace_id, metadata } // Returns: { task_id, version, status: "active", ... } ``` #### `update_task` Record task memory (decisions, assumptions, findings). ```typescript { "agent_id": "cursor-agent-1", "task_id": "refactor-auth", "context_update": { "decisions": ["Use jsonwebtoken library", "Store tokens in httpOnly cookies"], "assumptions": ["Token expiry set to 24 hours"], "findings": ["Existing auth uses sessions, needs migration"] } // Optional: workspace_id, expected_version } ``` #### `get_task_context` Read task memory and ownership history. ```typescript { "task_id": "refactor-auth" // Optional: workspace_id } // Returns: { context: {...}, ownership_history: [...] } ``` ### Task Assignment & Transfer #### `assign_task` Assign work to a named agent (requires acceptance). ```typescript { "agent_id": "cursor-agent-1", "task_id": "refactor-auth", "assignee_id": "claude-code-agent", "expected_version": 1 // Optional: workspace_id } // Task moves to "assigned" status, awaiting acceptance ``` #### `accept_task` Accept an assigned task. ```typescript { "agent_id": "claude-code-agent", "task_id": "refactor-auth", "expected_version": 2 // Optional: workspace_id } // Task moves to "active" with new owner ``` #### `release_task` Release ownership without assigning. ```typescript { "agent_id": "cursor-agent-1", "task_id": "refactor-auth", "expected_version": 1 // Optional: workspace_id } ``` #### `reassign_task` Transfer to another agent with versioning. ```typescript { "agent_id": "cursor-agent-1", "task_id": "refactor-auth", "new_assignee_id": "codex-agent", "expected_version": 1 // Optional: workspace_id } ``` ### Handoffs #### `offer_handoff` Deliver handoff to named recipient with acceptance workflow. ```typescript { "agent_id": "cursor-agent-1", "task_id": "refactor-auth", "recipient_id": "claude-code-agent", "handoff_data": { "summary": "JWT auth refactor complete", "completed_work": ["Implemented JWT signing/verification", "Added middleware"], "remaining_work": ["Write integration tests", "Update documentation"], "files_changed": ["src/auth.ts", "src/middleware/auth.ts"], "tests_added": ["src/auth.test.ts"], "risks": ["Session migration not handled"] }, "expected_version": 1 // Optional: workspace_id, expires_in_seconds (default 300) } ``` #### `accept_handoff` Accept offered handoff. ```typescript { "agent_id": "claude-code-agent", "task_id": "refactor-auth" // Optional: workspace_id } ``` #### `decline_handoff` Decline offered handoff. ```typescript { "agent_id": "claude-code-agent", "task_id": "refactor-auth", "reason": "Need to finish current task first" // Optional: workspace_id } ``` #### `handoff` Record completion/review evidence without transferring ownership. ```typescript { "agent_id": "cursor-agent-1", "task_id": "refactor-auth", "handoff_data": { "summary": "Ready for review", "completed_work": ["All implementation done"], "files_changed": ["src/auth.ts"], "tests_added": ["src/auth.test.ts"] } // Optional: workspace_id } ``` ### Task Closure #### `close_task` Mark task complete or closed. ```typescript { "agent_id": "cursor-agent-1", "task_id": "refactor-auth", "outcome": "complete", "expected_version": 3 // Optional: workspace_id } ``` #### `reopen_task` Reopen a closed task (audited). ```typescript { "agent_id": "claude-code-agent", "task_id": "refactor-auth", "reason": "Found edge case in production" // Optional: workspace_id } ``` ## CLI Commands ### Workspace Management ```bash # Initialize workspace in current repo concord init # Select workspace by repository path concord --repo /path/to/project status # Select workspace by ID concord --workspace ws_abc123 status ``` ### Status & Monitoring ```bash # View roster, active work, overlaps, stale claims concord status # Live dashboard (TUI) concord dashboard # Tab: change panes | j/k: navigate | /: filter | ?: help | q: quit # List active agents and their work concord who # List all tasks concord tasks ``` ### Handoff & Review ```bash # Print latest handoff for task concord handoff refactor-auth # Print review packet concord review-packet refactor-auth # Export markdown artifacts to .concord/ concord export markdown ``` ### Diagnostics ```bash # Run workspace health checks concord doctor ``` ## Common Patterns ### Multi-Agent Workflow ```typescript // Agent 1: Claim and start work await use_mcp_tool("concord", "register_agent", { agent_id: "agent-1", agent_type: "cursor", capabilities: ["code-generation"] }); await use_mcp_tool("concord", "claim_work", { agent_id: "agent-1", task_id: "add-logging", scope: { files: ["src/logger.ts"], description: "Add structured logging" } }); // Record decisions as you work await use_mcp_tool("concord", "update_task", { agent_id: "agent-1", task_id: "add-logging", context_update: { decisions: ["Use winston library", "Log to both console and file"], assumptions: ["Log rotation handled by external service"] } }); // Agent 2: Register and check for overlaps await use_mcp_tool("concord", "register_agent", { agent_id: "agent-2", agent_type: "claude-code" }); const state = await use_mcp_tool("concord", "get_work_state", { agent_id: "agent-2" }); // Check state.overlaps before claiming similar scope // Agent 1: Offer handoff when ready await use_mcp_tool("concord", "offer_handoff", { agent_id: "agent-1", task_id: "add-logging", recipient_id: "agent-2", handoff_data: { summary: "Logging implementation complete, needs tests", completed_work: ["Implemented winston logger", "Added config"], remaining_work: ["Write unit tests", "Add error scenarios"], files_changed: ["src/logger.ts", "src/config/logger.ts"] }, expected_version: 1 }); // Agent 2: Accept handoff await use_mcp_tool("concord", "accept_handoff", {
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub