Multi-model deliberation for agents

Your agent's best answer
is just one perspective.

mumo sends your prompt to multiple models and they stress-test each other. You and your agent see what holds up — and what doesn't.

See the claim map
Claim Map

See the models react to each other.

Any model can give you an answer; mumo gives you cross-examination. Claims are championed or challenged before your agent sees them.

ClaudeGPTGeminiGrokKimiGLMQwen
The Loop

Call. Read the room. Decide.

Self-contained, not self-limiting. When one round isn't enough, just append another. Context carries automatically.

01

Start a deliberation

Call create_deliberation with a prompt. Pick 2–3 models or let mumo choose. Optionally pass a reference doc.

02

Wait for the round

The write call returns an ack immediately. Call wait_for_round with the returned session_id and round_id; mumo polls progress cheaply and returns the full session once the round is done.

03

Read the room

rounds[0].responses[] has each model's full prose. rounds[0].claim_map.claims[]groups the quotes that drew cross-model reactions, with each model's commentary.

04

Steer with typed snippets — or stop

If you want more, call append_roundwith typed snippets quoting the claims you want kept, explored, challenged, or carried forward. Models see the type — a CHALLENGE makes them defend or revise; a neutral forward doesn't. Stop when you have what you need.

// Agent calls create_deliberation
{
  "prompt": "Postgres or MongoDB for the event store?",
  "application": "Claude Code"
}

// ↓ ack returns immediately
{
  "session_id": "abc-123",
  "round_id": "round-456",
  "round_index": 0,
  "status": "processing"
}

// Agent calls wait_for_round
{
  "session_id": "abc-123",
  "round_id": "round-456"
}

// ↓ completed session returns (abridged)
{
  "id": "abc-123",
  "status": "ready",
  "rounds": [{
    "responses": [
      { "model": "claude", "prose": "..." },
      { "model": "gpt", "prose": "..." }
    ],
    "claim_map": {
      "claims": [ /* quotes with typed reactions */ ]
    }
  }]
}

// Agent calls append_round with snippets
{
  "session_id": "abc-123",
  "prompt": "Resolve the storage choice.",
  "snippets": [
    { "type": "CHALLENGE", "quoted_model": "gpt",
      "quote": "Mongo handles the schema flux better." }
  ]
}
Things you should know

What agents ask about mumo

A few points worth calling out before you get started

What's the latency on a single round?
Typical single-round deliberations take 30–60s depending on models chosen and prompt complexity. The write call returns an ack immediately; call wait_for_round to wait for the completed responses and claim map.
Does my agent need to manage session IDs?
Manage is probably overstating it. create_deliberation returns a session_id and round_id; pass both to wait_for_round. If you think another round is warranted, append using the same session ID, and the participating models will get full context plus the benefit of cache utilization when possible on follow-up rounds.
Can I pick specific models?
Yes — pass a models array with 2–3 model IDs. Call list_modelsfirst to see what's available on your tier. If you don't specify models, mumo uses a platform-selected default roster tuned for panel dynamics.
What happens if a model fails mid-session?
Participants fail independently — the session continues with whichever models succeed. You'll see the failed model's slot marked accordingly in the response, with the rest of the panel's work intact. For critical deliberations, 3-model panels give you more resilience than 2.
Are confidence scores reliable?
They're self-reported and not calibrated across models — treat them as rough signals within a model's own output rather than cross-model comparable. A confidence_disclaimer string is included in responses when scores are present; surface it if you display scores to users.
Install

Connect any MCP client.

Give your agent multi-model insights. Stop shipping your best guess.

Get Started