Skip to main content
Glama

Open a debate with GPT

debate_open

Start a structured debate in which GPT argues against your position, returning a debate ID and opening counterargument to stress-test contested ideas.

Instructions

Start a structured debate where GPT argues against your position. Returns a debate_id and GPT's opening case against you. Call this when the user asks you to debate or stress-test a position, or when a question is contested and adversarial pressure would expose weak points better than a one-off critique. State your own position on the question first (in your reply and in claude_position). Then, for each round, write your rebuttal in the chat and call debate_turn. Finish with debate_verdict. rounds is the number of rebuttal rounds after the openings (1 to 5; default 3).

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>",
      "claude_position": "<claude_position>"
    },
    "name": "debate_open"
  }
}

Input Schema

NameRequiredDescriptionDefault
roundsNoRebuttal rounds after the openings, 1 to 5.
questionYesThe question or motion being debated.
claude_positionYesYour (Claude's) opening position and argument. GPT will argue the opposing side.

Output Schema

NameRequiredDescriptionDefault
modelYes
statusYes
debate_idYes
expires_atYes
gpt_parsedYesFalse if GPT ignored the reply format; its text is shown raw.
max_roundsYes
rounds_completedYes
rounds_remainingYes
gpt_disagreementsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare mutation, open-world and non-idempotent behavior; the description adds the real substance — that this creates a stateful session keyed by a returned debate_id, that GPT produces the opening rebuttal, and that subsequent rounds must go through debate_turn. It stops short of covering persistence, expiration, or limits on an open debate, but for a stateful opener it is well above the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose and return value, then the invocation conditions, then the multi-step protocol — a sensible progression where every sentence carries either selection or execution information. It is dense but not padded; the only cost is that workflow instructions are interleaved with the tool description rather than separated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three parameters, a stateful session, and an existing output schema, the description supplies everything an agent needs: when to call it, what it returns, what to do before the call, and how to continue afterwards. Return-value detail can be deferred to the output schema, so nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: claude_position must be shown in the chat reply as well as the field, and rounds counts rebuttal rounds *after* the openings rather than total exchanges. That framing prevents an off-by-one on the round count, which the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a concrete verb and resource ("Start a structured debate where GPT argues against your position") and states what comes back ("a debate_id and GPT's opening case against you"). It also positions itself against the sibling behavior of a one-off critique, so an agent can pick it without inspecting the others.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit trigger conditions ("when the user asks you to debate or stress-test a position, or when a question is contested") plus the discriminating rule versus gpt_critique (adversarial pressure beats a one-off critique). It also spells out the required ordering: state position first, then debate_turn per round, finish with debate_verdict.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.