unlock
HTTP pointer only: POST /api/handoffs/:id/unlock with { payer } and X-AGENT-ID. This MCP door does not charge.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
HTTP pointer only: POST /api/handoffs/:id/unlock with { payer } and X-AGENT-ID. This MCP door does not charge.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It does disclose that the tool is HTTP-only and does not charge, but it omits side effects, idempotence, response behavior, and any explanation of the X-AGENT-ID requirement beyond naming it.
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 and front-loads the concrete HTTP call details. The language is efficient, though 'MCP door' is cryptic and slightly undermines 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?
For a single-parameter tool, the description is somewhat adequate as an HTTP pointer, but it omits the body schema, response format, and business meaning. An agent would still be uncertain about how to construct the request correctly and what outcome to expect.
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 schema contains only an undocumented 'id' parameter, and the description introduces '{ payer }' which is absent from the schema. This gives some hint of an additional payload field but creates contradiction and leaves id format and payer type/requirement unclear.
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 identifies a specific endpoint, 'POST /api/handoffs/:id/unlock', so the resource and action are clear at the HTTP level. However, it does not explain what 'unlock' semantically accomplishes or what a handoff represents, and the phrase 'This MCP door does not charge' adds ambiguity rather than clarity.
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?
There is no guidance on when to use this tool versus the siblings, nor any conditions or exclusions. 'HTTP pointer only' hints at direct HTTP usage but does not tell an agent when to prefer this tool or avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool targets a distinct action or data category: discover searches, preview shows a single teaser, example provides a static sample, file submits a handoff, unlock grants access, and earnings/status cover financial and network info. There is minor overlap between preview and example, but the descriptions clarify their different roles.
All tool names are single lowercase words, but they mix verb forms (discover, file, unlock) with noun forms (earnings, example, status) without a consistent pattern. The names are simple and readable, yet there is no systematic verb_noun convention or clear naming strategy.
Seven tools is well within the ideal range and each tool covers a necessary part of the archive workflow: discover, preview, example, file, unlock, plus status and earnings. There is no bloat or redundancy, and the count matches the server's purpose.
The set covers the main lifecycle: searching, previewing, filing, unlocking, and checking payment/network status. Update and delete operations are absent, which is acceptable for an immutable archive, and the unlock tool handily supplies the access mechanism. A minor gap is the lack of an explicit 'get full handoff' tool beyond the returned HTTP pointer.