Skip to main content
Glama

DPX — Institutional Cross-Border Settlement

receipt.create

Record a tamper-evident signed receipt for an agent financial action. Call immediately after every successful settlement. Returns a receipt ID and HMAC-SHA256 signature over the canonical receipt JSON — cryptographic proof the record has not been altered. Receipts are queryable by session or agent for audit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sandboxNoTrue if this was a sandbox settlement
tx_hashNoOn-chain transaction hash (if live)
agent_idYesAgent that executed the payment
policy_idNoPolicy ID that governed this payment
recipientNoRecipient wallet address
amount_usdYesAmount paid in USD
session_idNoTask or session ID for grouping (use the same ID for all payments in one agent run)
to_currencyNoDestination currency (default: USD)
counterpartyNoCounterparty name
task_contextNoPlain-text description of what task triggered this payment
delegation_idNoDelegation ID if acting under delegated authority
from_currencyNoSource currency (default: USD)
oracle_statusNoOracle status at time of payment (STABLE / CAUTION / UNSTABLE)
settlement_idNoSettlement ID returned by the settle tool
compliance_decisionNoCompliance decision at time of payment (PROCEED / HOLD / BLOCKED)

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey that this is a write operation (readOnlyHint=false), but the description adds valuable behavioral details: the receipt is 'tamper-evident,' returns an HMAC-SHA256 signature over canonical JSON, and is 'queryable by session or agent for audit.' This provides context about return format and persistence beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the main purpose, then usage timing, then return value and auditability. Every sentence carries necessary information with zero waste. The structure is ideal for quick agent parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 15 params and no output schema, the description covers key contextual needs: when to call it, what it returns (receipt ID + HMAC), and why it matters (proof of integrity, auditability). It does not detail error cases or prerequisites, but the schema and annotations cover parameter requirements. This is reasonably complete for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already fully documents all 15 parameters. The description does not add meaning to individual parameters; it only references 'canonical receipt JSON' globally. Per the baseline rule, a score of 3 is appropriate since no additional param-level insight is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Record a tamper-evident signed receipt for an agent financial action.' It further distinguishes itself from sibling settlement tools by instructing to call it 'immediately after every successful settlement,' framing it as the post-settlement audit step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage context is provided: 'Call immediately after every successful settlement.' This tells the agent when to use the tool, though it does not explicitly mention when not to use it or name alternative tools. The auditability note implies suitability for record-keeping but lacks direct exclusions, so a slight deduction applies.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation2/5

Many tools have overlapping purposes, such as multiple stablecoin routing options (route vs stability.stablecoin_route), several compliance pre-checks (flow_check, policy.check, mercury.ach_authorize), and numerous FX/stability tools (oracle.stability, stability.corridor, market.fx, fx.rate). Even with detailed descriptions, the boundaries are subtle and an agent could easily select the wrong tool.

Naming Consistency3/5

The dot-separated namespace convention is mostly consistent and readable, but verb vs noun usage varies (e.g., settlement.execute vs batch_settle vs route). Subscription tools also mix forms (intelligence.subscribe vs intelligence.subscription.get/delete), showing minor inconsistency.

Tool Count1/5

81 tools is an extreme count for a settlement server. Even accounting for the broad 'institutional' scope, the volume overwhelms the core purpose and creates a heavy cognitive load for agents, far beyond the typical 3-15 well-scoped tool set.

Completeness3/5

The core settlement lifecycle is well-covered (quote, execute, track, receipt, batch), but there are notable gaps such as missing policy update/delete and no receipt retrieval (only create). While many tangential domains are over-covered, certain CRUD operations are absent, creating dead ends.