Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

mumo

REMOTE · MUMO.CHAT · SCANNED SEP 22

Multi-model deliberation over MCP: full responses plus typed cross-model reactions from other labs.

Available components

+4 this week 82 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security89
Transport & Reachability100
Schema Quality & AI Usability64
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3081 tokens (~385/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management47
  • Stability observed for 14 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (13% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the mumo MCP server?

mumo is a hosted endpoint at https://mumo.chat/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mumo.chat

# add to Claude Code
claude mcp add --transport http chat-mumo-mcp 'https://mumo.chat/api/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "chat-mumo-mcp": {
      "url": "https://mumo.chat/api/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "chat-mumo-mcp": {
      "type": "http",
      "url": "https://mumo.chat/api/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.chat-mumo-mcp]
url = "https://mumo.chat/api/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "chat-mumo-mcp": {
      "type": "remote",
      "url": "https://mumo.chat/api/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add chat-mumo-mcp --url 'https://mumo.chat/api/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  chat-mumo-mcp:
    url: "https://mumo.chat/api/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "chat-mumo-mcp": {
      "Transport": "http",
      "Url": "https://mumo.chat/api/mcp"
    }
  }
}
# add to Vellum
assistant mcp add chat-mumo-mcp -t streamable-http -u 'https://mumo.chat/api/mcp'
// mcp.json
{
  "mcpServers": {
    "chat-mumo-mcp": {
      "type": "http",
      "url": "https://mumo.chat/api/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 22 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 9 Sept 26 +1
    • Stability: unverified → 0.03 functional
  • 8 Sept 26 +39
    • Transport: unverified → pass security
    • Injection markers: unverified → pass security
    • First check of Judged manipulation: pass security
    • Authorization: Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token. security
    • Tool “append_round” rewrote its description, which is the text the model reads security
    • Tool “create_deliberation” rewrote its description, which is the text the model reads security
    • Tool “get_credit” rewrote its description, which is the text the model reads security
    • MCP protocol: unverified → pass functional
    • Tool coverage: unverified → 100 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Destructive annotations: pass functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 13 functional
    • First check of Tool coverage: 100 functional
    • Server version: 1.0.0 → 1.1.0 functional
    • “create_deliberation” added an optional parameter “dataset_consent” cosmetic
    • “wait_for_round” reworded the description of “round_id” cosmetic
    • “wait_for_round” reworded the description of “round_index” cosmetic
    • “wait_for_round” reworded the description of “timeout_seconds” cosmetic
    • Tool “append_round” changed its title: Add a follow-up round cosmetic
    • Tool “create_deliberation” changed its title: Start a deliberation cosmetic
    • Tool “get_credit” changed its title: Read credit balance cosmetic
    • Tool “get_session” changed its title: Read a session cosmetic
    • Tool “list_models” changed its title: List available models cosmetic
    • Tool “list_sessions” changed its title: List your sessions cosmetic
    • Tool “share_session” changed its title: Share a session cosmetic
    • Tool “wait_for_round” changed its title: Wait for a round to finish cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 22 Sept 2026 · Probed https://mumo.chat/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.mumo.chat CN=YR1,O=Let's Encrypt,C=US 22 Aug 2026 20 Nov 2026 RSA 2048 SHA256-RSA 648bca061269bf4846e72d6ac720dad9b95
SANs: *.mumo.chat, mumo.chat
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mumo.chat. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
chat. present 45004 8 Verified
mumo.chat. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="mumo"

Bearer realm="mumo"
Header Value
strict-transport-security max-age=63072000

Protected resource metadata

Retrieved No
Problem no_resource_metadata

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mumo.chat/api/mcp Verified 200
http (plaintext) http://mumo.chat/api/mcp HTTPS enforced 308 https://mumo.chat/api/mcp
MCP tools · 8 exposed · ~2,790 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
append_round ~550

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).

NameTypeReqDescription
moderator_namestringUpdated steering identity for this round — use when the entity driving the session changes (e.g., a human takes over from an agent). If omitted, the session's existing moderator_name is preserved.
promptstringyesSteering prompt for this round — tells models what to focus on
recap_roundbooleanLegacy alias of `takeaway`.
recap_sessionbooleanDeprecated; ignored.
session_idstringyesSession ID from a prior create_deliberation call
snippetsarrayCurated quotes from prior rounds to direct models' attention. Optional but high-signal.
takeawaybooleanIf true, generates a structured per-round Takeaway (surfaced as `round_takeaway`) when this round completes. Default false. At-cost passthrough; ~$0.01 per call.

No output schema declared.

No examples provided.

create_deliberation ~777

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.

NameTypeReqDescription
applicationstringDisplay name of the client driving this MCP session (e.g., 'Claude Code', 'Cursor'). Shown in the session info panel.
dataset_consentbooleanOptional per-session Dataset Contribution request — the second consent election, same rules as improvement_consent: omitted uses the account's choice; false excludes the session; true cannot widen be…
improvement_consentbooleanOptional per-session Platform Improvement request. Any account may send true or false; omitted uses the account default. A session-level false excludes the session; true cannot widen beyond the accou…
modelsarrayModel IDs to use (2-3). Defaults to platform selection if omitted. Call `list_models` to see available options.
moderator_namestringSet this to your model id if you know it (e.g., 'Claude Sonnet 4.6', 'GPT-5.4', 'Codex', 'Gemini 3 Pro'). mumo uses it to pick complementary panel members from different model families. Leave blank i…
promptstringyesThe question or topic to deliberate on
recap_roundbooleanLegacy alias of `takeaway`.
referencestringOptional reference material (spec, doc, design) injected as context for all models
registerstringDeprecated — ignored. The platform runs a single prompt register; this field is retained only so existing callers' idempotency keys stay stable. Omit it.
takeawaybooleanIf true, generates a structured per-round Takeaway (surfaced as `round_takeaway`) when round 0 completes. Default false. At-cost passthrough; ~$0.01 per call.
web_searchbooleanSet false to skip web search entirely (no search gate, no source pack on round 0). Default true — the platform decides per-prompt whether to search. Disable for prompts grounded purely in supplied re…

No output schema declared.

No examples provided.

get_credit ~127

Fetch the caller's current credit wallet balance. Returns `effective_balance_usd` (markup-included, what's left to spend). Rounds are admitted while that balance is above zero, so this is the preflight check outside the write-op flow: above zero means the next round will run; at or below zero means it is refused until top-up or the monthly free-credit reset. `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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_session ~237

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.

NameTypeReqDescription
session_idstringyesSession ID

No output schema declared.

No examples provided.

list_models ~102

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_sessions ~117

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.

NameTypeReqDescription
limitintegerMax results (default 7)
offsetintegerPagination offset (default 0)
statusstringFilter by status. 'ready' = accepting more rounds, 'streaming' = models actively responding.

No output schema declared.

No examples provided.

share_session ~263

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.

NameTypeReqDescription
session_idstringyesSession ID to share (must be owned by the caller's API key)

No output schema declared.

No examples provided.

wait_for_round ~617

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`), `in_progress_models[]` (with `partial_text_length` / `last_chunk_at` / `since_last_chunk_ms` / `expired_at_read`), and `failed_models[]` (with canonical `error_code` and any preserved `partial_text`). Always HTTP 200 with explicit semantic state — failed rounds don't crash the tool call.

NameTypeReqDescription
poll_after_msintegerInitial polling interval. Backs off up to 5s. Default: 1000.
round_idstringRound ID from the create_deliberation or append_round ack. Optional: omitted, the call resolves to the latest round (the one in flight — a session has at most one) and PINS to it on the first poll, s…
round_indexinteger0-based round index to wait for. An alternative to round_id; ignored when round_id is given.
session_idstringyesSession ID returned by create_deliberation or append_round
timeout_secondsintegerServer-side wait timeout in seconds before returning. Default: 40. On timeout, re-call with the `round_id` the timeout response returned (structuredContent.round_id) so the retry keeps waiting on the…
NameTypeReqDescription
_mumoobjectyes
claim_map_urlstring
completed_modelsarrayyes
failed_modelsarrayyes
in_progress_modelsarrayyes
is_terminalbooleanyes
is_usablebooleanyes
recommended_client_actionstringyes
round_idstringyes
round_indexnumberyes
round_statusstringyes
session_idstringyes

No examples provided.

Common questions

What is the mumo MCP server?

mumo is an MCP server listed in the public MCP registry as chat.mumo/mcp. Multi-model deliberation over MCP: full responses plus typed cross-model reactions from other labs. This page covers its hosted endpoint (https://mumo.chat/api/mcp).

Is the mumo MCP server safe to use?

mumo scores 82 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the mumo MCP server expose?

mumo exposes 8 tools: create_deliberation, append_round, wait_for_round, get_session, list_sessions, and 3 more. Their descriptions and schemas cost roughly 2,790 tokens of context every time the server is loaded.

Does the mumo MCP server require authentication?

Yes. mumo asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the mumo MCP server still maintained?

mumo is still listed as active in the MCP registry. We last reached this channel on 22 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.