Agent Receipts
Server Details
Issue & verify signed (ed25519), hash-chained, timestamped provenance receipts for agent actions.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: one creates receipts, one lists the receipt chain, and one verifies a receipt's integrity. There is no meaningful overlap or ambiguity between issuing, listing, and verifying.
All tools follow a consistent verb_noun pattern: issue_receipt, list_receipts, verify_receipt. The only variation is pluralization, which correctly reflects the tool's return type.
Three tools is a well-scoped size for this domain. Each tool earns its place and the set covers the full user journey: create, audit, and validate receipts.
The tool surface is complete for the stated purpose of receipt provenance. Issue, list, and verify cover the full lifecycle, and there are no obvious missing operations such as delete or update, which would be inappropriate for an immutable audit trail.
Available Tools
3 toolsissue_receiptAInspect
Mint a verifiable provenance receipt for an autonomous-agent action. Returns a signed (ed25519), content-hashed (SHA-256), server-timestamped receipt that is hash-chained to this agent's prior receipts (tamper-evident audit trail). Pass the raw inputs/outputs (we hash them — raw data is never stored) OR pre-computed sha256 hashes. Use for compliance, audit trails, and dispute resolution of agentic actions. PAID: $0.01 USDC/call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | What the agent did, e.g. 'sent_payment' or 'approved_refund' or 'tool_call:search'. | |
| inputs | No | Raw inputs to the action (any JSON). Hashed to a commitment; raw data not stored. | |
| outputs | No | Raw outputs/result of the action (any JSON). Hashed to a commitment; raw data not stored. | |
| agent_id | No | Stable identifier for the acting agent (chains group by this). | |
| metadata | No | Optional small key/value context (model, version, request id, etc.). | |
| inputs_hash | No | Alternatively, a pre-computed sha256 hex (or 'sha256:<hex>') of inputs. | |
| outputs_hash | No | Alternatively, a pre-computed sha256 hex (or 'sha256:<hex>') of outputs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It transparently explains that inputs are hashed and not stored, the receipt is signed, content-hashed, timestamped, and hash-chained. This covers key behaviors, though auth requirements or error conditions are omitted.
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 concise (4 sentences), front-loaded with the purpose, and every sentence adds meaningful information without redundancy.
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?
Given 7 parameters, no output schema, and no annotations, the description provides a thorough overview including the return format, hash-chaining, and privacy. Minor gaps exist, such as no mention of error handling or rate limits.
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 coverage is 100% (baseline 3). The description adds value by clarifying that inputs/outputs are hashed and not stored, and that inputs_hash/outputs_hash are alternatives for pre-computed hashes. This exceeds the schema alone.
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 clearly states 'Mint a verifiable provenance receipt' as a specific verb-resource combination. It distinguishes from siblings list_receipts and verify_receipt by focusing on creation.
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?
It states 'Use for compliance, audit trails, and dispute resolution' and mentions the $0.01/call cost. However, it does not explicitly say when not to use this tool vs alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_receiptsAInspect
List the receipt hash-chain for an agent_id, newest first (id, action, timestamp, sequence, hashes, verifyUrl). Use to audit everything a given agent has attested. FREE.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max receipts (default 25, max 100). | |
| agent_id | Yes | The agent whose receipts to list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the tool lists receipts and the fields returned, but it does not explicitly state that it is read-only, nor does it mention any rate limits or pagination behavior beyond the limit parameter. For a simple list tool, this is adequate but leaves room for improvement.
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 two short sentences, front-loaded with the core purpose and result structure. Every word is useful, and the term 'FREE' is minor but harmless. No wasted content.
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?
Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description covers purpose, usage, and result fields. It does not discuss edge cases like empty results or limit behavior beyond schema, but for a standard list tool it is sufficiently complete.
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 input schema has 100% coverage on parameter descriptions, so baseline is 3. The description adds value by listing the expected result fields (id, action, timestamp, sequence, hashes, verifyUrl) and indicating the order, which is not in the schema. This helps the agent understand what data will be returned.
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 clearly states the tool lists receipt hash-chains for an agent, specifying the fields returned and the order (newest first). It also provides a usage context ('audit everything a given agent has attested'), making the purpose unambiguous.
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 description explicitly states when to use the tool ('Use to audit everything a given agent has attested'), which provides clear context. However, it does not explicitly mention when not to use it or direct alternatives, though the sibling tools (issue_receipt, verify_receipt) are distinct enough that it's not a major gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_receiptAInspect
Verify a receipt by id (or by passing the full receipt object). Recomputes the content hash, confirms the id commits to the body, and checks the ed25519 signature. Returns the verification checks plus the provenance record (action, agent, input/output hashes, timestamp, chain position). FREE.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Receipt id, e.g. 'rcpt_...'. | |
| receipt | No | Alternatively, the full receipt object to verify offline-style. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses the verification process: recomputing hash, confirming id commitment, checking ed25519 signature, and returning checks plus provenance. It is transparent about being a read-like operation (no mention of side effects).
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 concise (three sentences) and front-loaded with the core action. Every sentence adds essential detail without redundancy.
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?
Given no output schema, the description adequately explains return value (verification checks plus provenance record). Parameter documentation is sufficient. Sibling tools are not differentiated in the description, but purpose clarity compensates. Overall, it covers the necessary context for a simple tool.
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 coverage is 100% with descriptions for both parameters. The description adds value by clarifying the alternative usage ('offline-style') and the relationship between 'id' and 'receipt' parameters. This aids correct parameter selection.
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 clearly states the action (verify), resource (receipt), and two invocation modes (by id or full object). It also lists specific verification steps (hash, id commit, signature). This differentiates it from sibling tools issue_receipt and list_receipts.
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 description implies usage for verifying receipts but does not explicitly state when to use this tool over alternatives or when not to use it. It provides basic guidance on parameters but lacks context about prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
issue_receipt - First observed
list_receipts - First observed
verify_receipt
Related MCP Connectors
Post-quantum, tamper-evident receipts for agent actions. Ed25519 + ML-DSA-65, offline verify.
Tamper-evident proof creation and verification for AI agents via MCP, A2A, and REST.
Issue signed receipts for AI agent actions; verify any receipt offline - free, no account.
Cryptographically anchored evidence for agents: verified run receipts, proof-gated settlement.
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides tools to issue, verify, and export cryptographically signed receipts for AI agent actions, enabling tamper-proof audit trails for compliance with regulations like the EU AI Act.439 npm1MIT
- AlicenseNot gradedqualityBmaintenanceIssue and verify signed receipts for agent actions, enabling durable, independently checkable proof of policy decisions. Supports offline verification via get_keyset and verify_receipt tools without an account.0Inno Setup
- AlicenseAqualityBmaintenanceProvides cryptographic truth infrastructure for AI agents, enabling them to seal content with SHA-256 and Ed25519, verify receipts, anchor them to Bitcoin via OpenTimestamps, generate citations, and audit chains of receipts.529 npm1MIT
- AlicenseNot gradedqualityAmaintenanceEnables agents and applications to record, query, verify, and receive hash-chained event provenance over stdio, supporting self-metering and independent audit of autonomous system activity.6MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.