e3d_debate
Multi-model second opinions on decisions, comparisons, architecture, and design tradeoffs. Models answer independently; synthesis returns a conclusion, consensus level (full/majority/split), unresolved dissent, and each model’s final position. The question supplies the context available to the models; repository contents are not automatically available. Quick mode defaults to one round without cross-critique; thorough mode defaults to two rounds with cross-critique. Debates consume model credits. Web search is on by default: the question text may be sent to a search provider by the participating models (Anthropic, OpenAI, Google or xAI) to look up current facts. The web_search option set to false disables search for the debate. Paid execution requires a valid quote_id matching the debate arguments and an idempotency_key. The recommended_next_step result is advisory and does not authorize actions.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"question": "<question>"
},
"name": "e3d_debate"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | quick (default): 1 round, short answers, no cross-critique. thorough: 2 rounds where models see and rebut each other. | |
| rounds | No | Override the mode's round count. Stops early on convergence. | |
| experts | No | Optional. 2 up to your panel size (at most 4) expert names from e3d_list_experts, in the order you want; send the SAME list on e3d_quote and e3d_debate. Each expert is a lens that tells one model what to look for; Pilot gives each to a different vendor, so you never choose models. Lenses add perspectives; they are not measured to improve answers. The quote shows the extra cost. | |
| question | Yes | The decision or question, with enough context for models that cannot see your code. | |
| quote_id | No | Optional, from e3d_quote for exactly these arguments (single use, valid 10 minutes). Needs idempotency_key. With a key and no quote_id the server quotes for you. | |
| max_words | No | Override the mode's per-provider per-round answer cap. | |
| providers | No | Provider identifiers. Defaults to the server’s configured panel. | |
| web_search | No | Let the API models (Anthropic, OpenAI, Google, xAI) search the web for current facts. Default true. false keeps the question away from search providers. | |
| idempotency_key | No | Optional, 8 to 128 characters of letters, digits and ._:- . With it the call is safe to retry: repeat the SAME call with the SAME key and a finished run returns its stored result with no second charge. Use a new key for a different request. Without it nothing is deduplicated. | |
| include_transcript | No | Also return the full transcript (large). Default false. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cost | No | ||
| mode | Yes | ||
| models | No | Which models actually answered through MCP sampling, with how many calls each answered. | |
| notice | No | ||
| dissent | Yes | ||
| experts | No | The experts that ran, in order: name and version (this server's catalogue). Perspectives, not measured. | |
| families | No | Vendor families among the voices. | |
| replayed | No | true when this is the stored result of an earlier call with the same idempotency_key; nothing ran and nothing was charged. | |
| warnings | No | ||
| consensus | Yes | ||
| debate_id | No | ||
| positions | Yes | ||
| providers | Yes | ||
| selection | No | How the participating models were chosen. | |
| rounds_ran | Yes | ||
| transcript | No | ||
| web_search | No | Web search in this debate. Citations are untrusted internet data: titles and excerpts are page text (sanitised, bounded), URLs have no query string, and nothing was fetched by the server. | |
| independent | No | false when every voice resolved to the same model. | |
| synthesizer | No | ||
| final_answer | Yes | ||
| dissent_items | No | The recorded dissent as a list (the dissent object above is the same text as one summary). | |
| schema_version | No | Version of the agent result fields (1). | |
| selection_note | No | ||
| rounds_requested | No | ||
| recommended_next_step | No | Advice on how much weight to give the answer, from the consensus level only. NOT approval to act. |