switchyard
This server is a local-first MCP meta-harness for developer workflows that plans, routes, and orchestrates host-native AI task execution, while also providing continuous learning, auditing, and multi-agent swarm capabilities.
Task Planning & Decomposition: Break down complex coding tasks into subtasks with model tier assignments and parallel execution waves, using quick heuristic classification (no LLM call) to route tasks optimally.
Host-Native Execution: Delegate subtasks directly on the host shell via
host_spawnor external AI CLI providers (e.g., OpenCode, Aider), with support for file writes, surgical edit modes (rewrite, blocks, patch), and convergence quality gates.AI Swarm Orchestration: Plan and execute multi-agent swarms with various topologies (star, hierarchical, DAG, auto), including budget estimates, wave-based execution, and ability to resume failed runs from checkpoints.
Learning & Adaptive Memory: Store cross-session memory in a local SQLite database with full-text search; record task outcomes to continuously adapt routing thresholds; approve, reject, or merge learned agent drafts.
Workflow Blueprints & Task Packs: Export successful runs into replayable workflow blueprints, and use curated task packs for common patterns (e.g., security review, test-gap).
Telemetry & Auditing: Generate detailed run receipts (JSON, Markdown, HTML), inspect spend/quality/model performance, audit out-of-workspace writes, and monitor active subtasks.
Routing Safety & Controls: Enforce routing guards for tool calls, manage bypass exceptions, and preview/approve outside-workspace writes to maintain safety.
Provider Management: Automatically detect and list available AI CLI providers, with configuration of routing policies and exceptions.
Routes coding tasks to Amazon Q (Kiro) CLI as a secondary adapter, expanding provider options for task execution.
Routes coding tasks to GitHub Copilot CLI for execution, leveraging its free gpt-5-mini tier for low-complexity work.
Routes coding tasks to JetBrains Junie CLI, with medium-tier auto-routing by default for balanced performance.
Routes coding tasks to OpenAI Codex CLI, enabling host shell and execution capabilities for AI-assisted development.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@switchyardrefactor the login module and run tests on it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
What is Threnody?
A local-first MCP meta-harness for developer workflows — small, auditable, and host-native, not a hosted swarm platform. Register it in Claude Code, Copilot CLI, Codex, Cursor, Junie, or OpenCode: Threnody plans and routes in MCP; the host shell executes via host_spawn / host_spawn_waves (Agent or Task subagents). When a handoff includes host_spawn_waves, spawn subagents — do not substitute direct edits on planned files.
execute_subtask is utility delegation only (opt-in): OpenCode, Aider, and local loopback endpoints — never other host CLIs. Same-host work returns HostNativeRequired with a spawn payload; host→host delegation returns HostDelegationBlocked. Claude Code is a router-only host by default.
On Claude Code, an opt-in mode (routing_policy.shells.claude-code.workflow_emit) emits tier-aware Dynamic Workflow scripts for fan-out plans — each agent() routes to its Threnody tier model, where a vanilla workflow runs every agent on the session model. Recurring shapes can be approved and saved as permanent /workflow commands.
For operators who want multi-agent coding without a permanent agent army, a second hosted control plane, or hidden coordination-token drift.
Related MCP server: Delegation MCP
Install
Requires: Python 3.10+ and macOS or Linux for the supported installation
paths. The full install.sh workflow expects at least one host AI CLI (gh,
claude, codex, cursor-agent, junie, or opencode); the packaged MCP
server can start without one for setup and diagnostics.
Claude Code plugin marketplace (recommended) — bundles the MCP server and nine routing skills, no shell restart:
claude plugin marketplace add timjensgrossinger/threnody
claude plugin install threnody@threnodyMCP package via uvx or pip — works with any MCP-aware host:
claude mcp add threnody -- uvx threnody-mcp
pip install threnody-mcp
threnody-mcpThe package entry point is a local stdio server. The packaged server can start
for setup and diagnostics without a host CLI; THRENODY_ALLOW_NO_HOST=1 is
only used by the full install.sh workflow to bypass its host-CLI check.
Full CLI install (adds ghc/ghcs/ghce aliases, syncs routing
instructions; restart shell after):
curl -fsSL https://raw.githubusercontent.com/timjensgrossinger/threnody/main/install.sh | bash
# plugin-only (skips shell aliases): ... | bash -s -- --plugin-modeFor a configured power-user installation, run threnody settings to finish
setup. The packaged stdio entry point does not run the interactive wizard.
Provider terms: Threnody is not affiliated with or endorsed by any AI provider. Credentials stay in provider-native stores; configure auth in each host CLI. See docs/LEGAL.md.
Docs: plugin install · limitations · legal · architecture
Compliance posture (defaults)
With default config, Threnody matches Anthropic's intended MCP pattern for Claude Code:
Control | Default behavior |
Execution | Host runs work via Agent and direct edits — Threnody returns |
Router-only | Claude Code is a coordination anchor; not a subprocess backend |
Same-host | Returns |
Host→host delegation |
|
Utility delegation | Off by default; opt-in targets OpenCode, Aider, and local endpoints only |
Routing policy | Advisory by default — |
Operator opt-in risk: Enabling providers.router_only_allow_execution can subprocess Claude Code. With subscription OAuth that pattern is documented as high policy risk in docs/LEGAL.md. Verify your auth mode and provider terms before changing defaults.
How it works
Host shell (Claude / Copilot / Codex / Cursor / …)
→ start_task / route_task / plan_task returns next_action and host_spawn_waves for host-native work
→ host executes Agent or Task subagents, direct edits (spawned from host_spawn_waves)
→ utility delegation execute_subtask → OpenCode / Aider / local (opt-in)
→ swarm / learning execute_swarm (host_native default), memory_*, learning_*Call the start_task tool (or route_task/plan_task) from your MCP host shell — start_task returns a compact next_action and optional host_spawn_waves for host-native execution.
Threnody scores complexity → low / medium / high tier (no extra LLM call on the hot path).
route_task/plan_taskreturn spawn metadata —host_spawnfor single-agent,host_spawn_wavesfor multi-step plans.The host runs the work — Claude Code uses Agent; other shells use Task.
Swarms or utility delegation —
execute_swarmreturns a host-native wave plan by default;execute_subtaskonly for utility backends when enabled.
Local-first: routing state, telemetry, and caches stay in local SQLite (~/.local/lib/threnody/); the MCP server talks to your host over stdio — no Threnody-hosted control plane. Outbound traffic comes only from the provider CLIs you invoke.
Features
Feature | What it does | |
🎯 | Tier routing | Heuristic complexity scoring + |
🧠 | Learning loop | Pattern tracking → draft agents → approval queue → plan-time context injection. No auto-promotion; conservative recurrence/quality/rework gates |
🐝 | Swarm orchestration |
|
⚡ | Dynamic Workflows | Opt-in (claude-code): fan-out plans emit a tier-aware Workflow script; recurring shapes export to permanent |
🧾 | Receipts and run cards |
|
🧩 | Task packs and blueprints | Curated packs ( |
🔬 | Static pre-scan | Deterministic AST + pattern scan (zero tokens) sharpens review tiering, injects verified-or-refuted leads, and grades reviewers against ground truth |
♻️ | Prior-review memory | An unchanged |
🪄 | Hybrid diagnose→implement | One read-only high-tier diagnosis produces a change-spec, cheaper implementers execute it. Emits tiers only; the discount is learned per work profile, never hardcoded |
✅ | Baseline-diff verify gate | Lint/type/test graded against the merge base, so pre-existing red never blocks and only real regressions get a fix pass (in-process, zero tokens on the host path) |
📚 | Repo beliefs | Each run leaves a free |
🪜 | Graded task ladder |
|
💾 | Cross-session memory |
|
🔌 | MCP-native | 53 published tools over stdio JSON-RPC; works with any MCP-compatible host |
📈 | Adaptive thresholds | EMA threshold learning from |
🛡️ | Write safety | Path validation, outside-workspace grant model + audit trail |
🔒 | Guarded routing | Optional coordination gate + Claude PreToolUse hooks ( |
Cross-CLI memory: all hosts share one SQLite store at ~/.local/lib/threnody/cache.db. Use global (no project_id), project (pass a stable absolute path, not "."), or task (explicit task_id) scopes. Do not store secrets — any connected host can read keys.
Adaptive routing: route_task returns a task_id; after work, call record_outcome(task_id=…, outcome=accepted|revised|rejected|reworked). Enable per project with threnody tune set learning_enabled true --project ..
Project skills
Nine repo-local skills under skills/ guide MCP workflows from any host. install.sh installs them into provider-native roots (directory-style for Claude Code / Cursor / Codex; flat markdown for Copilot CLI / OpenCode).
install.sh also writes the five review-dimension agent definitions into each host's own definition directory, so a review fan-out does not repeat the same checklist in every agent prompt (prompt_economy.externalize_boilerplate). A definition you already have under the same name is never overwritten — your tuned reviewer is the better version of that file.
Skill | Use when |
Plan-only or plan-then-execute; waves vs swarm | |
| |
| |
| |
Default broad review swarm — one read-only agent per file plus synthesis | |
Deep review swarm — file × dimension fanout, optional | |
Claude Code tier-aware Dynamic Workflows; save | |
Contract-first parallel frontend + backend + API | |
Monitor opt-in utility |
Supported providers
Provider | Binary | Role |
Claude Code |
| Host (router-only) — executes via Agent / direct edits |
GitHub Copilot |
| Host — executes via Task |
OpenAI Codex |
| Host — Task execution |
Cursor |
| Host — Task execution |
OpenCode |
| Host + utility delegation target |
JetBrains Junie |
| Host / legacy paths |
Aider |
| Utility (opt-in delegation) |
Amazon Q / Kiro · Mistral Vibe · Blackbox |
| Secondary adapters / detect |
Windsurf |
| Detect only — never executes |
Live matrix: threnody inspect status --project . --details. Full table: docs/PROVIDER_COMPATIBILITY.md
See it in action
plan_task("add JWT auth with tests")
→ host_spawn_waves: [
{ "wave": 1, "agents": [{ "tool": "Agent", "tier": "medium", "target_files": ["src/auth.py"] }] },
{ "wave": 2, "agents": [{ "tool": "Agent", "tier": "low", "target_files": ["tests/test_auth.py"] }] }
]📋 Wave 1 — spawn Agent (host model) → src/auth.py
📋 Wave 2 — spawn Agent (host model) → tests/test_auth.pyOptional utility delegation (opt-in via providers.delegation_utilities_enabled):
execute_subtask(prompt="…", tier="low", provider_id="opencode") → OpenCode utility backend
execute_subtask(prompt="…", tier="medium") → HostNativeRequired + spawn payload
execute_subtask(provider_id="codex") → HostDelegationBlockedShell commands
ghc agent "implement JWT auth for the user service" # multi-agent waves
ghcs "how to list files recursively in python" # quick routed call
threnody inspect status --project . --details # provider readiness
threnody quality --since 7d # model quality ledger
threnody ladder run --tier low,medium,high # graded ground truth (spends tokens)
threnody ladder run --stale # re-grade only tiers whose model changed
threnody db learn status # durable learning journal + table counts
threnody db learn rebuild # rebuild the DB's learning tables from the journal
threnody-watch # live TUI monitorFull reference: docs/CLI.md
Documentation
Doc | Contents |
uvx, plugin marketplace, | |
All 53 MCP tool surfaces | |
Shell aliases and operator commands | |
Trust boundaries and local-first design | |
Safe starting config | |
Eval methodology and accuracy | |
Claude PreToolUse guard script | |
Host-native vs utility delegation | |
Threnody vs heavy swarm platforms | |
Beta scope, privacy, roadmap | |
Operator responsibilities | |
Common fixes |
Beta status
Public alpha v0.3.0-alpha.3 — MCP tool schemas may change between releases; pin a git tag for stability. macOS and Linux (zsh/bash); Windows not supported by the installer. See CHANGELOG.md.
Running tests
THRENODY_TEST_MODE=1 python3 -m pytest tests/ -q
THRENODY_TEST_MODE=1 python3 -m shared.routing_eval
python3 scripts/check_release_archive.pyUninstall
~/.local/lib/threnody/uninstall.sh [--purge-data]Legal
Threnody is an independent open-source project, not affiliated with or endorsed by Anthropic, OpenAI, GitHub, Google, Cursor, JetBrains, or any other provider named here. Provided "AS IS" under the Apache License 2.0 (no warranty). You are solely responsible for determining whether your routing patterns comply with each provider's current terms.
Operator responsibilities: docs/LEGAL.md · Third-party attributions: NOTICE
Built by @timjensgrossinger.
Available Tools
55 toolsagent_queue_approveC
Approve one pending approval-queue item for one project.
| Name | Required | Description | Default |
|---|---|---|---|
| queue_id | Yes | ||
| project_id | Yes | ||
| operator_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It implies a mutation operation but does not disclose side effects, authorization needs, or reversibility. The description is insufficient for an action that modifies state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that is front-loaded and to the point. However, brevity sacrifices useful detail that could be added without excessive verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three required parameters, no output schema, and no parameter descriptions, the description is incomplete. It does not explain return behavior, error conditions, or constraints, which are critical for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain any of the three required parameters (queue_id, project_id, operator_id) beyond their names, failing to add meaning for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Approve', the resource 'pending approval-queue item', and the scope 'for one project'. It effectively distinguishes from sibling tools like 'agent_queue_reject'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, conditions, or context. Sibling tools like 'approval_queue_approve' and 'agent_queue_list' exist but are not differentiated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_queue_listC
List pending approval-queue items for one project.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only states it lists pending items, but does not disclose whether it is read-only, requires authentication, or any side effects. Minimal behavioral info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is direct and to the point, no wasted words. Front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description lacks completeness. Does not mention pagination, ordering, response format, or error conditions. For a list tool, more context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 2 parameters with 0% description coverage. Description does not explain 'limit' or 'project_id' at all, leaving agent with no context beyond the schema's type constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List pending approval-queue items for one project.' Uses a specific verb and resource, and distinguishes from sibling 'approval_queue_list' by specifying scoping to one project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'approval_queue_list' or other tools. Does not mention prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_queue_mergeC
Merge one pending approval-queue item into a canonical agent.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| queue_id | Yes | ||
| project_id | Yes | ||
| operator_id | Yes | ||
| canonical_agent_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only mentions 'merge', implying a write/destructive operation. It does not disclose side effects (e.g., removal from queue), authorization needs, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence, no redundancy. However, brevity sacrifices essential details, making it under-specified rather than well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters and no output schema or annotations, the description fails to explain what merging entails, the result, or any preconditions. Completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no details about the five parameters (reason, queue_id, project_id, operator_id, canonical_agent_id). Their purpose and constraints are entirely unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (merge), the entity (pending approval-queue item), and the target (canonical agent). It distinguishes from siblings like approval_queue_merge by specifying 'agent queue' and 'canonical agent'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like agent_queue_approve, agent_queue_reject, or approval_queue_merge. Missing context about prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_queue_rejectC
Reject one pending approval-queue item for one project.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| queue_id | Yes | ||
| project_id | Yes | ||
| operator_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description implies a mutation (rejection) but omits details about repercussions, reversibility, or authorization requirements. For a destructive operation, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (1 sentence, 9 words). No wasted words, but the brevity sacrifices necessary detail. Structure is minimal but not misleading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and 4 parameters, the description fails to provide sufficient context. Missing prerequisites, side effects, and parameter roles.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description provides no semantics for the 4 parameters (reason, queue_id, project_id, operator_id), leaving the agent to infer their meaning from names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (reject) and the resource (pending approval-queue item for one project). It distinguishes from siblings like agent_queue_approve, though brief.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., approval_queue_reject). The context of 'pending approval-queue item' is not elaborated, leaving the agent without decision-making cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_previewB
Approve or deny a pending outside-workspace file write preview created by execute_subtask.
| Name | Required | Description | Default |
|---|---|---|---|
| approve | Yes | True to apply the write, false to deny it | |
| preview_token | Yes | Preview token returned by execute_subtask |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the tool approves or denies a preview but does not disclose behavioral traits such as side effects, permissions, idempotency, or what happens upon approval (e.g., actual file write). This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. Every part of the description is necessary and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is too minimal. It lacks information about return values, post-approval behavior, constraints, or error conditions, making it incomplete for an agent to use safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and already explains both parameters ('preview_token' and 'approve'). The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Approve or deny a pending outside-workspace file write preview created by execute_subtask.' It uses a specific verb (approve/deny) and resource (pending preview), and distinguishes from sibling tools by specifying the preview's origin.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after execute_subtask, but does not explicitly guide when to use this tool versus alternatives like approval_queue_approve/reject. No when-not-to-use or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approval_queue_approveD
Compatibility alias for agent_queue_approve.
| Name | Required | Description | Default |
|---|---|---|---|
| queue_id | Yes | ||
| project_id | Yes | ||
| operator_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits, side effects, authentication requirements, or rate limits. The description carries the full burden but offers no insight beyond being an alias.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence), but it is under-specified. Conciseness should not compromise completeness; this description is too terse to be useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and 3 undocumented parameters, the description is severely incomplete. It does not explain return values, behavior, or error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and no explanation in the description, the three required parameters (project_id, queue_id, operator_id) are entirely unexplained. The description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is a compatibility alias for another tool (agent_queue_approve), but does not directly state what the tool does. It relies on the agent knowing the other tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. The phrase 'compatibility alias' implies a specific use case but does not explain when compatibility is needed or when to choose this over the original.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approval_queue_listD
Compatibility alias for agent_queue_list.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral traits are disclosed. The description does not indicate whether the tool is read-only, destructive, or has side effects. Since annotations are absent, the description carries the full burden but provides nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, but it is under-specified. Conciseness is positive, but the lack of substance makes it insufficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters, no output schema, and no annotations, the description fails to provide any behavioral or usage context. The agent is left with no understanding of what the tool returns or how to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about the parameters limit or project_id. The agent must rely solely on the schema, which lacks descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it's a compatibility alias for agent_queue_list, which implies its purpose is the same as that tool. However, it doesn't explicitly state what the tool does (e.g., list approval queue items), leaving the agent to infer from the sibling name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like agent_queue_list or approval_queue_approve. The alias relationship is noted but not clarified for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approval_queue_mergeD
Compatibility alias for agent_queue_merge.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| queue_id | Yes | ||
| project_id | Yes | ||
| operator_id | Yes | ||
| canonical_agent_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description gives zero behavioral information: no mention of effects, side effects, permissions, or return values. The agent cannot infer any traits beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which could be concise, but it is under-specified. The brevity sacrifices necessary information, making it insufficient for agent understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, 5 parameters with 0% coverage, and many sibling tools, the description is critically incomplete. The agent cannot determine the tool's function, inputs, or outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not explain any parameters. The agent must rely solely on parameter names and types (e.g., 'reason' as a string) without any semantic help.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is a compatibility alias for agent_queue_merge, but does not explain what agent_queue_merge does. This is essentially a tautology, providing no verb or resource description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Only implies it should be used in place of agent_queue_merge, but no context on when to use this tool vs alternatives like approval_queue_approve or agent_queue_reject. No exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approval_queue_rejectD
Compatibility alias for agent_queue_reject.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| queue_id | Yes | ||
| project_id | Yes | ||
| operator_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits such as side effects, authentication needs, or whether the action is reversible. It only mentions being an alias.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but lacks substance. While brief, it does not earn its place because it omits critical information, making it under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 4 parameters, absence of output schema, and lack of annotations, the description is completely inadequate. It provides no meaningful context for the agent to operate the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to the four parameters (reason, queue_id, project_id, operator_id). The agent cannot infer their roles or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only states 'Compatibility alias for agent_queue_reject' without specifying the action or resource. It fails to define what approval_queue_reject actually does, leaving the agent guessing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its siblings (e.g., agent_queue_reject, approval_queue_approve). The agent has no context to decide appropriateness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cache_getA
Look up a cached result for a task.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | The task to look up |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior fully. It implies a read-only lookup but does not specify what happens on cache miss (error vs null) or confirm idempotency. Adequate but could be more explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence efficiently conveys the tool's purpose with no extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description is mostly complete. It lacks details on cache miss behavior or scope, but given the simplicity, it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the single parameter 'task' with a description. The tool description adds no extra meaning beyond the schema, meeting the baseline for 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('look up') and resource ('cached result for a task'), distinguishing it from siblings like cache_put and cache_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as cache_put or cache_stats, nor any context about cache behavior like expiration or miss handling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cache_putC
Store a completed task result in the cache.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | The task key | |
| model | Yes | Model that produced it | |
| result | Yes | The result to cache |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only says 'store', but does not clarify overwrite behavior, error handling, return value, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (8 words). However, it is so brief that it sacrifices useful detail, making it less effective than a slightly longer clearer description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no output schema, the description should at least hint at return behavior or preconditions. It lacks completeness, leaving the agent uninformed about what happens after storing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all parameters (task, model, result). The description adds no additional meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool stores a completed task result in the cache. However, it does not explicitly distinguish itself from other cache tools beyond the name 'put'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as cache_get. The description lacks any context about prerequisites or appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cache_statsB
Return cache statistics: total entries and breakdown by model.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a read operation ('return'), but does not disclose behavioral traits (e.g., whether it is safe, idempotent, or requires authentication). Lacks details about potential side effects or resource consumption.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys all necessary purpose information without any fluff. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain the return format in more detail. It mentions 'total entries and breakdown by model' but does not specify the breakdown structure (e.g., count per model, list of models). Given many sibling tools, more context about its specific role would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters, so schema description coverage is 100% vacuously. Per guidelines, 0 parameters earns baseline 4. The description adds no parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns cache statistics with total entries and breakdown by model. The verb 'return' and resource 'cache' are explicit. However, there is no explicit differentiation from sibling tools, though the name itself helps distinguish from cache_get and cache_put.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., inspect_stats or learning_outcome_stats). No when-not-to-use or prerequisite information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_providersA
List detected AI CLI providers with routeability, detection reason, model summary, and health status. Output is compact and secret-safe.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It adds useful behavioral info: output is compact and secret-safe. However, it doesn't disclose other traits like idempotency or error conditions. Adequate but not extensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words, front-loaded with the main action. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, the description covers the tool's output (fields, compact, secret-safe). It is fairly complete, though some terms like 'routeability' are not defined but are self-explanatory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so schema description coverage is 100%. The description doesn't need to add parameter meaning; baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'List' and the resource 'detected AI CLI providers', specifying the included fields (routeability, detection reason, model summary, health status). It clearly differentiates from siblings like inspect_status and memory_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, but the description implies its purpose for listing providers. Since there are no competing sibling tools with similar scope, the guidance is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decompose_taskA
Alias for plan_task. Preferred entry point for multi-file or multi-concern tasks.
Calls the planner to decompose a task into independent subtasks with model tier assignments and dependency waves.
Returns:
analysis: planner reasoning
subtasks: list with id, description, tier, model, depends_on
waves: parallel execution groups
strategy: parallel | sequential | dag
Use this instead of route_task whenever the task spans more than one file, module, or concern. Spawn one agent per subtask; run waves in order.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Caller working directory for routing guard scoping | |
| task | Yes | Full description of the coding task |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully covers behavioral traits: it describes calling a planner, decomposing into subtasks, returning analysis, subtasks with specific fields, waves, and strategy. Additionally, it advises to 'Spawn one agent per subtask; run waves in order,' which clarifies execution model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and well-structured: opens with alias and preferred usage, explains what it does, lists return fields, and gives a usage instruction. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description fully details the return structure (analysis, subtasks, waves, strategy). It addresses complexity of multi-file tasks and provides sufficient context for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters defined in the schema. The description does not add extra meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it is an alias for plan_task and is the preferred entry point for multi-file or multi-concern tasks. Explicitly describes that it decomposes a task into independent subtasks with model tier assignments and dependency waves, distinguishing it from siblings like route_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use this tool ('Use this instead of route_task whenever the task spans more than one file, module, or concern'), which clearly differentiates it from an alternative and gives a concrete condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_subtaskA
Execute a prompt via the cheapest available AI CLI provider.
Routes to the cheapest model for the given tier across all installed CLI tools (GitHub Copilot, Codex, Cursor, and others). Falls back to next cheapest on failure.
When target_file is provided, writes the result directly to that path and returns file metadata. This is the preferred way to create files for low-tier subtasks — saves tokens by avoiding round-trip through the main agent.
Surgical edit modes (set mode=): rewrite (full-file injection + length-ratio guard), blocks (Aider-style SEARCH/REPLACE, token-efficient), patch (unified diff).
Returns:
result: the model's response text
provider: which CLI tool was used
model: which model handled it
tier: the tier that was requested
fallback_used: whether a fallback provider was needed
file_written: path written to (when target_file is set)
lines_written: line count of written file
diff: unified diff showing changes (when target_file is set)
change_type: 'created', 'modified', or 'unchanged'
lines_added: number of lines added
lines_removed: number of lines removed
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Write mode for target_file edits: 'write' (default) — model output written verbatim. Safe for new files. 'rewrite' — injects current file, asks for complete rewrite with length-ratio guard (rejects if output < 50% of original). Max file size: 32 KiB. 'blocks' — Aider-style SEARCH/REPLACE blocks. Token-efficient surgical edits. Max file size: 128 KiB. 'patch' — provider returns unified diff applied with patch semantics. | |
| tier | No | Complexity tier: low, medium, or high (default: low) | |
| effort | No | Optional reasoning effort hint. When supported by the selected provider, this is passed through to execution. | |
| prompt | Yes | The prompt to send to the model | |
| task_id | No | Optional caller-supplied task identifier used for inspection and telemetry correlation. | |
| timeout | No | Timeout in seconds (default: per-tier from config, max: 600) | |
| wave_id | No | Optional wave identifier. Subtasks sharing the same wave_id are shown as a parallel group in list_subtasks. Use the same value for all execute_subtask calls dispatched simultaneously (e.g. 'wave-1', 'wave-2'). | |
| prefer_free | No | Prefer free-tier providers (default: true) | |
| provider_id | No | Optional exact provider identifier, such as 'codex'. When set, execution is restricted to that provider. | |
| target_file | No | Absolute path to write the result to. When set, the model's output is written directly to this file. Parent directories are created automatically. Ideal for low-tier file generation. | |
| convergence_target | No | Optional quality convergence policy (plan 14). Re-executes until gate score meets min_score or max_rounds is exhausted. Each round appends prior output to the prompt. | |
| allow_out_of_workspace | No | Allow writing target_file to a path outside the workspace root. Every grant is logged. Explicit per-call opt-in. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It thoroughly explains the routing mechanism (cheapest provider, fallback), file writing behavior (automatic parent directory creation), edit modes (rewrite with length-ratio guard, blocks, patch), and convergence policy. This gives a complete picture of the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with the main purpose, then detailing routing, file writing, edit modes, and return fields. It is informative but slightly verbose; some sentences could be tightened without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, nested objects), the description covers all major aspects: routing, file output, edit modes, convergence, and return values. No output schema exists, but the description lists all return fields. This is comprehensive for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the rationale for target_file (saves tokens) and providing context for modes, but this largely repeats the schema descriptions. Hence, marginal additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's core function: executing prompts via the cheapest AI CLI provider. It distinguishes itself from sibling tools by focusing on cost-optimized execution and direct file output, which is unique among the listed tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, such as being the preferred way to create files for low-tier subtasks to save tokens. It also explains different modes for file edits. However, it lacks explicit guidance on when not to use it or alternative tools for specific scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_swarmC
Start a swarm run; returns an immediate run contract (swarm_id, wave summary, cost estimate) or a budget preview.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Natural-language task description (required). Use a plain quoted string — same shape as plan_task/decompose_task. | |
| topology | No | ||
| task_spec | No | Optional structured swarm payload (id, subtasks, complexity_score, …). When set, overrides task for planning/runtime handoff. | |
| task_text | No | Alias for task when callers use task_text instead of task. | |
| max_agents | No | ||
| budget_limit | No | ||
| urgency_hint | No | ||
| preview_token | No | ||
| workspace_root | No | Workspace where declared subtask outputs are materialized. Defaults to the active MCP workspace. | |
| unlimited_budget | No | Disable token budget circuit breaker and cost limit checks — swarm runs to completion regardless of token usage. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Lacks behavioral details beyond stating it starts a swarm run. With no annotations, the description should cover side effects, resource usage, or dependencies, which it does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with action and output summary, no redundancy. Could improve structure with bullet points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 parameters, nested objects, and no output schema, the description is too sparse. Fails to explain how parameters affect behavior or integrate with sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds no parameter meaning beyond the schema (50% coverage). Does not explain parameter roles or interactions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it starts a swarm run and describes the immediate return format (run contract or budget preview), distinguishing it from sibling tools like inspect_swarm or start_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., start_task, plan_task). Does not mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
expand_host_planC
Expand a host-native swarm/plan run with additional file-scoped subtasks. Returns pending host_spawn_waves for discovered files not yet assigned.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| run_id | No | ||
| swarm_id | No | ||
| host_run_id | No | ||
| descriptions | No | ||
| workspace_root | No | ||
| discovered_files | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description carries full burden. 'Expand' implies mutation but no disclosure of side effects, approval needs, or blocking behavior. Minimal behavioral context for a complex operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy. First sentence states action, second states return. Front-loaded with key purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, no annotations, no output schema, description is too sparse. Does not explain prerequisites (e.g., run_id, swarm_id relationships), return format, or how discovered_files are processed. Inadequate for agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 0%; description adds no parameter-level details beyond hinting at discovered_files. Six other parameters (reason, run_id, swarm_id, host_run_id, descriptions, workspace_root) remain unexplained, leaving agent uninformed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states tool expands a host-native swarm/plan run with file-scoped subtasks and returns pending waves. Verb 'expand' and resource 'host-native swarm/plan run' are specific. Distinguishes from list/stop subtask siblings, but jargon may be unclear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives like execute_subtask or report_host_wave. Implies use when discovered files exist but missing context for sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fleet_planA
Plan a task AND format it for /fleet execution.
Calls the LLM planner to decompose the task, then produces ready-to-run /fleet command strings — one per wave, respecting dependency order.
Returns:
plan: full plan (same as plan_task)
fleet_waves: list of wave objects, each with: wave_number: int command: '/fleet "[tier] subtask1" "[tier] subtask2"' agents: list of {tier, model, prompt}
execution_note: how to run the waves
cache_hit: bool
Use this when you want copilot-router's model intelligence combined with /fleet's true parallel execution. Run wave 1 command, wait, run wave 2, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Full description of the coding task |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and does well: it explains internal call to LLM planner, produces /fleet commands, respects dependency order, and returns execution note and cache_hit. Could mention side effects like caching more explicitly, but solid overall.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and well-structured: a one-line summary followed by bullet points for returns and usage. Front-loaded with purpose, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description thoroughly explains the return structure (plan, fleet_waves with fields, execution_note, cache_hit). Also provides execution guidance, making it complete for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter 'task' with schema coverage 100%. Description adds no extra semantics beyond the schema's 'Full description of the coding task'. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's purpose: planning a task and formatting it for /fleet execution. It distinguishes from sibling tools like 'plan_task' by emphasizing the combination of copilot-router's intelligence with parallel execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage context: 'Use this when you want copilot-router's model intelligence combined with /fleet's true parallel execution.' Also instructs to run waves sequentially. No explicit when-not scenarios, but sufficient guidance for agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_qualityA
Return the granular model quality ledger: per-(model x effort x dimension x sub_dimension) average score (0-10), sample count, findings/judge breakdown, and approximate escalation rate for a time window. e.g. opus | high | security/sql-injection.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | Time window (7d, 30d, 24h, all). Default: 7d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only describes what is returned but does not mention read-only nature, data freshness, rate limits, authentication requirements, or any side effects. The description lacks transparency beyond the return schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first clearly states what the tool returns, the second provides a concrete example. No redundant words, all information is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists the output components (average score, sample count, findings/judge breakdown, escalation rate) without an output schema, providing a good overview. It lacks details on output format (e.g., list vs. table) but is largely sufficient for understanding the tool's capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter 'since' described as 'Time window (7d, 30d, 24h, all). Default: 7d'. The description only mentions 'for a time window' which adds no extra meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a granular model quality ledger with specific metrics (average score, sample count, findings/judge breakdown, escalation rate) per combination of model, effort, dimension, and sub-dimension. It gives an example, distinguishing it from sibling tools that focus on status, tasks, or spending.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for quality metrics within a time window, but does not explicitly state when to use this tool over siblings like inspect_status, inspect_task, or inspect_swarm. No exclusions or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_run_receiptC
Return an operator run receipt by run_id/swarm_id, as JSON, Markdown, or local HTML.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | ||
| run_id | No | ||
| swarm_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It only mentions output formats, not side effects, idempotency, or whether any state changes occur. Based on 'return', likely read-only but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, very concise. No fluff, but may sacrifice necessary detail. Could be improved with slightly more structure (e.g., separating identifiers from format).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and 0% schema coverage, the description is insufficient. Does not explain what a run receipt is, typical use cases, error handling, or response structure. Lacks completeness for a data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage; description adds meaning by indicating run_id/swarm_id as identifiers and format as output type. However, it does not clarify if both run_id and swarm_id are needed or mutually exclusive, nor provide default values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns an operator run receipt by run_id/swarm_id, and specifies output formats (JSON, Markdown, HTML). It differentiates from sibling inspect tools by focusing on a 'run receipt', though 'run receipt' is not further defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like inspect_status or inspect_task. Does not mention prerequisites or constraints (e.g., run must be complete).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_spendB
Return aggregated spend and savings telemetry from delegated subtasks (est_cost_usd vs counterfactual) and persisted cost receipts for a time window.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | Time window (7d, 30d, 24h, all). Default: 7d |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It indicates a read operation but lacks details on authentication, side effects, pagination, rate limits, or data freshness. The scope (aggregated vs. raw) is unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose. No unnecessary words; every segment contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not explain the return format or data fields. Without annotations, key behavioral aspects (e.g., whether data is real-time) are missing, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the 'since' parameter. The tool description repeats 'time window' but adds no new meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool returns aggregated spend and savings telemetry from specific sources (delegated subtasks, cost receipts) within a time window. It clearly distinguishes from sibling tools like inspect_status or inspect_quality, which focus on other aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for financial telemetry but provides no explicit guidance on when to use this tool versus alternatives like inspect_run_receipt or inspect_task. No exclusions or alternative suggestions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_statusB
Return a compact readiness/status snapshot for one project, including enabled features, current limits, and pending approvals.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No | Optional project identifier or workspace path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the return content but discloses no behavioral traits such as whether it is read-only, requires authentication, or has any side effects. This is a significant gap for a tool that likely performs reads only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose. It is concise and to the point, though could be slightly more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (1 optional param, no output schema), the description covers what the tool returns. However, it lacks details on output format or behavioral context like read-only hint, making it moderately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter (project_id) has 100% schema coverage with a clear description. The tool description does not add extra meaning beyond this, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a compact readiness/status snapshot for one project, with specific items like enabled features, current limits, and pending approvals. This distinguishes it from sibling tools like inspect_task or inspect_swarm, which focus on different aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for getting an overall status snapshot of a single project, but it does not provide explicit guidance on when to use this tool versus alternatives like inspect_task or inspect_quality, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_swarmB
Return compact swarm run summary from SQLite (status, progress, host metadata).
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | No | ||
| swarm_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full burden. It mentions the data source (SQLite) but fails to disclose behavioral traits such as side effects, permissions, or whether the tool is read-only. This leaves critical gaps for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and resource. It is concise with no wasted words, though it could afford to add parameter context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema), the description adequately states what the tool returns. However, with no annotations and missing parameter details, the description is not fully complete for an agent to understand prerequisites or behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no descriptions in schema properties), and the description does not explain parameters like swarm_id or run_id at all. The description fails to compensate for the lack of schema-level documentation, leaving the agent without guidance on required vs optional parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool returns a compact swarm run summary, specifying the data sources (SQLite) and content (status, progress, host metadata). This distinguishes it from sibling tools like inspect_status or inspect_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for compact swarm run summaries, but it does not provide explicit guidance on when to use it versus alternatives (e.g., inspect_status for broader status). No when-not-to-use or context exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_taskA
Return structured provider/model/tier telemetry and fallback/speculation flags for a previously routed task.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Task identifier returned by execute_subtask or run |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes return data but does not disclose whether the tool is read-only, has side effects, or requires specific permissions. Missing behavioral context like 'no side effects' or 'idempotent'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with key information, no redundant words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks output schema, so description should compensate. Provides a high-level summary of return structure ('provider/model/tier telemetry and fallback/speculation flags') but no details on format, nesting, or fields. Adequate but not thorough for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already includes a description for task_id. The tool description adds value by specifying the origin of the identifier ('returned by execute_subtask or run'), which is not in the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it returns structured telemetry and flags for a previously routed task. Uses specific verb 'Return' and resource 'provider/model/tier telemetry and fallback/speculation flags', distinguishing it from sibling tools like inspect_status or inspect_spend.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage after routing ('previously routed task') but provides no explicit when-to-use, when-not-to-use, or alternatives. No guidance on why one would choose this over inspect_status or inspect quality, for example.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_write_auditB
Return recent out-of-workspace write audit log entries.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max entries to return (default 50, max 500) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure; it only states the action without mentioning side effects, permissions, read-only nature, or what 'recent' means. This is insufficient for safe agentic decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words; however, it could incorporate a brief hint about the parameter or output format without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should indicate what fields the audit log entries contain; it only describes the general data type. Given the low complexity (one optional param), it is adequate but not fully informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the only parameter (limit), so the description adds no additional meaning beyond the schema's default and max values; baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'recent out-of-workspace write audit log entries', using a specific verb and resource that distinguishes it from siblings like inspect_status or learning_audit_log.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like learning_audit_log or inspect_status; context implies it's for write audit logs outside the workspace, but no when-not-to-use or alternate tool suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
learning_agent_summaryA
Get summary of all learned agents by status (active, pending, rejected).
Returns compact agent list with description, lane, pattern hash, and status. Sensitive data (tokens, secrets) is filtered out.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states that sensitive data is filtered out, which is a useful trait. However, it does not mention whether the operation is read-only, auth requirements, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no wasted words. It front-loads the main purpose and adds a key behavioral detail in the second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description adequately covers what the tool does and what it returns. It could be considered complete for a simple summary tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema is fully covered. The description adds value by explaining the return content (description, lane, pattern hash, status) and the filtering of sensitive data, going beyond the schema's empty definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Get summary', the resource 'learned agents', and the filtering by status. It clearly distinguishes from siblings like inspect_status (single agent) and agent_queue_list (different purpose).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly suggests using this tool to obtain a summary of learned agents, but it does not provide explicit when-not-to-use guidance or mention alternatives among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
learning_audit_logB
Get audit trail for agent creation, approval, and registration events.
Returns event stream with timestamps and operator identity. Sensitive fields (tokens, API keys) are filtered out.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max events (default 50) | |
| agent_id | No | Optional filter by agent |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions sensitive field filtering but lacks disclosure on safety, authorization, or side effects. Implies read-only but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. Could improve structure (e.g., separate purpose and features) but remains efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers return type and sensitive field filtering but lacks details like ordering, default limit, and pagination. Adequate for a simple read tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description does not add additional meaning beyond the schema, aligning with the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Get', resource 'audit trail', and specific scope 'agent creation, approval, and registration events'. Distinguishes from sibling audit tools by specifying the event types covered.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs siblings like inspect_write_audit. Does not provide context for selection or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
learning_outcome_statsA
Get outcome distribution snapshot over 1-hour recent window grouped by tier and model.
Returns: outcome counts (accepted, revised, rejected, reworked) per tier:model combination, coverage percentage, and window timestamps. Aggregates are computed in background and retrieved from memory. Use for operator observability into routing quality by model.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses non-obvious behavior: aggregates are background-computed and retrieved from memory, not real-time. No annotations to contradict.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise paragraphs front-loading purpose and detailing return values. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, return values (outcome counts, groupings, coverage, timestamps), behavior (background computation, memory retrieval), and use case. No gaps given zero params and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters; schema coverage is 100% trivially. Baseline 4 for zero-param tools. Description adds no param info but none needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states action: 'Get outcome distribution snapshot over 1-hour recent window grouped by tier and model.' Distinguishes from siblings like record_outcome and inspect_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly recommends use for 'operator observability into routing quality by model.' Lacks explicit when-not-to-use but context implies this is the snapshot tool vs recording tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
learning_pattern_healthA
Get health metrics for the pattern tracking system.
Reveals: total patterns tracked, mature patterns ready for drafting, patterns awaiting proof, draft proposals in approval queue, and active agent count. Use to monitor learning loop maturity.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | No | Optional project filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool reads health metrics (non-destructive), but does not mention authorization needs, rate limits, or any side effects. The behavior is adequately but minimally described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (two sentences) and front-loaded with the main purpose. It efficiently lists the metrics and a usage hint. No unnecessary words, but could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description lists the specific metrics returned, which is helpful. It covers the key information for an agent to use this tool: what it does, what it reveals, and when to use it. The single optional parameter is documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one optional parameter with description; schema coverage is 100%. The tool description does not add any extra meaning about the parameter beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets health metrics for the pattern tracking system and lists the specific metrics revealed (total patterns, mature patterns, etc.). It provides a specific verb+resource, though it does not explicitly differentiate from siblings like inspect_status or learning_agent_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'Use to monitor learning loop maturity,' giving a clear usage context. However, it does not specify when not to use this tool or mention alternatives among the many sibling tools that might overlap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_subtasksA
Return structured status of currently running and recently completed execute_subtask calls.
active: tasks currently executing (show elapsed time, model, prompt excerpt, target file). recent: last 10 completed or failed tasks this session.
Use this to monitor parallel execute_subtask calls — similar to /tasks for background agents.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It describes the two categories (active and recent) and what each contains, which is good. However, it does not disclose any potential side effects, authentication requirements, rate limits, or whether the call is read-only. The behavioral disclosure is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with three sentences, each serving a distinct purpose: stating the function, breaking down the output structure, and providing a usage analogy. No unnecessary words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, no annotations, and no parameters, the description is quite complete. It specifies the scope (session-level for recent), the number of recent items (10), and the fields in active. Minor gaps: it does not clarify if 'active' includes all submitted tasks or only those not yet completed, nor does it mention ordering or global vs. per-session. Still, it is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the description does not need to add parameter semantics. The absence of parameters is clearly reflected, and the description does not attempt to invent any. Baseline for 0 parameters is 4, but the description remains concise and complete, earning a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'Return' and resource 'status of execute_subtask calls', distinguishing active and recent categories. It provides concrete details (elapsed time, model, prompt excerpt, target file for active; last 10 for recent), making the tool's purpose unambiguous and differentiated from siblings like stop_subtask or inspect_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'Use this to monitor parallel execute_subtask calls' and compares it to '/tasks for background agents', giving clear context for when to use this tool. However, it does not explicitly mention when not to use it or alternative tools like inspect_status, so it misses some exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_task_packsA
List curated task packs for cheap repeatable planning.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose read-only nature, cost implications, or any behavioral traits beyond the implied 'list' action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no fluff; front-loaded purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple list tool with no parameters, but lacks details on result format, authentication, or potential side effects. Minimal completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so schema coverage is 100%. Description adds value by characterizing the packs as 'curated' and for 'cheap repeatable planning', which aids understanding beyond empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists curated task packs for cheap repeatable planning, distinct from sibling tools like 'plan_task_pack' which would create or plan a pack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives like 'cache_get' or 'plan_task_pack'. No context about prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_deleteC
Hard-delete one memory value from an explicit scope.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| scope | Yes | ||
| task_id | No | ||
| project_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. 'Hard-delete' implies irreversibility, but it does not explain side effects, permissions needed, or what happens to associated data. The minimal disclosure leaves significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) and front-loaded with the action and resource. However, it sacrifices useful detail for brevity, earning a slightly lower score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters, no output schema, and no annotations, the description is insufficiently complete. It omits return values, error cases, and interactions with other memory tools. Given the complexity of a destructive operation, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description does not add any meaning to the parameters beyond their field names. The roles of optional parameters task_id and project_id are unclear, and no semantic context is provided for required fields key and scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (hard-delete), resource (one memory value), and scope (explicit scope). It distinguishes itself from sibling tools like memory_get, memory_set, and memory_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites, and no exclusion criteria. The description is purely declarative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_getC
Fetch one full memory envelope from an explicit scope.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| scope | Yes | ||
| task_id | No | ||
| project_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It says 'full memory envelope' but does not explain what that includes, error handling (e.g., missing key), or whether it is read-only (though implied).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one sentence, 8 words), but lacks necessary detail. Conciseness is good, but at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no parameter descriptions, and no annotations, the description should provide more context about return format, error conditions, and relationships between parameters. It falls short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning beyond parameter names. It does not explain the role of 'scope', 'key', or optional fields like 'task_id' or 'project_id'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'fetch' and resource 'memory envelope', and contrasts with sibling tools like memory_list and memory_search by specifying 'one full' and 'explicit scope'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a single memory item by key and scope, but does not explicitly state when to prefer this over memory_search or memory_list, nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_listB
List keys and lightweight metadata for one explicit memory scope.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | Yes | ||
| task_id | No | ||
| project_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavioral traits. It only states it lists keys and lightweight metadata, but does not clarify what 'lightweight metadata' includes, whether it is read-only, permission requirements, or behavior when scope is invalid. The description is insufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff. It front-loads the core action and resource, and every word is informative. Ideal length for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and three parameters (two undocumented by description), the description lacks completeness. It does not explain return format, pagination, error conditions, or the role of optional parameters, leaving significant gaps for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It mentions 'explicit memory scope' hinting at the required 'scope' parameter, but does not clarify the optional 'task_id' and 'project_id' parameters (are they filters? scope qualifiers?). The description adds minimal meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: listing keys and lightweight metadata for an explicit memory scope. It uses specific verbs and nouns, and distinguishes from sibling tools like memory_get (retrieve specific memory), memory_set (create/update), memory_search (search across scopes), and memory_delete (remove).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidelines on when to use or not use this tool compared to siblings like memory_search or memory_get. The description does not mention alternatives, prerequisites, or context where this tool is preferred, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_searchA
Search memory values via local FTS5 (no embeddings).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| scope | No | ||
| project_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the use of local FTS5 and explicitly states 'no embeddings', giving insight into the search behavior. However, with no annotations provided, it lacks an explicit statement about being read-only or non-destructive, though it is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the key information. Every word adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, no output schema, and no parameter descriptions, the description is too brief. It does not cover parameter behavior, return format, or edge cases, leaving significant gaps 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 4 parameters with 0% description coverage, and the tool description does not explain any parameter semantics beyond the overall purpose. The agent must infer the meaning of 'limit', 'scope', and 'project_id' from their names, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search') and resource ('memory values'), and specifies the technology ('local FTS5') while distinguishing from embedding-based search. This differentiates it from sibling tools like memory_get and memory_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for keyword-based search via FTS5 but provides no explicit guidance on when to use this tool versus alternatives (e.g., memory_get for exact key retrieval). The context is implied but not articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_setC
Store or overwrite one memory value in an explicit scope.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| scope | Yes | ||
| value | Yes | JSON-serializable value to store | |
| task_id | No | ||
| project_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully bears the burden of behavioral disclosure. It indicates a mutation (store/overwrite) but lacks details on permissions, rate limits, side effects (e.g., overwriting existing keys), or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence), which is concise but under-informative. It could include more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description is insufficient. It omits important context such as parameter usage, expected behaviors, and return values, making it difficult for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (only 'value' has a description). The tool description does not explain the meaning or constraints of 'key', 'scope', 'task_id', or 'project_id', leaving agents to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('store or overwrite') and resource ('one memory value in an explicit scope'), making it distinct from siblings like memory_list, memory_get, memory_search, and memory_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, context for using memory_set over other memory operations, or when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_taskA
Ask the planner to analyse a coding task, decompose it into subtasks, and assign each subtask a model tier.
Returns an execution plan with:
analysis: the planner's reasoning
subtasks: list with id, description, tier, model, depends_on
waves: groups of subtask IDs that run in parallel
strategy: parallel | sequential | dag
Spawn one agent per subtask. Run waves in order — all subtasks within a wave run in parallel.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Caller working directory for routing guard scoping | |
| task | Yes | Full description of the coding task |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It does mention returning an execution plan and instructs on spawning agents, which imply concurrency and planning side effects. However, it lacks details on authorization, rate limits, or whether the tool modifies any state. Adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (7 lines) and well-structured, with each sentence serving a distinct purpose. It front-loads the core action and then details the return structure. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (returns an execution plan with nested structures and no output schema), the description thoroughly covers the output format (analysis, subtasks, waves, strategy) and usage steps. It is self-contained and clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters (cwd and task) with 100% coverage. The description adds no new parameter-specific semantics beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to analyze a coding task, decompose it into subtasks, and assign model tiers. It distinguishes itself from siblings like 'decompose_task' by also specifying the full execution plan output including waves and strategy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool ('Ask the planner to analyse a coding task') and provides actionable instructions ('Spawn one agent per subtask. Run waves in order'). However, it does not explicitly exclude any scenarios or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_task_packC
Plan a task using a curated task-pack preset.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | ||
| pack | Yes | ||
| task | Yes | ||
| max_agents | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full burden. It only states the verb 'plan' but does not disclose side effects, state changes, authorization needs, or output behavior. The agent cannot infer what happens after calling this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no filler. It is appropriately front-loaded. However, given the parameter count and lack of detail, it may be too terse, but conciseness is about efficiency, not completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters, no output schema, and no annotations, the description is incomplete. It fails to explain what 'curated task-pack preset' means, what the output looks like, or any constraints. This leaves significant gaps for correct tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning for 'pack' and 'task' via the phrase 'task-pack preset', but leaves 'cwd' and 'max_agents' completely unexplained. This is insufficient for a 4-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Plan a task using a curated task-pack preset' clearly indicates the tool's action (planning) and resource (task-pack preset). It distinguishes from sibling 'plan_task' which likely plans without a predefined pack, though the term 'curated task-pack preset' may require domain knowledge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over alternatives. The description does not mention contexts, prerequisites, or comparisons to siblings like 'plan_task' or 'list_task_packs'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_outcomeC
Record an explicit routed-task outcome and persist the latest task snapshot. operator_id must match the authenticated caller when provided; omitted values are stored as anonymous.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| outcome | Yes | ||
| task_id | Yes | ||
| operator_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It mentions persisting a snapshot and the operator_id constraint, but does not explain side effects, idempotency, or what happens to the task after recording. The absence of output schema information further limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of two sentences with no filler. Every word adds value, and the key points are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters (2 required), no output schema, and no annotations, the description is incomplete. It lacks details on return values, error conditions, and the persistence behavior of the snapshot. The operator_id constraint is helpful, but overall the description does not provide sufficient context for an agent to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning for operator_id (must match caller or be anonymous), but task_id, outcome, and note are left undefined. No allowed values for outcome are provided, which is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('record') and the resource ('routed-task outcome' and 'latest task snapshot'), making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like agent_queue_approve or approval_queue_reject, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a constraint on operator_id but provides no guidance on when to use this tool versus alternatives (e.g., agent_queue_* or approval_queue_* tools). No context about prerequisites or typical usage scenarios is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_host_swarm_completeC
Terminal shortcut for host-native runs — equivalent to report_host_wave with terminal=true. Requires outcome.
| Name | Required | Description | Default |
|---|---|---|---|
| wave | Yes | ||
| agents | Yes | ||
| run_id | No | ||
| outcome | Yes | ||
| swarm_id | No | ||
| workspace_root | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that an outcome is required but does not explain side effects, permissions, or how different outcome values affect the tool's behavior. The 'terminal shortcut' term is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but may be overly terse. It front-loads the key equivalence, but could include more critical details without becoming lengthy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, no output schema, and no annotations, the description is severely incomplete. It fails to explain parameters like wave, agents, run_id, swarm_id, workspace_root, or what the tool returns/affects. Much essential context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It only mentions 'outcome' as required, without clarifying the meaning or effect of any parameter, including the enumerated outcome values. This adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states it's a terminal shortcut equivalent to report_host_wave with terminal=true, but fails to clearly define the primary action (completing a swarm?) and leaves terms like 'host-native runs' ambiguous. It distinguishes from a sibling only via parameter equivalence, not by specifying 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The only hint is that it requires outcome, but no mention of when not to use it or which sibling tools are better suited for different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_host_waveA
Report completion of one host-native swarm/plan wave. Call after spawning and finishing each host_spawn_waves wave. Pass workspace_root from the handoff (learning_report_contract) and per-agent output_excerpt for learning quality. Set terminal=true on the last wave with outcome=accepted|revised|reworked|rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| wave | Yes | ||
| agents | Yes | ||
| run_id | No | Alias for swarm_id | |
| outcome | No | ||
| swarm_id | No | Swarm or plan run id (host_run_id from handoff) | |
| terminal | No | ||
| expand_plan | No | When true, expand plan from discovered_files after this wave. | |
| plan_run_id | No | Alias for plan-only runs | |
| workspace_root | No | ||
| discovered_files | No | New file paths to fan out into additional host_spawn_waves. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions reporting completion and setting terminal, but does not disclose whether the tool mutates state, requires permissions, or has side effects. Adequate but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, zero wasted words. Front-loaded with purpose and essential usage instructions. Exemplary conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description covers the main purpose, when to call, and key parameter usage. Slight gap in not mentioning return value or error scenarios, but overall sufficiently complete for a reporting tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (5 of 10 params have descriptions). The description adds meaning to workspace_root and output_excerpt beyond schema, but many params (wave, agents, outcome, terminal) lack additional semantic context. Compensates partially but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'report completion' and resource 'one host-native swarm/plan wave', distinguishing it from sibling 'report_host_swarm_complete' which likely reports entire swarm completion. It also provides specific actions like passing workspace_root and setting terminal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description gives explicit guidance: 'Call after spawning and finishing each host_spawn_waves wave', and instructs to set terminal=true on last wave with outcome enum. While it doesn't explicitly state when not to use, the positive guidance is clear and sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_workflow_resultA
Report the result of a Threnody-emitted Dynamic Workflow run (workflow_emit). Pass the workflow_name from the handoff and the agents[] array the workflow returned (each entry: id/label, tier, model, result{summary,findings,success}). Threnody records per-agent learning telemetry and, once the orchestration shape recurs across successful runs, enqueues it as an approval-gated draft you can approve to save as a permanent /workflow command.
| Name | Required | Description | Default |
|---|---|---|---|
| agents | Yes | ||
| run_id | No | Optional run/plan id for telemetry grouping | |
| consensus | No | Consensus-in-workflow only: the queen verdicts the workflow returned (each {persona, result:{verdict, amendment, next_work, synthesis}}). Threnody tallies quorum; may return consensus_followup for a judge round. | |
| workflow_name | Yes | workflow_name from the handoff | |
| workspace_root | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses key behaviors: records per-agent learning telemetry and enqueues an approval-gated draft. It also explains optional run_id for telemetry grouping. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise given the complexity, front-loading the primary action and then detailing inputs and effects. Every sentence adds value, though it could be slightly tightened without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, some nested objects, and no output schema, the description thoroughly covers input semantics, behavior, and side effects. It addresses required and optional parameters, and explains the approval-gated draft lifecycle. No obvious gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, and the description adds significant meaning beyond the schema. It explains the agents array structure (id/label, tier, model, result fields), details consensus parameter usage, and clarifies workflow_name origin. Workspace_root is not described, but main parameters are well-covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Report the result of a Threnody-emitted Dynamic Workflow run' and specifies the required inputs (workflow_name, agents array). It distinguishes from sibling tools like inspect_status or approval_queue_list by focusing on workflow result reporting and telemetry recording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (after a workflow_emit handoff) and what happens as a result (enqueues approval-gated draft). It mentions optional consensus handling, providing clear context. However, it does not explicitly compare to alternative tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resume_subtaskA
Send SIGCONT to a stopped subtask, resuming its execution. Use after stop_subtask. macOS/Linux only.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | task_id from list_subtasks |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description provides the behavioral trait of sending SIGCONT and platform restriction. It does not disclose what happens if the subtask is not stopped or error handling, but the core behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and resource, no extraneous information. Every sentence is necessary and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the effect, prerequisite, and platform. It lacks details on return values or error conditions, but for a simple resume operation it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description's mention 'task_id from list_subtasks' repeats the schema description. No additional meaning is added beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Send SIGCONT' and the resource 'stopped subtask', clearly indicating the tool's purpose. It distinguishes from sibling stop_subtask by noting it is used after that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use this tool: after stop_subtask. It also specifies platform constraints (macOS/Linux only). However, it does not mention when not to use or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resume_swarm_confirmC
Resume a failed swarm from a chosen coordinator checkpoint using a new swarm_id.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_revision | No | Optional plan revision paired with checkpoint_index | |
| failed_swarm_id | Yes | Original failed swarm_id to resume from | |
| checkpoint_index | Yes | Checkpoint index selected from resume_swarm_inspect |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It merely states 'resume a failed swarm', which is a mutation, but gives no details on side effects (e.g., what happens to the original swarm record), permissions required, idempotency, or error conditions. This is critically insufficient for an agent to use the tool safely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise. However, it lacks front-loaded structure; key behavioral details are omitted. It earns a 4 for brevity but loses a point for not using the available space to add critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (resuming a failed swarm) and the absence of output schema or annotations, the description is incomplete. It does not explain what the tool returns, whether the operation is reversible, or what state the swarm must be in. The agent cannot confidently invoke this tool based solely on the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a description. The tool description adds the context of 'coordinator checkpoint' but no additional semantics for individual parameters beyond what the schema provides. Baseline 3 is appropriate as the description does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool resumes a failed swarm from a coordinator checkpoint. It distinguishes from sibling tools like resume_swarm_inspect (which inspects checkpoints) and resume_subtask (which resumes a subtask). However, the mention of 'using a new swarm_id' is ambiguous since swarm_id is not a parameter; it suggests auto-generation, which is not explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description implies it should be used after inspecting a failed swarm, but does not mention prerequisites (e.g., required state of the failed swarm) or exclude scenarios. Sibling tools like resume_swarm_inspect are not referenced, so the agent has no context for the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resume_swarm_inspectB
List compact coordinator checkpoints available for resuming a failed swarm.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_revision | No | Optional plan revision filter for checkpoint listing | |
| failed_swarm_id | Yes | Swarm ID whose checkpoints should be inspected |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the basic action without disclosing behavioral traits such as read-only nature, required permissions, error handling (e.g., if swarm not found), or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence. It is front-loaded with key information, but could be more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only 2 parameters and no output schema, the description is too brief. It does not explain what a 'checkpoint' is, what the return values look like, or any important context about the listing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds minimal value beyond the schema; it does not elaborate on the 'plan_revision' filter usage. Baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists checkpoints for resuming a failed swarm. It uses a specific verb ('list') and resource ('compact coordinator checkpoints'), and distinguishes from sibling tools like 'resume_swarm_confirm' and 'inspect_swarm'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking available checkpoints before resuming a swarm, but does not explicitly state when to use it vs. alternatives like 'inspect_swarm' or provide any when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_taskA
Quick heuristic classification of a task — no LLM call. Returns model, score, reason, agents. Use for simple tasks or when speed matters more than accuracy.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Caller working directory for routing guard scoping | |
| task | Yes | The task to classify |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states 'no LLM call' and lists return fields, but does not disclose whether the tool is read-only, has side effects, or requires specific permissions. The behavioral profile is partially described but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the core purpose and key differentiator. Every sentence adds value, and there is no redundant or extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 parameters and no output schema, the description covers purpose, usage context, and return content. It is fully sufficient for an agent to understand and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with each parameter having a description. The tool description does not add significant semantic value beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs 'Quick heuristic classification of a task' and specifies it returns 'model, score, reason, agents'. The verb 'classify' and resource 'task' are explicit, and the exclusion of an LLM call distinguishes it from potential sibling tools that might use LLM.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear when-to-use guidance: 'Use for simple tasks or when speed matters more than accuracy'. It implies that alternative tools (like those using LLM) are for complex or accuracy-critical tasks, but does not name specific siblings explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
routing_exception_addA
Add a routing bypass rule so that matching tasks skip validate_routing_guard.
exception_type must be one of: skill, filetype, project, command, caller, path. pattern supports glob wildcards (e.g. 'tgsd-*', '.md', '/home/user/notes').
Examples: routing_exception_add(exception_type='skill', pattern='auto-time') routing_exception_add(exception_type='skill', pattern='tgsd-*') routing_exception_add(exception_type='filetype', pattern='.md') routing_exception_add(exception_type='project', pattern='/home/me/notes') routing_exception_add(exception_type='command', pattern='Write') routing_exception_add(exception_type='caller', pattern='github-copilot') routing_exception_add(exception_type='path', pattern='/tmp/')
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Optional human-readable note / reason for this exception | |
| pattern | Yes | Pattern to match (supports * globs, case-insensitive) | |
| exception_type | Yes | One of: skill, filetype, project, command, caller, path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the tool adds a rule and lists required parameters, but does not disclose potential side effects (e.g., idempotency, limits, or what happens on duplicate patterns). However, for an add tool, the behavioral traits are adequately implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear opening, parameter explanations, and examples. It is moderately sized but every sentence adds value. It could be slightly more concise by removing redundant repetition, but it remains clear and helpful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description does not explain the return value or success/failure indicators. While the context signals indicate no output schema, the description should at least mention that the tool returns a confirmation or error message to be complete for a simple add operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant value by listing allowed exception_type values and explaining pattern with glob examples. This goes beyond the schema's basic descriptions, helping the agent construct correct inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool adds a routing bypass rule so that matching tasks skip validate_routing_guard. It specifies the verb 'add' and the resource 'routing bypass rule', and distinguishes from siblings like routing_exception_remove and routing_exception_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use the tool (to add an exception for validate_routing_guard) and provides context about exception_type and pattern. It could be improved by explicitly stating when not to use this tool versus alternatives (e.g., for removing or listing exceptions).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
routing_exception_listA
List all active routing bypass rules (from the DB; static config.yaml entries are separate).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates read-only listing of active rules but does not elaborate on edge cases (empty list, performance) or effects. Adequate for a simple list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with action and scope. Every word earns its place; zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple (0 parameters, no output schema). Description covers what it does and the data source, fully adequate for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0 parameters with 100% coverage. Description adds no parameter info, which is acceptable as there are none to describe. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List all active routing bypass rules' with specific verb and resource. It distinguishes from static config.yaml entries, and the name itself differentiates from sibling add/remove tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing active DB rules but does not explicitly state when to use this tool over alternatives or when not to use it. No alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
routing_exception_removeA
Remove a routing bypass rule by type and pattern.
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | Exact pattern string to remove | |
| exception_type | Yes | One of: skill, filetype, project, command, caller, path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states 'remove' but does not disclose behavioral traits such as destructiveness, reversibility, permissions needed, or behavior when rule does not exist. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence with no wasted words. However, it is very minimal and could benefit from additional context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 simple params, no output schema), the description is mostly complete. It explains what and how, though it could mention the exact pattern matching requirement. Still adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no extra meaning beyond the schema. The description mentions 'by type and pattern', which matches the parameter names. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Remove a routing bypass rule by type and pattern.' This is a specific verb (remove) operating on a resource (routing bypass rule), with parameters identified. It distinguishes from sibling tools like routing_exception_add and routing_exception_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives. The description implies use for removal, but does not state when not to use or mention alternatives. Usage is implied but not fully clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_taskA
Start a host-native task handoff with modes implement, review, investigate.
implement: use host-native heuristics for simple tasks and return host_spawn_waves for the host to execute; for complex tasks return a planner handoff (no provider subprocesses launched). review: reuse read-only REVIEW fanout and return host_spawn_waves suitable for review (read-only). investigate: profile repository and return a machine-readable ProjectProfile; read-only.
Returns machine-readable next_action, profile, warnings, selected tier/model/provider metadata, and host_native handoff when applicable. Does not launch provider subprocesses.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Caller working directory for routing guard scoping | |
| mode | No | One of implement, review, investigate | |
| task | Yes | Full description of the task | |
| workspace_root | No | Alias for cwd; must be inside the active workspace |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses key behavioral traits: no subprocesses launched, read-only for review/investigate, returns machine-readable next_action, profile, warnings, etc. It explains mode-specific behavior but does not mention potential state changes or side effects for the implement mode.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a lead sentence followed by mode-specific bullets and a summary of return values. It is informative without excessive verbosity, though some terms like 'host_spawn_waves' may require domain knowledge.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with three modes and no output schema, the description covers purpose, mode behavior, return values, and constraints (no subprocesses). It lacks error handling or detailed output format definitions but is sufficient for agent comprehension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions already present. The description adds value by explaining the implication of each mode (the enum parameter) and the return structure, and clarifies that workspace_root is an alias for cwd, going beyond schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Start a host-native task handoff' with three distinct modes (implement, review, investigate), effectively distinguishing it from sibling tools like plan_task or route_task which serve different purposes. Each mode's specific behavior is explicitly described.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance for each mode's intended use (implement for simple/complex tasks, review for read-only, investigate for profiling). It implies when not to use it by stating 'no provider subprocesses launched,' but lacks explicit alternatives or when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_subtaskA
Send SIGSTOP to a running subtask, pausing its execution. Use list_subtasks to find the task_id. Resume with resume_subtask. macOS/Linux only.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | task_id from list_subtasks |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. It discloses the signal mechanism and platform constraint, but lacks detail on permissions, side effects, or state persistence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (two sentences) with no wasted words, though a slightly more structured format could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers action, input source, next steps, and platform constraint. It is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter task_id is described in the schema, and the description adds context on how to obtain it (from list_subtasks), which adds value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (send SIGSTOP/pause) and the resource (running subtask), and distinguishes itself from siblings like resume_subtask.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use list_subtasks to find the task_id, mentions resume_subtask as alternative, and notes platform restriction (macOS/Linux only).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tune_showC
Show persisted operator-facing tuning controls for one project.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| project_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose side effects, permissions, rate limits, or error behavior. As a read operation, it should at least indicate idempotency or safety, but is silent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with verb and resource. No wasted words. However, it could be expanded slightly without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 params and no output schema, the description lacks detail on what the output looks like, what 'tuning controls' entail, or when the tool is applicable. Leaves significant ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must add meaning. It mentions 'for one project' implying project_id, but doesn't explain the 'key' parameter. No added value beyond stating the resource.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('show') and resource ('operator-facing tuning controls') scoped to one project. It distinguishes from sibling tools like inspect_* which are for different purposes. However, 'tuning controls' is vague and could be more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. The description does not mention when to prefer this over other 'show' or 'inspect' tools, nor are there any when-not-to-use notes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_routing_guardA
Validate whether a direct Edit or Write tool call is allowed for the current routed task context. Intended for Claude Code PreToolUse hooks.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Working directory reported by the host hook | |
| skill | No | Optional skill name (e.g. 'auto-time') — matched against routing exceptions | |
| tool_name | No | Host tool name, for example Edit or Write | |
| target_file | No | Absolute path of the file about to be edited or written |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention side effects, permissions, return behavior, or whether the tool mutates state. The agent cannot infer safety or required conditions beyond the stated validation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences efficiently convey purpose and usage context with no redundant information. The description is front-loaded and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains purpose and context but lacks any mention of return values or output. Given there is no output schema, this is a notable gap. For a validation tool, the agent would benefit from knowing the response format (e.g., boolean or error).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to add parameter details. It does not provide any additional meaning beyond the schema, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'validate' and the resource 'routing guard for Edit/Write calls'. It also indicates the context (PreToolUse hooks), differentiating it from sibling tools like route_task or execute_subtask.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states it is intended for PreToolUse hooks, giving clear context for when to use. However, it does not explicitly mention when not to use or provide alternatives, which would strengthen guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflow_blueprint_exportB
Export a successful host-native run receipt into a replayable workflow blueprint.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| run_id | No | ||
| swarm_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It states the input-output transformation but does not disclose behavior on unsuccessful runs, side effects, error cases, or whether it is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence containing all essential information with no wasted words; the key action and objects are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and 0% parameter coverage, the description is insufficiently complete. It explains the high-level transformation but leaves agents to infer how to set parameters, what the output is, and what conditions must be met.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explain any of the three parameters (name, run_id, swarm_id). The overall purpose hints at them but fails to add specific meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'Export' and the resource transformation from 'successful host-native run receipt' to 'replayable workflow blueprint', which distinguishes it from siblings like inspect_run_receipt and workflow_blueprint_run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites mentioned (e.g., run must be successful, host-native), and no mention of required permissions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflow_blueprint_runB
Replay a saved workflow blueprint with optional string replacements; no planner call.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| inputs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions 'replay' but omits what that entails (e.g., state changes, authentication needs, error handling). The behavioral impact is underspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of 10 words, front-loaded with verb and resource. Every word serves a purpose; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description omits behavioral details, parameter explanations, and usage context. It is insufficient for an agent to use the tool safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must add meaning. It hints that 'inputs' are for string replacements, but does not explain the 'name' parameter or the structure of 'inputs'. Partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it replays a saved workflow blueprint with optional string replacements. The phrase 'no planner call' differentiates it from sibling planning tools, making the purpose distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. Only a hint that it avoids planner calls, but no context on prerequisites or when to choose this over other workflow-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
55 tool updates
v0.1.0- First observed
agent_queue_approve - First observed
agent_queue_list - First observed
agent_queue_merge - First observed
agent_queue_reject - First observed
apply_preview - First observed
approval_queue_approve - First observed
approval_queue_list - First observed
approval_queue_merge - First observed
approval_queue_reject - First observed
cache_get - First observed
cache_put - First observed
cache_stats - First observed
check_providers - First observed
decompose_task - First observed
execute_subtask - First observed
execute_swarm - First observed
expand_host_plan - First observed
fleet_plan - First observed
inspect_quality - First observed
inspect_run_receipt - First observed
inspect_spend - First observed
inspect_status - First observed
inspect_swarm - First observed
inspect_task - First observed
inspect_write_audit - First observed
learning_agent_summary - First observed
learning_audit_log - First observed
learning_outcome_stats - First observed
learning_pattern_health - First observed
list_subtasks - First observed
list_task_packs - First observed
memory_delete - First observed
memory_get - First observed
memory_list - First observed
memory_search - First observed
memory_set - First observed
plan_task - First observed
plan_task_pack - First observed
record_outcome - First observed
report_host_swarm_complete - First observed
report_host_wave - First observed
report_workflow_result - First observed
resume_subtask - First observed
resume_swarm_confirm - First observed
resume_swarm_inspect - First observed
route_task - First observed
routing_exception_add - First observed
routing_exception_list - First observed
routing_exception_remove - First observed
start_task - First observed
stop_subtask - First observed
tune_show - First observed
validate_routing_guard - First observed
workflow_blueprint_export - First observed
workflow_blueprint_run
TDQS
Multiple tools are direct aliases (e.g., approval_queue_list vs agent_queue_list), and several planning tools (plan_task, decompose_task, fleet_plan) have overlapping purposes with only subtle differences, creating confusion for agent selection.
Most tools use snake_case but follow inconsistent patterns: some are verb_noun (inspect_status, list_subtasks), others are noun_verb (tune_show, memory_list), and some are noun_noun_verb (routing_exception_add). No single convention dominates.
With 55 tools, the server is overly large. Many tools are redundant (aliases) or highly specific (e.g., resume_swarm_inspect, apply_preview), which could be consolidated. A more focused set would improve usability.
The server covers a wide range of agent management tasks: planning, execution, learning, caching, routing, workflow, and inspection. Minor gaps may exist (e.g., no generic project CRUD), but core operations are well represented.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI routing, memory, guardrails, and governance. Routes across Claude, GPT, Gemini.
AI work orchestration for plans, tasks, teams, and coding-agent dispatch.
Source-checked CLI guides and model-aware planning for Claude Code, Codex, and Grok Build.
The AI orchestration agent for modern software teams.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceOrchestrates multiple AI models (Gemini, OpenAI, Claude, local models) within a single conversation context, enabling collaborative workflows like multi-model code reviews, consensus building, and CLI-to-CLI bridging for specialized tasks.-
- AlicenseCqualityDmaintenanceIntelligent routing layer that analyzes tasks and guides your AI agent to delegate work to specialized tools (Gemini, Aider, Copilot) using rule-based and capability-based routing.3MIT
- AlicenseNot gradedqualityDmaintenanceUnified CLI multiplexer for AI coding agents, enabling orchestration of multiple coding CLI tools through a single interface with session persistence, cost tracking, and MCP tool support.1519MIT
- AlicenseAqualityAmaintenanceEnables one AI coding agent to delegate tasks to, and build consensus across, multiple other coding CLIs (Claude Code, Codex, etc.) by orchestrating them as headless subprocesses.186MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/timjensgrossinger/threnody'
If you have feedback or need assistance with the MCP directory API, please join our Discord server