Leave a Public Trace
leave_tracePublish one short trace. Requires explicit confirm=true and must never contain private information.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| color | Yes | ||
| symbol | Yes | ||
| confirm | Yes | ||
| message | Yes |
leave_tracePublish one short trace. Requires explicit confirm=true and must never contain private information.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| color | Yes | ||
| symbol | Yes | ||
| confirm | Yes | ||
| message | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write/safety profile (readOnlyHint=false, openWorldHint=true, non-idempotent, non-destructive). The description adds a real content constraint not present in structured data: it must never contain private information, plus the single-item scope ('one short trace'). The confirm=true note is largely redundant with the schema's const:true.
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 tight sentences, purpose front-loaded, no filler. It is appropriately lean, though for a tool with a 5-parameter contract it skimps on substance rather than padding.
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 5 required params, 0% schema description coverage, three undocumented enums, and no output schema, the description leaves the agent guessing about the meaning and effect of kind/color/symbol. The privacy rule is covered, but the call contract is not sufficiently explained for this 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?
Schema description coverage is 0% across 5 required parameters, and the description compensates for almost none of it. It only echoes the confirm constraint that the schema already enforces (const true) and says nothing about what kind, color, symbol, or message semantics mean or how to choose their enum 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?
States a specific verb and scope ('Publish one short trace'), so the agent knows this creates a single public artifact. However, it never defines what a 'trace' is or references the wall/sibling context, so the resource remains jargon-y. The sibling verbs (describe_wall, receive_bottle) are distinct enough that mis-selection risk is low, but no explicit differentiation is offered.
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?
Gives one hard precondition ('Requires explicit confirm=true'), which is useful gating context, but offers no when-to-use vs when-not guidance and no alternatives. Usage is only implied by the verb 'publish'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.