MCP server exposing Switchman's coordination primitives to AI coding agents. Enables parallel AI coding sessions with task queuing, file claim management, lease heartbeats, and conflict detection across git worktrees.
Switchman-MCP has well-structured tool definitions with clear naming (verb_noun pattern: switchman_task_next, switchman_task_claim, etc.) and comprehensive descriptions (avg 150-180 chars, well above 10-char minimum). All 9 tools have input schemas with typed parameters and descriptions. However, output schemas are not documented, responses are returned as text/JSON without formal schema declarations. Error handling is present but generic ('Error: {message}') without recovery guidance or error classification. No pagination support despite tools returning lists (switchman_status, switchman_scan). Parameter descriptions are good but lack explicit constraints (e.g., priority 1-10 stated in description but not as JSON Schema min/max). Tool composition is strong, each tool has a single responsibility and outputs include IDs for chaining (task_id, lease_id, worktree). Security is well-handled with audit logging and guard checks visible in code.
Signal that an agent session ended and run review signals. Call this when your agent is shutting down to clean up leases and trigger any post-session hooks.
Refresh a lease heartbeat to signal that your agent is still alive and working on the task. Call this periodically (e.g. every 30 seconds) to prevent the lease from timing out and being reassigned.
Scan all worktrees for conflicts right now. Returns a summary of active overlaps, stale overlaps, and file conflicts across all agents.
Full system overview: tasks, claims, worktrees, leases, and conflict status. Returns a comprehensive snapshot of the entire Switchman coordination state.
Adds a new task to the Switchman task queue. Use this to break down a large feature into parallelisable subtasks before spinning up worker agents.
Declare which files this agent will edit for a task. Switchman checks for conflicts with other agents' claims and blocks overlaps before they become merge problems. Returns success or a conflict error.
Output schemas not documented. Tools return text/JSON responses without formal schema declarations. LLMs cannot predict response structure for downstream planning.
Error responses lack recovery guidance. Generic 'Error: {message}' format does not classify errors as retryable, user-fixable, or fatal. LLMs cannot determine next action.
Numeric constraints stated in descriptions but not in JSON Schema. Priority parameter says '1-10' in text but lacks min/max in schema. LLMs may pass invalid values.
No pagination support for list-returning tools. switchman_status and switchman_scan return full system state without limit/offset. Large deployments risk context window exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2025-06-18+ | v2 |
Mark a task complete and release all file claims. Call this when your work is finished and committed. Switchman will then allow other agents to edit those files.
Mark a task failed and release all file claims. Use this if your work cannot be completed or must be abandoned. Switchman will release the files so another agent can retry.
Returns the highest-priority pending task from the Switchman queue, then assigns it to the specified worktree so no other agent picks it up. Call this at the start of each agent session to claim your work. Returns null if the queue is empty.
Destructive operations (switchman_task_fail, switchman_task_done) lack confirmation/dry-run pattern. Agents could mark tasks complete/failed without verification.