MCP (Model Context Protocol) server for Codrift, a multi-agent coding orchestration platform. Provides tools for managing initiatives, agents, git worktrees, memory stores, OAuth integrations, and orchestration modes.
Codrift exposes 34 tools with mixed quality. Naming is generally strong (verb_noun pattern: list_*, create_*, get_*, etc.). However, descriptions vary widely, some are detailed (e.g., 'start_agent': 50+ chars with context), others are terse (e.g., 'list_initiatives': 20 chars, below the 50-char baseline). Parameter descriptions are present but inconsistent: 'add_dir' documents 'worktree' well, but many tools lack parameter-level detail. Schemas are visible and typed, but output schemas are not documented, LLMs cannot predict what fields to expect from responses. Error handling is absent from tool definitions. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels (DESTRUCTIVE, WRITE, READ_ONLY marked in metadata but not in schema). Tool composition is reasonable (single responsibility mostly observed), but some tools like 'broadcast_to_initiative' + 'send_to_agent' could be better differentiated. Security: no visible secret injection patterns; OAuth flow exists but token handling is opaque.
Add a directory to an existing initiative (~ is expanded)
Send the same prompt to every running agent in an initiative at once. Useful when all agents need the same instruction (e.g. 'run tests and report results').
Create a new initiative with an optional list of directories
Delete an initiative by ID
Fetch recent output from an agent. Returns the last N lines of the agent's output buffer.
Get aggregated output from all conductor agents
Get the status of all agents under a conductor
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Tools like 'get_agent_output', 'list_agents', 'memory_search' return data but no schema is visible.
Terse descriptions (<30 chars) on 6 tools: 'list_initiatives', 'delete_initiative', 'list_agents', 'memory_delete', 'get_oauth_status', 'list_assigned_items'. Below 50-char baseline; LLMs cannot determine when to select them.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) in schemas despite clear risk metadata (READ_ONLY, WRITE, DESTRUCTIVE). Agents cannot infer safety/retry semantics.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Get current git diff for all directories in an initiative
List all running agents for a specific initiative with their status and directory. Use this to check which agents are still working and which are idle or stopped.
Which services have active OAuth2 tokens
Create an initiative from an external item
List all running AI coding agents
List work assigned to the user across all connected services
List all initiatives
List issues/tasks from a connected external service
Codrift-managed git worktrees and what still claims them
Store a new memory entry (decision/summary/snippet/file_context/note)
Delete a memory entry by id
Return all entries of a specific type
Return the most recent memory entries
FTS5 full-text search over an initiative's memory store
Pin a file of interest into the initiative and open it in the editor. The file stays visible in the context view until explicitly closed.
Open a terminal pane for the user to interact with directly. Moves keyboard focus to the terminal so the user can type commands. Returns immediately; the terminal stays open until the user closes it or the initiative ends.
Remove worktrees nothing claims (dry run unless forced)
Read the orchestration.md intent file for an initiative
Send input to a running agent. The input is queued and delivered when the agent is ready to receive it.
Turn a worktree on or off for one directory
Set the lifecycle status of an initiative (planning, ongoing, done, archived)
Start an AI coding agent in a directory. Omit `dir` for a folderless initiative — the agent runs in the initiative's own context folder. For a shell the *user* is meant to drive, use `open_terminal` instead — it opens a pane and moves their keyboard into it.
Start fan-out mode: one agent per directory
Start OAuth2 browser-based authorization for a service
Start orchestration mode: one orchestrator agent plans and directs sub-agents
Re-fetch and overwrite the integration context file
Overwrite the orchestration.md intent file for an initiative
No error handling guidance in tool definitions. Destructive tools (delete_initiative, prune_worktrees, memory_delete) lack confirmation/dry-run patterns. Agents cannot recover from mistakes.
Parameter descriptions inconsistent. 'add_dir' documents 'worktree' well, but 'start_agent' lacks description for 'profile' parameter. 'list_integration_items' 'filter' param is vague ('optional filter criteria').