Payment Receipt Reconciler
payment_receipt_reconcilerCompare canonical and common x402 payment/receipt aliases, settlement state and coverage; 0.003 USDC.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| payment | Yes | ||
| receipt | Yes |
payment_receipt_reconcilerCompare canonical and common x402 payment/receipt aliases, settlement state and coverage; 0.003 USDC.
| Name | Required | Description | Default |
|---|---|---|---|
| payment | Yes | ||
| receipt | Yes |
Changes observed during successful MCP inspections.
Input schema / examplesAdded value: +[
+ {
+ "payment": {
+ "amount": "3000",
+ "asset": "USDC",
+ "network": "base",
+ "recipient": "seller",
+ "transaction": "tx1"
+ },
+ "receipt": {
+ "amount": "3000",
+ "asset": "USDC",
+ "network": "base",
+ "recipient": "seller",
+ "transaction": "tx1"
+ }
+ }
+]Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful behavioral fact, the 0.003 USDC cost, but omits what a mismatch produces, whether it settles or merely inspects, and any auth/network prerequisites.
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 front-loaded sentence covering action, scope, and price with no padding. It is arguably too terse for a two-nested-object tool, but nothing in it is wasted.
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 no output schema, the description must at least imply the result shape; 'settlement state and coverage' gestures at the compared dimensions but never says whether the return is a boolean, a diff, or a coverage report. For a nested-object comparison tool with zero schema coverage, that leaves an agent guessing about the response.
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% and both parameters are undescribed nested objects, so the description carries real burden. It partially compensates by naming the two sides (payment and receipt) and flagging that canonical and common alias forms are both accepted, but it gives no field-level guidance beyond the schema's example.
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 ('Compare') and resource ('x402 payment/receipt aliases, settlement state and coverage'), which is enough to separate it from generic siblings like payment_diagnose or payment_preflight. It stops short of naming which sibling to use instead, and the 'aliases' phrasing is jargon that assumes x402 fluency.
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 when-to-use condition, no exclusions, and no routing to alternatives (e.g. duplicate_charge_detector or payment_diagnose) despite a crowded sibling set. The only contextual cue is the '0.003 USDC' price, which signals a paid call but says nothing about when it is warranted.
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.