prove_agent_key_control
Submit detached local proofs and atomically consume an Agent ID challenge. No private key is accepted.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| proof | Yes | ||
| challenge_id | Yes |
Submit detached local proofs and atomically consume an Agent ID challenge. No private key is accepted.
| Name | Required | Description | Default |
|---|---|---|---|
| proof | Yes | ||
| challenge_id | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'atomically consume' a challenge, which indicates a mutating, state-changing operation. This directly contradicts the annotation readOnlyHint=true. While it does add useful contextual details (detached proofs, no private key), the contradiction invalidates the transparency benefit and warrants a score of 1.
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 sentences, front-loaded with the main verb and resource, and every word contributes. 'Submit detached local proofs and atomically consume an Agent ID challenge' is compact and informative, and the second sentence adds a crucial security constraint without 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?
The tool is complex: a nested proof object, multiple optional signatures, and a challenge ID, with no output schema and no schema descriptions. The description omits how the challenge is consumed (what the response is), what each signature is for, and what error or idempotency behavior to expect. It is not complete enough for an agent to call 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 needs to compensate by explaining the parameters. It conveys the general idea of 'detached proofs' and a challenge, but gives no meaning to the nested fields idempotency_key, context, or the various signature fields. The complex proof object remains largely undocumented.
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 states a specific action and resource: 'Submit detached local proofs and atomically consume an Agent ID challenge.' This clearly differentiates it from siblings like create_agent_identity_challenge (which creates challenges) and verify_agent_signature (which verifies signatures). The phrase 'No private key is accepted' further defines the tool's scope.
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?
No explicit when-to-use or alternative guidance is given. The phrase 'consume an Agent ID challenge' implied the tool is meant to be called after a challenge exists (likely from create_agent_identity_challenge), but this is left to inference. No exclusions or sibling comparisons are provided.
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.