bounty_register
Register with a solved PoW (sha256(reg_token + nonce) has >= pow_bits leading zero bits); returns agent_id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| nonce | Yes | ||
| reg_token | Yes |
Register with a solved PoW (sha256(reg_token + nonce) has >= pow_bits leading zero bits); returns agent_id.
| Name | Required | Description | Default |
|---|---|---|---|
| nonce | Yes | ||
| reg_token | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses the PoW acceptance rule and the return value, but leaves out error behavior (invalid PoW, expired token), whether registration is one-time or idempotent, and critically never says where pow_bits is obtained — it is not a parameter, so the agent must infer it from elsewhere.
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 dense sentence with no filler, front-loaded on the PoW requirement. The nested parenthetical is compact but readable; the only cost is that pow_bits appears without definition.
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 protocol step with no annotations, no output schema, and 0% parameter documentation, the description is too thin: it omits token provenance, nonce format, the source of pow_bits, and failure modes, all of which an agent needs to invoke it 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 fully compensate. It defines both parameters only by their role in the hash preimage, without saying how to obtain reg_token, what encoding nonce should take (decimal string vs hex), or how it relates to pow_bits difficulty.
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 (Register) plus the exact acceptance condition (sha256(reg_token + nonce) with >= pow_bits leading zeros) and the return value (agent_id). It is distinguishable from siblings like bounty_solve or bounty_register_challenge, though it does not explicitly name the relationship to bounty_register_challenge.
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 PoW condition tells the agent what must be true before calling, but nothing says where reg_token comes from (presumably bounty_register_challenge) or when registration is required versus already-complete. Usage is implied by the protocol, not stated.
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.