Skip to main content
Glama

tournament

Spawn multiple AI agents with distinct roles to answer the same prompt, then compare their responses side by side.

Instructions

Spawn N children with different roles on the same prompt, then collect their answers via a tagged broadcast and return a comparison.

roles: comma-separated role names. Predefined: skeptic, generator, critic, archivist, synthesizer, explorer, executor. Custom names allowed (child gets generic instruction). Each role gets a distinct system prompt addendum encoding its mindset.

Each child is told to broadcast its final output as exactly: [] [] Parent polls signals every 2s for matching prefixes until all answered or timeout.

Returns: a per-role digest. Children write everything to thread-keeper so you can also inspect via tasks()/dialog_search() afterward.

visible=False (default for tournaments — opening 5 Terminal windows is obnoxious). Override per-need.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cwdNo
modelNo
rolesNoskeptic,generator,critic
effortNo
promptYes
visibleNo
timeout_sNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

The description thoroughly explains the tool's behavior: polling every 2s, timeout, tagged broadcast format, parent matching prefixes, and side effects (children write to thread-keeper). With no contradictory annotations, the agent gets a full picture of what happens during execution, including the warning about multiple terminal windows.

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?

The description is front-loaded with a clear summary and organized into logical sections. While every sentence serves a purpose, the inclusion of technical protocol details (e.g., polling interval, exact broadcast format) adds length. It is efficient but could be slightly trimmed without losing clarity.

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 the tool's complexity (7 parameters, 1 required, no schema descriptions), the description covers all essential aspects: purpose, roles, interaction protocol, return value, side effects, and visibility. The existence of an output schema allows the description to omit return details, and the provided information is sufficient for proper invocation and understanding of outcomes.

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

Parameters5/5

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

With 0% schema description coverage, the description compensates excellently. It explains the 'roles' parameter with predefined list and custom names, clarifies 'visible' default and reasoning, and details 'timeout_s' via polling interval. Parameters like 'cwd', 'model', and 'effort' are less explained but the core ones are well-covered, adding significant meaning beyond the schema.

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?

The description begins with a clear action: 'Spawn N children with different roles on the same prompt, then collect their answers via a tagged broadcast and return a comparison.' This explicitly states the verb and resource, distinguishing it from siblings like 'spawn' and 'broadcast'. It also explains the role mechanism and return type, leaving no ambiguity about the tool's core function.

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

Usage Guidelines4/5

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

The description provides context on when to use the tool, including default behavior (visible=False) and the rationale. However, it does not explicitly contrast with alternatives like 'spawn' or 'broadcast', nor does it specify prerequisites or scenarios where the tool is not appropriate. It offers partial guidance (e.g., override per need, inspection via tasks()), but lacks explicit exclusions.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/po4erk91/thread-keeper'

If you have feedback or need assistance with the MCP directory API, please join our Discord server