MCP server for PACT Protocol — trustless escrow and payment channels for AI agents on Arbitrum
Server has 5 tools with complete input schemas and descriptions. Naming follows verb_noun convention (pact_get_*, pact_build_*). Descriptions are present (avg 150 chars) and explain WHAT the tool does. However, descriptions lack WHEN to use guidance, dependency hints, and recovery paths. Parameter descriptions are minimal (avg 40 chars) and lack format/constraint details. Output schemas are not documented, LLMs cannot plan downstream calls. No error handling guidance visible. Risk annotations (READ_ONLY, WRITE) are present but not mapped to tool annotations in the MCP schema.
Build an unsigned ERC-20 approve transaction to allow PactEscrow or PactPaymentChannel to spend PACT tokens. Must be submitted before creating an escrow or opening/funding a channel.
Build an unsigned transaction to create a PACT escrow agreement. Requires a prior approve transaction for the escrow contract. Returns transaction calldata to submit on Arbitrum.
Get the PACT token balance of any address on Arbitrum.
Read a PACT payment channel from Arbitrum. Returns both agents, balances, nonce, and channel state.
Read a PACT escrow agreement from Arbitrum. Returns creator, recipient, amount, status, deadline, and work submission details.
Output schemas not documented. LLMs cannot infer what fields pact_get_escrow returns (creator, recipient, amount, status, deadline, work submission details are mentioned in description but not in a structured schema). This forces agents to guess field names for downstream calls.
Parameter descriptions lack format/constraint details. 'amount' is described as 'PACT tokens to lock in escrow, e.g. "500"', the example value invites literal reuse. Should specify: 'Human-readable decimal string (e.g. "100.5"), no scientific notation, max 18 decimals.'
No error handling guidance. If pact_get_escrow is called with an invalid pactId, what error is returned? Can the agent retry? Should it search for valid IDs first? No recovery path documented.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) not present in MCP schema. Risk field in metadata (READ_ONLY, WRITE) is informal and not machine-parseable by MCP clients.
Descriptions lack dependency hints. pact_build_approve_token must be called before pact_build_create_escrow, but this prerequisite is not stated in either tool's description. Agents may attempt out-of-order calls.