sebastienrousseau-ap2-iso20022SAFE
Bridge AP2 / x402 agent-payment mandates into wire-valid ISO 20022 pain.001 / pacs.008 records, with guardrails. MCP server.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://glama.ai/mcp/servers/sebastienrousseau/ap2-iso20022)
Bridge [AP2][ap2] (Google's Agent Payments Protocol) and [x402][x402] (Coinbase's HTTP-402) mandates into ISO 20022 `pain.001` / `pacs.008` records — with spending-cap, expiry and authorisation guardrails, and an [MCP][mcp] server. These agentic-payment protocols authorise a payment; this library turns that authorisation into the bank-rail message that actually settles it — the rail the card networks and stablecoins don't cover.
Latest release: v0.0.7: 11 MCP tools over stdio, streamable HTTP or SSE, pure-Python (onlymcp), 100% branch coverage, for Python 3.10+. Output feeds straight into [pain001][pain001-mcp] / [pacs008][pacs008-mcp] to generate wire-valid XML. Part of the ISO 20022 MCP suite.
Why
An agent with a signed AP2 mandate (or an x402 payment authorisation) can prove it's allowed to pay — but nothing in those protocols emits the pain.001 a bank needs to move the money. ap2-iso20022 is that missing hop. And because moving money is consequential, it only transforms and validates — producing the ISO record is deliberately separate from generating and sending it, so the actual payment stays an explicit, guarded step.
Install
pip install ap2-iso20022 # or run the MCP server without installing: uvx --from ap2-iso20022 ap2-iso20022-mcp
MCP client config (e.g. Claude Desktop):
{
"mcpServers": {
"ap2-iso20022": {
"command": "ap2-iso20022-mcp"
}
}
}Transports
One command line, three transports:
ce9086d17656OBSERVED · 2026-10-10Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add ap2-iso20022 -- None ap2-iso20022==0.0.7
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (4 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (7)
base = importlib.import_module(path)
curl -sf -o /dev/null -X POST http://127.0.0.1:8000/mcp \
run: npx -y @modelcontextprotocol/inspector --cli http://127.0.0.1:8000/mcp --transport http --method tools/list
run: npx -y @modelcontextprotocol/inspector --cli http://127.0.0.1:8001/sse --transport sse --method tools/list
| `ap2-iso20022-mcp --transport streamable-http` | Streamable HTTP | `http://127.0.0.1:8000/mcp` | 2026-07-28 (stateless, `server/discover`) and 2025-11-25 (`initialize`, `Mcp-Session-Id`) on the same
| `ap2-iso20022-mcp --transport sse` | HTTP+SSE (2024-11-05) | `http://127.0.0.1:8000/sse` and `/messages/` | for clients that still expect the older transport |
Gates applied: no_behavioural_pass.
ce9086d17656full audit observations/trust-audit/mcp-server/sebastienrousseau__ap2-iso20022.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | ce9086d17656 | SAFE | B | 89 | first audit |
Questions
What is the sebastienrousseau-ap2-iso20022 MCP server?
Bridge AP2 / x402 agent-payment mandates into wire-valid ISO 20022 pain.001 / pacs.008 records, with guardrails. MCP server.
Is sebastienrousseau-ap2-iso20022 safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does sebastienrousseau-ap2-iso20022 need?
No credential environment variables were found in its source, so it appears to need none.
How does sebastienrousseau-ap2-iso20022 run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on PyPI as ap2-iso20022.
How current is this page?
The grade is for one exact copy of the source (ce9086d17656), read on 2026-10-10. The repository is watched and re-audited when it changes.