Skip to main content
Glama

Report how a door went

report_door
Idempotent

After you used a business's door (its inbox, MCP, A2A or API), record how it went: ok, refused, invalid (your own request's fault), failed, or info (needs a person); up to 100 uses a call. Private to the business: no person and nothing that was said, and nothing public changes by itself. How: https://network.surfingdog.ai/report.md.

Input Schema

NameRequiredDescriptionDefault
vYes
reportsYes

Output Schema

NameRequiredDescriptionDefault
nextYes
ignoredYes
acceptedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / properties / reports / items / properties / at / maximum
      Removed value: -9007199254740991
    • removedInput schema / title
      Removed value: -"MCP report_door: arguments"
    • removedOutput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / description
      Added value: +"Every field is described in this tool's outputSchema at https://network.surfingdog.ai/.well-known/mcp/server-card.json."
    • removedOutput schema / properties / accepted / items / properties / i / maximum
      Removed value: -9007199254740991
    • removedOutput schema / properties / ignored / items / properties / i / maximum
      Removed value: -9007199254740991
    • removedOutput schema / properties / next / description
      Removed value: -"One plain sentence: what the network does with these reports."
    • removedOutput schema / title
      Removed value: -"MCP report_door: structuredContent"
  2. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already give the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=true); the description adds real value beyond them by disclosing the privacy contract ('no person and nothing that was said') and that 'nothing public changes by itself'. It also links an authoritative how-to doc. It stops short of explaining retry/duplicate handling explicitly, which idempotentHint partly covers.

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

Conciseness4/5

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

Three front-loaded sentences: trigger first, then the outcome vocabulary and cap, then the privacy constraint and doc link. Dense but nearly every clause carries information; the run-on semicolon listing of result values is the one spot that costs readability.

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

Completeness5/5

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

An output schema exists, so return values need no prose; what an agent still needs — when to call, valid outcome values, batch limit, privacy restrictions, and a pointer to the full spec for the nested report object — is all present. Adequately complete for a batched write tool.

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

Parameters4/5

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

Schema description coverage is reported as 0% at the top level, so the description has to compensate — it does meaningfully: it defines the result vocabulary with parentheticals ('invalid (your own request's fault)', 'info (needs a person)'), states the 100-item batching cap, and constrains payload content for privacy. It never explains the required 'v' version field, and it says 'failed' where the schema enum value is 'fail', a small mismatch.

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?

Specific verb + resource: 'After you used a business's door ... record how it went', and it enumerates what a 'door' is (inbox, MCP, A2A, API). No sibling tool records post-call outcomes (ask_business, request_booking, room_* are all interaction/registration tools), so the name/description are unambiguous against the sibling list.

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

Usage Guidelines4/5

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

The trigger condition is explicit — call this after using a door — and batching guidance is given ('up to 100 uses a call'). It doesn't state any when-not-to-use case (e.g. don't report doors you merely discovered but never called), which is the only gap.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources