MCP is how the model
talks to the wallet.
Model Context Protocol is the lingua franca between LLM agents and external systems. AgentWallet exposes one MCP endpoint per agent — every spend, refund, mandate and inbox capability surfaces as a typed MCP tool. Drop the URL into Claude Desktop, Cursor or your own runtime and the agent can move money in the next turn.
Tool calls, not webhooks.
Typed tools
Each capability has a JSON-Schema input + output. The model knows exactly what to send and what comes back.
Streaming-safe
Long-running tools (a SEPA payout, a multi-sig approval) stream progress events back to the model.
Vendor-neutral
Anthropic, OpenAI, Cursor, Devin, Replit, LangChain — every modern runtime speaks MCP. One URL, every framework.
An AgentWallet MCP tool, fully typed.
{
"name": "card.charge",
"description": "Authorize a charge on the agent's virtual card.",
"inputSchema": {
"type": "object",
"required": ["amount_minor", "currency", "merchant", "idempotency_key"],
"properties": {
"amount_minor": { "type": "integer", "minimum": 1 },
"currency": { "type": "string", "pattern": "^[A-Z]{3}$" },
"merchant": { "type": "string" },
"merchant_mcc": { "type": "string", "pattern": "^[0-9]{4}$" },
"idempotency_key": { "type": "string" },
"mandate_id": { "type": "string" }
}
},
"outputSchema": {
"type": "object",
"properties": {
"status": { "enum": ["authorized","declined","needs_approval"] },
"trace_id": { "type": "string" },
"ledger_row": { "type": "string" },
"decline_reason": { "type": "string" }
}
}
}From prompt to settlement.
Tool call
Model emits card.charge with idempotency_key + mandate_id.
Policy check
Cap, MCC, geofence, anomaly evaluator runs in <50ms.
Mandate verify
Server verifies the AP2 mandate against the principal's WebAuthn key.
Settle + trace
Charge authorized; ledger row written; trace ID returned to the model.