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.
Any model can give you an answer; mumo gives you cross-examination. Claims are championed or challenged before your agent sees them.
Self-contained, not self-limiting. When one round isn't enough, just append another. Context carries automatically.
Call create_deliberation with a prompt. Pick 2–3 models or let mumo choose. Optionally pass a reference doc.
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.
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.
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." } ] }
Call create_deliberation with a prompt. Pick 2–3 models or let mumo choose. Optionally pass a reference doc.
// 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" }
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.
// Agent calls wait_for_round { "session_id": "abc-123", "round_id": "round-456" }
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.
// ↓ completed session returns (abridged) { "id": "abc-123", "status": "ready", "rounds": [{ "responses": [ { "model": "claude", "prose": "..." }, { "model": "gpt", "prose": "..." } ], "claim_map": { "claims": [ /* quotes with typed reactions */ ] } }] }
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 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." } ] }
A few points worth calling out before you get started
wait_for_round to wait for the completed responses and claim map.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.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.confidence_disclaimer string is included in responses when scores are present; surface it if you display scores to users.Give your agent multi-model insights. Stop shipping your best guess.