Skip to main content
Glama

Deliberate

deliberate
Read-onlyIdempotent

Run an adversarial deliberation on a decision. Multiple AI perspectives argue opposing positions over multiple rounds, iteratively strengthening arguments, and converge on a recommendation with confidence scoring. Use for important decisions where you want to stress-test options from multiple angles. Over MCP the deliberation runs in the background: the first call returns a run_id immediately; call deliberate again with { run_id } (plus the same companyId) after ~1-2 minutes to fetch the result.

Routing: Stress-test a significant/strategic decision or a low-confidence (<85%) fork — skip for trivial calls, established best practice, or already-decided execution.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
run_idNoPoll a background deliberation started earlier (MCP mode). Pass the run_id returned by the starting call, with the same companyId. Omit question/positions when polling.
contextNoGoals, constraints, values, and relevant data that should inform the deliberation. The more context, the better the arguments.
criteriaNoOptional weighted evaluation criteria. Each item should have "name" (string) and "weight" (number 0-1, should sum to ~1). If omitted, defaults are generated.
questionNoThe decision or question to deliberate. Be specific — e.g., "Should we invest in mobile app development or API partnerships for growth in Q2?" Required unless polling with run_id.
companyIdNoFreedomOS company id to act within (you must be a member). Required for company-scoped tools.
positionsNoTwo or more positions to argue. Each should be a clear, distinct option — e.g., ["Mobile app development", "API partnerships", "Content marketing"]. Required unless polling with run_id.
max_roundsNoMaximum rounds of deliberation (default: 5). More rounds = better arguments but more compute.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

The description discloses the asynchronous background behavior over MCP: first call returns a run_id immediately, and a second call with run_id fetches the result after 1-2 minutes. This is crucial behavioral context beyond the annotations. Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, which are consistent with the description. No contradiction; the description adds the polling nuance that annotations don't convey.

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 a bit long but every sentence contributes: purpose, the background behavior, and routing guidance. It's structured logically with the routing as a separate paragraph. It could be slightly tightened (e.g., the routing section could be more concise), but it remains focused and front-loaded with the core purpose. A high score, though not perfect due to slight verbosity.

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

Completeness4/5

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

Given the tool's complexity (async, polling, multiple parameters) and lack of an output schema, the description covers the main usage pattern, including the two-call flow and the need for same companyId. It mentions the recommendation with confidence scoring, but does not explicitly describe the structure of the final result (e.g., whether it includes a list of arguments or just a recommendation). This is a minor gap; overall it's quite complete for an agent to use correctly.

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?

The input schema has 100% parameter description coverage, so the schema already documents each parameter. The description adds value by explaining the run_id polling flow (call again with run_id and same companyId) and clarifying that question/positions are required unless polling. This is useful operational context, though it doesn't add deep parameter-specific semantics beyond what's in the schema. Baseline 3, with a modest increment for the polling clarification.

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 states a specific verb (run) and resource (adversarial deliberation), and clearly describes the process: multiple AI perspectives argue over rounds, strengthen arguments, and converge on a recommendation with confidence scoring. This is distinct from any sibling tool; no other tool in the list offers this kind of adversarial deliberation. The purpose is unambiguous.

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?

The description explicitly says when to use: for important decisions, stress-testing options, low-confidence (<85%) forks. It also says when to skip: trivial calls, established best practice, already-decided execution. It even includes a routing rule with a concrete confidence threshold. This is exemplary usage guidance with clear exclusions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources