Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.murmur.dev/llms.txt

Use this file to discover all available pages before exploring further.

The Murmur MCP server is a stdio-based JSON-RPC 2.0 server that exposes agent operations as tools to Claude Code. It is the primary interface for agent-to-agent orchestration: spawning child agents, monitoring their progress, managing task checklists, and reacting to real-time events.

What is the MCP server?

The MCP server is started by murmur mcp. It communicates over standard input/output using the Model Context Protocol — the same protocol Claude Code uses to discover and invoke tools from any MCP-compatible server. On Murmur agent VMs, the MCP server is auto-configured at boot. The Claude Code settings.json is written with the correct mcpServers entry before the agent session starts. No manual setup is required.
{
  "mcpServers": {
    "murmur": {
      "command": "murmur",
      "args": ["mcp"],
      "env": {}
    }
  }
}
When Claude Code starts, it discovers all MCP tools exposed by murmur mcp and makes them available alongside its built-in tools. The agent can then call spawn, status, task_create, and other tools as naturally as it calls Read or Bash.

How agents use it

An agent running on a Murmur VM interacts with the MCP server transparently. From the agent’s perspective, Murmur tools appear alongside all other tools:
  1. Claude Code starts and reads settings.json, which lists the murmur MCP server.
  2. Tool discovery happens automatically — Claude Code queries the MCP server for its tool list.
  3. Tool invocation happens through normal tool calls. When the agent decides to spawn a child or check status, it calls the appropriate MCP tool.
  4. Responses are returned as structured JSON, which Claude Code presents to the agent.
Agents do not need to know they are calling an MCP server. The tools are indistinguishable from built-in tools in the agent’s context.

Slug targeting

Every agent has a slug — a short identifier like fix-auth-bug or add-pagination. Slugs are used to target agents in MCP tool calls.

Relative slugs

When an agent references another agent by a simple slug, it is resolved relative to the calling agent’s path:
fix-bug          → targets a sibling or child named "fix-bug"
fix-bug/child    → targets "child" under "fix-bug"
Relative slugs are the most common form. A parent agent spawning a child uses just the child’s name.

Absolute slugs

Absolute paths start with / and fully qualify the agent’s location within a workspace and account:
/w/my-workspace/u/jdoe/fix-bug
/w/my-workspace/u/jdoe/fix-bug/child
The format is: /w/{workspace}/u/{account}/{slug} Use absolute slugs when targeting agents outside your own path — for example, when a flight’s pilot agent needs to reference agents belonging to a different developer.

Empty slug

When the slug parameter is omitted or empty, most tools target the calling agent itself. For example, task_list with no slug returns the current agent’s own checklist.

Available tools

The MCP server exposes 14 tools organized into four categories:

Agent lifecycle

ToolPurpose
spawnCreate a new agent task with full configuration
killCancel an agent and its entire subtree
waitBlock until an agent reaches a target phase
lsList agent tasks with optional filters
statusQuery an agent’s current state, PRs, cost, and timeline
queue_addSend a follow-up message to a running agent
clear_queueDiscard all queued follow-ups for an agent

Task management

ToolPurpose
task_createAdd an item to an agent’s checklist
task_updateUpdate task status, description, or dependencies
task_listList all tasks in an agent’s checklist
task_getRetrieve a single task by ID

Utilities

ToolPurpose
uploadUpload a file to public storage and get an HTTPS URL
port_urlGet a public tunnel URL for a port on the current VM
agent_urlGet the dashboard URL for an agent
See the Tools Reference for complete parameter documentation.

Channel events

Beyond request/response tool calls, the MCP server pushes real-time events to the agent via the claude/channel capability. These events arrive as <channel> tags in the agent’s context and require no polling.

Event types

EventTriggerTypical agent response
pr_commentA developer comments on the agent’s PRRead feedback, address it, push changes
pr_reviewA developer reviews the agent’s PRRespond to review comments, make requested changes
ci_resultCI pipeline completes (pass or fail)If failed, investigate logs and fix; if passed, continue
child_lifecycleA child agent changes state (running, task-complete, failed)Check child status, collect results, handle failures
progressA child agent reports progressMonitor for problems, usually no action needed
notifyA human or director sends a messageFollow the instructions in the notification
file_changedFiles on the base branch changed under the agent’s workResolve conflicts as described in the event

Event format

Each event carries an RFC 3339 timestamp indicating when the underlying event occurred:
<channel type="ci_result" timestamp="2026-05-08T14:22:10Z">
  CI check "tests" failed on commit abc1234.
  Run `gh run view 12345 --log-failed` to see details.
</channel>
Agents should use the timestamp to distinguish fresh events from stale replays. Old events should not trigger urgent action.

How events flow

  1. An external system (GitHub, CI, a parent agent) generates an event.
  2. The Murmur control plane routes the event to the appropriate agent’s session.
  3. The MCP server injects the event into the Claude Code session via the claude/channel capability.
  4. The agent sees the <channel> tag in its context and reacts accordingly.
Events arrive automatically — agents never need to poll for them. This is how Murmur achieves real-time responsiveness to PR comments, CI results, and orchestration signals.

Running locally

You can run the MCP server on your local machine for development and testing:
murmur mcp
This starts the stdio JSON-RPC server. Configure Claude Code to use it by adding to your settings.json:
{
  "mcpServers": {
    "murmur": {
      "command": "murmur",
      "args": ["mcp"]
    }
  }
}
When running locally, the MCP server connects to the Murmur API using your local credentials (from murmur login). You can spawn agents, check status, and manage tasks just as an agent VM would — useful for testing orchestration logic before deploying it.
Local MCP sessions do not receive channel events, since there is no VM-level session channel. Use murmur watch or the dashboard to monitor agent activity when developing locally.