Skip to main content
Glama

ToolRouter

Report a Bug

feedback_debug

Report a ToolRouter platform bug that blocks you from completing the user's task. Use this when you suspect the issue is on our side — a tool crashed, returned malformed data, timed out unexpectedly, or behaved inconsistently. Include the relevant ToolRouter errors, call IDs, non-sensitive input shape, retries, and expected behavior. Do not include chat history, unrelated conversation text, uploaded file contents, personal data, API keys, or secrets. Reports are stored and reviewed within hours. Skip this for expected errors like invalid input, missing credentials, insufficient balance, rate limits, or genuine "not found" results — those aren't bugs. Limit: 5 reports per hour.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolNoTool name that failed (e.g. "web-search").
skillNoSkill name that failed (e.g. "search").
job_idNoJob ID for async jobs that failed, if applicable.
call_idsNoALL call IDs from this interaction (successful and failed), one per line or comma-separated.
severityYes"blocking" = cannot complete task. "degraded" = partial results or workaround exists.
agent_contextNoMCP client name and version, if known.
input_summaryNoSummary of what you sent to the failing tool (do NOT include API keys or secrets — describe the shape and intent).
error_messagesYesALL error messages received during this interaction — not just the last one. Include the full text of every error response from ToolRouter, separated by newlines.
interaction_logNoChronological log limited to the relevant ToolRouter calls: tool/skill names, non-sensitive input shape, response status, errors, retries, and job polling. Do not include chat history, unrelated conversation text, uploaded file contents, personal data, API keys, or secrets.
expected_behaviorNoWhat you expected to happen vs what actually happened.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only signal the generic hints (readOnly=false, destructive=false, etc.), so the description carries most of the burden. It goes far beyond the annotations by disclosing report storage and review cadence ('Reports are stored and reviewed within hours'), the 5-per-hour rate limit, and explicit data-safety constraints (do not include chat history, personal data, API keys, secrets). It also clarifies that the tool is for bugs only, not expected errors. The only minor gap is not describing whether the report triggers a confirmation or response, but that's a small omission given the otherwise strong disclosure.

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

Conciseness5/5

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

The description is tightly packed and front-loaded: it starts with the core purpose, immediately gives the decision rule, lists required content, lists forbidden content, states the SLA, lists exclusions, and ends with the rate limit. Every sentence earns its place. While it is longer than typical descriptions, it needs the length because it is a safety-sensitive reporting tool with explicit do/don't guidance; nothing is redundant.

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

Completeness4/5

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

Given the tool's complexity — 10 parameters, two required, a safety-sensitive reporting scope, and no output schema — the description covers the essential decision boundaries, content rules, and limits. It tells the agent exactly what to include and what to exclude, which is the core risk area for this tool. A small completeness gap is that the description doesn't explicitly mention the 10 parameters by name, but the schema covers that entirely, so the description's role is to clarify when and how to use those parameters, which it does.

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

Parameters3/5

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 schema already documents every parameter in detail. The description adds some context about what 'relevant ToolRouter errors' means and what to omit, but it doesn't add significant semantic meaning beyond the schema. The connection between the description and the parameters is implicit: the description mentions call IDs, input shape, retries, expected behavior, and those parameters all exist in the schema, but the description doesn't elaborate on their format or usage beyond the schema already does.

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

Purpose5/5

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

The description uses a specific verb and resource — 'Report a ToolRouter platform bug' — and explains the exact condition: when the issue is on our side and a tool crashed, returned malformed data, timed out, or behaved inconsistently. This clearly distinguishes it from regular task execution and from other feedback tools like feedback_request_tool or feedback_review. The statement 'Skip this for expected errors...' further disambiguates it from tools that handle normal errors.

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

Usage Guidelines5/5

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

The description explicitly tells when to use this tool ('Use this when you suspect the issue is on our side') and when NOT to use it ('Skip this for expected errors like invalid input, missing credentials, insufficient balance, rate limits, or genuine "not found" results — those aren't bugs'). It also names the context — blockage from completing the user's task — leaving no ambiguity about its intended trigger conditions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.4/5.0
Disambiguation4/5

Tools are grouped by clear resource prefixes (account_, brain_, connector_, credential_, file_, job_, key_), and most actions have distinct purposes. A few boundaries overlap—brain_admin's lint action duplicates brain_lint, and account_preferences/setup/switch could momentarily confuse—but the descriptions resolve most ambiguity.

Naming Consistency3/5

The dominant pattern is resource_verb for actions (file_read, job_cancel, key_create) and resource_noun for state views (credits_balance, brain_settings, account_preferences), which is readable. However, exceptions like discover, use_tool, top_up_credits, and feedback_request_tool break the pattern, and the set is not consistently verb_noun.

Tool Count2/5

47 tools is well beyond the comfortable range; even though prefixes organize them, the agent faces a large selection surface with many narrowly scoped tools. A more consolidated set with action-based subcommands would be easier to navigate.

Completeness4/5

Core workflows are covered end-to-end: account setup and billing, connector and credential management, file CRUD, job polling, key lifecycle, brain knowledge management, and catalogue discovery/execution. Gaps are minor—outfit/persona/product/scene are list-only, connectors lack an update operation, and there is no explicit single-page brain get—but agents can generally work around them.