New chat

Connect

Plug in what you have. Murmur orchestrates.

Already paying for Claude / Codex / Gemini? Just connect them β€” no credits needed. Want to try a model you don't have a sub for? Buy credits to route through Murmur for that one task.

Bring your own

Free β€” uses your existing subscriptions
Claude Code
claude-opus-4-7
Connected
Codex CLI
gpt-5.5
Connected
Gemini CLI
gemini-3.1-pro-preview
Connected

Try via credits

Pay-per-use β€” no subscription required
Kimi K2.6via Murmur
kimi-k2.6
Available
DeepSeek V4 Provia Murmur
deepseek-v4-pro
Available
Qwen3 Maxvia Murmur
qwen3-max
Credit balance: $12.40

β‰ˆ 47 reviews remaining at average pack size. Top up any time.

Outer orchestrator (MCP)

Server running

Murmur ships an MCP server so your main Claude / Cursor / Codex session can spawn chats, fan out work, and wait for consensus β€” all as tool calls. One outer agent β†’ many parallel Murmur chats.

MCP endpoint
http://127.0.0.1:7710/mcp

Paste into ~/.claude/mcp.json or Cursor's MCP settings. Daemon must be running.

mm.create_chatstable

Create a new chat in a project. Returns immediately with a chat_id; reviewers run async.

returns:{ chat_id, status: "running", started_at }
mm.chat_statusstable

Cheap poll. Use mm.wait if you actually want to block until terminal.

returns:{ status: "running" | "awaiting_user" | "done" | "errored", round, agreed, total }
mm.waitstable

Long-poll until the chat hits a terminal or awaiting_user state. Designed to be the parent agent's main tool β€” returns the synthesis as tool result.

returns:{ status, synthesis?: SynthesizedAnswer, blocked_reason?: "consensus_not_met" | "permission_required" | "cost_cap_reached" }
mm.list_blockedstable

All chats currently waiting on user input. Lets the parent agent surface them in one prompt instead of one-by-one.

returns:[{ chat_id, project, blocked_reason, deep_link, started_at }]
mm.resumestable

Unblock a chat after the user has decided. Same effect as clicking the dashboard button.

returns:{ status, round }
mm.list_templatesstable

Discover what templates exist. The parent agent can then pick one for create_chat.

returns:Template[]
mm.cancelstable

Hard cancel β€” kills the tmux session, drops the chat row.

returns:void
mm.fan_outbeta

Convenience: spawn N chats in parallel. Bounded by the workspace concurrency cap; overflow queues.

returns:ChatRef[]
Awaiting your input2 blocked
mm.list_blocked()
c-2026-04-29-014consensus not met
aurora Β· migration-plan Β· round 3 Β· 2/3 agreed
Decide β†’
c-2026-04-29-013permission required
fleet Β· code-review Β· round 1 Β· 0/3 agreed
Decide β†’