# Mumo MCP [Health: Active]

**Category:** 🗣️ Conversational AI  
**Repository:** https://github.com/mumo-chat/mumo-mcp  
**GitHub Stars:** 0  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/mcp-46

## Description
Consult a multi-model panel on contested decisions via MCP: architecture, plan review, strategy.

## Tools
Capabilities this server exposes over MCP:

- **create_deliberation** — Start a multi-model AI deliberation on a question or decision.

Runs the prompt through multiple frontier AI models in parallel and extracts typed reactions (KEEP/EXPLORE/CHALLENGE/CORE/SHIFT) into a claim map of where they agree and diverge.

**Returns immediately (async).** The response is a compact ack — `{ session_id, round_id, round_index, status: 'processing', progress_url, ... }` — NOT the finished deliberation. Model execution runs in the background. Call `wait_for_round` to block on cheap progress polling and read the actual responses and claim_map once the round completes (typically 15–120s depending on model choice). `wait_for_round` returns protocol-native `structuredContent` so you can branch on `round_status` / `recommended_client_action` without parsing prose.

MCP deliberations are agent-moderated: one round runs, then you decide whether to stop or call `append_round` with follow-up steering. There is no fixed round cap and no autonomous moderator on this surface.

Use when you need structured disagreement from independent models, not a single synthesized answer. Ideal for spec review, architectural decisions, or any question where model diversity is a signal.

Idempotency is automatic — the adapter derives a stable key from tool arguments, so repeat tool calls with identical args resolve to the same session for 24 hours (no second session, no second charge). A catastrophically-failed round (all providers errored) auto-refunds your budget within 60s; the round won't count against your daily cap.
- **append_round** — Add a follow-up round to an existing deliberation session.

Use after reading the previous round's claim_map and responses to steer the conversation. The `snippets` array lets you forward specific quotes from the prior round's responses with a typed reaction:
- KEEP: this point is strong, preserve it
- EXPLORE: dig deeper on this thread
- CHALLENGE: push back on this claim
- CORE: this is load-bearing, build on it
- SHIFT: this reframes the question

Models see the snippets as curated forwards and respond with full context. Use this to resolve disagreements, test claims, or direct attention to specific passages.

Forwarding is the moderator's privileged promotion of ledger content into the record — you have seen notes the panel has not. Elevate what the discussion needs now rather than waiting to see whether its author carries it.

**Returns immediately (async).** Response is a compact ack — model execution runs in background. Call `wait_for_round` with this `session_id` and `round_id` from the ack to read the finished round; its `structuredContent` carries `round_status` (4-way), `is_usable`, and `recommended_client_action` so you can decide whether to read the result, retry, or abandon without parsing prose.

Only works on sessions that don't have an in-flight round. If `get_session` shows the latest round is `pending`, wait. If a prior round failed catastrophically and was refunded, you can append a new round — the refund restored your budget.

Idempotency is automatic per-tool-args, so retrying after a transport failure is safe — a second call with identical args within 24 hours replays the first round's ack without creating a duplicate (no second round, no second charge).
- **wait_for_round** — Wait for a deliberation round to finish, then return the full session.

This is the agent-friendly follow-up to `create_deliberation` and `append_round`: those tools return a fast ack; this tool polls the lightweight progress endpoint internally and fetches the full transcript only once terminal state is reached.

Use this instead of repeatedly calling `get_session` while models are running.

The returned claim_map is your advance look at the panel's private notes — nothing in it has reached the other participants yet. Steer with it.

**Web-created rounds** (started from the mumo web UI rather than this API) resolve when all model responses have settled — round artifacts (claim map, takeaway) may still be generating at that moment. `claim_map_url` is always present and does not imply the map is ready; if it matters, re-check via `get_session` shortly after.

**Structured output.** The response carries both `content[0].text` (human-readable — full session markdown on terminal, short prose summary on timeout) and `structuredContent` matching the tool's `outputSchema`. Branch on `structuredContent.round_status` (`complete` | `partial_failure` | `in_progress` | `failed`) and `recommended_client_action` (`proceed_with_complete_result` | `proceed_with_partial_result` | `poll_again` | `retry` | `abandon`) rather than parsing prose. The schema also exposes per-model `completed_models[]` (with `tokens_in` / `tokens_out` / `finish_reason` / `is_partial` / `output_cap`), `in_progress_models[]` (with `partial_text_length` / `last_chunk_at` / `since_last_chunk_ms` / `expired_at_read`), and `failed_models[]` (with canonical `error_code`, `output_cap` and any preserved `partial_text`). `output_cap` is null unless a platform cap bound the call: `{ tokens, reason }` with reason `guest` (guest output limit) or `balance` (the remaining credit bounded the output — top up or wait for the reset rather than retrying). Always HTTP 200 with explicit semantic state — failed rounds don't crash the tool call.
- **get_session** — Fetch the full state of a deliberation session including all rounds, responses, snippets, and claim maps.

Use to re-read completed session state. While a round is running, prefer `wait_for_round` so you do not repeatedly fetch the full transcript.

The claim_map on each round is the highest-signal representation: shows which claims multiple models reacted to, who originated them, and what each reacting model said (KEEP/CHALLENGE/etc + their comment). Use claim_map to identify unresolved disagreements before sending a follow-up.

Reactions are the panel's private ledger — participants never see each other's reactions, and as moderator you read them FIRST: the claim map is an advance view of what each model is privately weighing before any of it reaches prose. Use that privileged preview to steer the next round — forward a reaction as a snippet when it deserves the record immediately, or shape your prompt around a collision you can see coming. Authors weave their own strongest notes into their next responses; in later rounds you can compare a prior round's ledger against the prose that followed to spot what was dropped.
- **list_sessions** — List the caller's deliberation sessions, optionally filtered by status.

Most useful for agents managing multiple concurrent sessions — use `status: 'ready'` to find sessions awaiting your next round. Returns a lightweight list (no response bodies); call `get_session` for full content.
- **list_models** — List the full model catalog. Returns id, provider, display name, context window, max output tokens, pricing, and a per-model `available` verdict for your account (with `unavailable_reason` when false). Nothing is filtered out — `available` is what varies by caller.

Call before `create_deliberation` if the user wants specific models. Model IDs from this endpoint are what `create_deliberation`'s `models` parameter expects.
- **share_session** — Share a deliberation session at a public URL — anyone with the link can view it in the read-only reader deck.

Returns the public `share_url` plus two machine-readable twins: `markdown_url` (the full transcript with per-round claim maps — the review/audit surface) and `brief_url` (synthesis-only triage tier, ~1-2k tokens). Hand the markdown twin to a reviewer model, or the share_url to a human — no web UI required.

Semantics: idempotent — re-calling returns the same URL. The link is a point-in-time snapshot that auto-refreshes when you've appended rounds since the last share, so after extending a session, call this again to bring the public page current. Sharing never changes the session itself and never lists the page in search engines or the public library (that elevation is a separate platform-curated step).

Call when the user wants a shareable link or asks to publish/share results. Requires a registered (non-anonymous) mumo account; sharing generates any missing round takeaways first, so the first share of a long session can take ~15-30s.
- **get_credit** — Fetch the caller's current credit wallet balance.

Returns `effective_balance_usd` (markup-included, what's left to spend). At or below zero, every new round is refused until top-up or the monthly free-credit reset. Above zero, a round is admitted when the balance also covers that round's minimum (each model's reserved output plus input and the post-round reactions/takeaway) — a per-request check, so a low positive balance can still refuse a large panel with `credit_exhausted`, whose `required_usd` names the minimum and `affordable_alternatives` the rosters that fit (from `create_deliberation` only; always empty from `append_round`).

`per_model_minimum_usd_default` is also returned, and `pricing.minimum_usd` on `list_models` carries per-model values. Both are reported for reference — they no longer gate admission.

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "mumo-mcp": {
    "url": "https://mumo.chat/api/mcp"
  }
}
```

## Documentation

## What the Mumo MCP MCP server does

Mumo MCP MCP server connects an MCP client to a multi-model deliberation service. An agent can submit a question, receive responses from models across different labs, and inspect typed reactions showing where participants agree, challenge an argument, want to explore an idea, or identify a core point. Supported model providers mentioned by the project include Claude, GPT, Gemini, Grok, DeepSeek, and Kimi, with the exact available models dependent on the account.

The service is intended for decisions that benefit from independent review rather than a single model response. Examples include comparing architecture options, reviewing a technical plan or specification, testing a strategy, and finding weaknesses before launch. The panel is advisory; the project recommends reading the disagreement and claim map instead of treating the majority view as automatically correct.

## How it works

A typical interaction begins with `create_deliberation`. That call returns a session ID and round ID immediately while the participating models work in the background. The client then calls `wait_for_round`, which polls until the round finishes and returns the model responses together with the claim map. The project notes that panels commonly take 15 to 120 seconds, so a delayed result is expected.

Follow-up analysis uses `append_round`. The next round can include typed snippets labeled `KEEP`, `EXPLORE`, `CHALLENGE`, `CORE`, or `SHIFT` to direct attention. Session state, including rounds, responses, snippets, and claim maps, is available through `get_session`. Completed sessions can be published with `share_session`, which returns a public page and Markdown representations. `list_sessions` retrieves prior sessions, while `list_models` and `get_credit` expose available models, pricing, and remaining credit.

## Setup and configuration

Mumo MCP MCP server is hosted at `https://mumo.chat/api/mcp`; there is no local process to run. Configure an MCP client that supports Streamable HTTP and custom headers with that URL and an `Authorization` header using a bearer token. API keys are created at the Mumo settings API-key page after signing in, and the documented keys begin with `mmo_live_`.

The server allows `initialize` and `tools/list` without authentication, so a client can inspect its interface before a key is created. Tool calls require the authorization header. The repository provides installation pages for Claude Code, Cursor, Codex, and VS Code, as well as several additional hosts. Other MCP clients can use the generic Streamable HTTP configuration when they support custom headers.

## Tools and capabilities

- Start asynchronous multi-model deliberations with `create_deliberation`.
- Wait for completed rounds and retrieve responses plus claim maps.
- Add directed follow-up rounds using typed steering snippets.
- Read complete session state and list earlier sessions.
- Publish sessions with web and machine-readable Markdown outputs.
- Inspect account models, model pricing, and credit balance.

## Limitations and notes

Model availability and pricing are account-dependent. Results are not immediate, and the panel should be treated as advisory rather than as an automated decision-maker.

The repository also contains the source for host-specific skills and build scripts that teach supported agents when and how to convene a panel. Those files are separate from the hosted MCP endpoint. Changes to rendered client skills are generated from the shared template rather than edited directly in each client repository.

_Full upstream README: https://allmcps.com/mcp/mcp-46/readme_

