ap2-iso20022
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| normalize_ap2A | Normalise a Google AP2 (Agent Payments Protocol) mandate payload into a canonical mandate the other tools accept. |
| normalize_x402A | Normalise a Coinbase x402 (HTTP-402) payment requirement/receipt into a canonical mandate the other tools accept. |
| check_mandateA | Guardrail a mandate before it becomes a payment: check required fields, the spending cap (amount <= max_amount), expiry (when 'as_of' is supplied), and whether an authorisation proof is present. Returns ok plus any violations and warnings. Run this before converting. |
| to_pain001A | Convert a canonical mandate into a pain.001 record (customer credit transfer initiation) using the exact field names pain001 expects, so it feeds straight into pain001 generate_message for wire-valid XML. |
| to_pacs008A | Convert a canonical mandate into a pacs.008 record (FI-to-FI credit transfer) using the field names pacs008 expects, for interbank settlement of an agent-authorised payment. |
| get_token_fiat_rateA | Fetch a spot token->fiat exchange rate from the CoinGecko public API, e.g. to price a crypto-denominated (x402) mandate in fiat. Supports USDC, USDT, EURC, ETH and SOL. Requires the optional 'oracle' extra (pip install ap2-iso20022[oracle]). Reaches an external service: the returned rate is a live spot price, not a guarantee, and this tool never moves money. |
| check_agent_spend_limitsA | Guardrail an agent's proposed spend against per-transaction, daily and monthly caps. Stateless: pass the current spent_today/spent_month running totals; nothing is stored. Returns is_allowed, the remaining daily cap and any violations. |
| validate_mandate_expiryA | Check a mandate's expiry by unix-epoch (seconds) comparison. The caller supplies now_timestamp (the server never reads the clock); a mandate is valid while now is before expiration. Returns is_valid. |
| normalize_token_amountA | Normalise raw on-chain base units to a human token amount using the token's decimals (USDC/USDT/EURC=6, SOL=9, ETH=18). Returns amount and decimals. Errors on an unsupported token. |
| verify_x402_signatureA | Verify an x402 EIP-191 personal_sign over the mandate JSON: recover the signer with eth_account and compare (case-insensitively) to the expected address. Returns is_valid and the recovered_address. |
| validate_eip712_permitA | Validate an EIP-2612 permit: owner/spender/value/nonce/deadline must be present and well-formed, and deadline must not be before the caller-supplied now_timestamp. Returns is_valid and any violations. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| audit_agent_spending_mandate | Guidance for auditing an AP2 agent's spending mandate end to end: normalise the payload, guardrail it, then convert it for settlement. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| guardrail_policies | The guardrail policy ids check_mandate can enforce. |
TDQS
Scored across 11 tools
Most tools have clearly distinct targets: normalization (ap2/x402/token_amount), validation (expiry/signature/eip712), conversion (pain001/pacs008), and rate/limit checks. The main overlap is check_mandate, which is a composite guardrail covering required fields, spend cap, expiry and authorization proof—partly duplicating validate_mandate_expiry and check_agent_spend_limits, though the descriptions clarify it is the umbrella 'run this before converting' tool.
All names are snake_case and mostly follow verb_noun (get_/check_/validate_/verify_/normalize_). The two converters use a different to_<format> pattern (to_pain001, to_pacs008) with embedded domain codes, a minor deviation but still readable and predictable.
11 tools is well-scoped for an agent-payments/ISO 20022 pipeline; each tool covers a distinct stage (rate lookup, normalization, validation, conversion) and none feels redundant or gratuitous.
The surface covers the full normalize -> validate -> convert pipeline with both pain.001 and pacs.008 outputs plus input normalizers for AP2 and x402. Minor gaps exist around the ISO 20022 lifecycle (no pacs.002 status or camt statement handling, no parsing of an existing ISO message), but core workflows are covered.