Iso20022
БесплатноНе проверенUnified gateway for ISO 20022 message families, providing meta-tools to search, describe, validate, generate, and parse financial messages.
Описание
Unified gateway for ISO 20022 message families, providing meta-tools to search, describe, validate, generate, and parse financial messages.
README
One Model Context Protocol server, one small set of meta-tools —
search, list_families, describe, validate, generate, parse — that
route across every ISO 20022 message family (pain · pacs · camt ·
acmt). Install one thing, discover the whole suite: an agent sees a handful
of verbs instead of the 60+ tools spread across five individual servers.
Latest release: v0.0.11 — 7 routing meta-tools over stdio, streamable HTTP or SSE, light core (only
mcp), backing family servers as optional extras, actionable structured errors on everyvalidate/generatefailure, for Python 3.10+. The front door to the ISO 20022 MCP Suite.
Why a gateway
The suite has a dedicated, best-in-class server per message family. That depth
is the point — but an agent shouldn't have to know which of five servers and
which of sixty tools it needs before it can act. iso20022-mcp is the thin
routing layer on top: ask it in plain terms ("I need to reconcile a
statement", "generate a credit transfer"), and it points you at — or executes
against — the right family. Small tool surface, whole-suite reach.
The ISO 20022 MCP Suite
iso20022-mcp is the generic message toolkit of eight coordinated,
vendor-neutral MCP servers that together cover the ISO 20022 bank-statement
workflow and the November 2026 structured-address cutover, plus a high-level orchestration layer — readiness scoring, clearing-profile linting, and audit evidence — statement depth,
whole-catalogue routing, reconciliation, multi-format ingestion, and address
remediation. Dependency ranges are kept aligned across the suite,
so the servers co-install cleanly in a single Python environment: start with
one, add the rest as your workflow grows.
| Server | Scope | Surface | Install | Use it when |
|---|---|---|---|---|
| camt053-mcp | ISO 20022 camt.053/camt.052 bank statements: parse, validate, filter, reverse; MT940/MT942 migration; CBPR+ readiness; journal export |
24 MCP tools · 4 prompts · 3 resources | pip install camt053-mcp |
You work with bank-to-customer statements end to end — the suite's flagship |
| iso20022-mcp | Unified gateway: search / describe / validate / generate / parse meta-tools routed across the pain · pacs · camt · acmt families |
7 meta-tools | pip install "iso20022-mcp[all]" |
You want one entry point to every message family — this package |
| reconcile-mcp | Matches expected pain.001 payments against observed camt.053 entries — exact, partial, one-to-many, many-to-one, every match scored and explained |
7 MCP tools | pip install reconcile-mcp |
You need explainable statement/payment reconciliation |
| bankstatementparser-mcp | Multi-format statement ingestion: ISO 20022 CAMT.053 and pain.001, SWIFT MT940, OFX/QFX, CSV | 5 MCP tools · 1 prompt · 1 resource | pip install bankstatementparser-mcp |
Your statements arrive in mixed or legacy formats |
| structured-address-fix-mcp | ISO 20022 postal-address classification, assessment & remediation for the November 2026 structured-address cutover (pacs.008 / pain.001 debtor & creditor addresses) |
9 MCP tools | pip install structured-address-fix-mcp |
You need debtor/creditor addresses cliff-ready ahead of 14 Nov 2026 |
| iso20022-readiness-suite-mcp | Orchestration gateway: detect → structurally validate → clearing-profile lint → readiness score, plus automated remediation and pacs.002 bank-response simulation — a meta-client over the foundational servers |
4 MCP tools | pip install iso20022-readiness-suite-mcp |
You want one high-level readiness / orchestration entry point over the suite |
| iso20022-bank-profile-mcp | Manages, validates and serves bank-specific clearing profiles / rule packs (CBPR+, SEPA_Instant, FedNow, Generic); premium rule-pack entitlement gating | 4 MCP tools | pip install iso20022-bank-profile-mcp |
You lint payments against your own institution's market practice |
| iso20022-evidence-pack-mcp | Compiles readiness findings, remediation diffs and simulated responses into a sealed, Ed25519-signable audit evidence pack | 6 MCP tools | pip install iso20022-evidence-pack-mcp |
You need tamper-evident audit / certification artifacts |
In one line each: camt053-mcp is the bank-statement flagship (deepest
camt.05x surface, stdio + authenticated streamable HTTP);
iso20022-mcp is the generic message toolkit (a handful of verbs over
the whole catalogue); reconcile-mcp is the reconciliation workflow
(did the money we expected actually arrive?);
bankstatementparser-mcp is the ingestion layer (many formats in, one
transaction shape out); and structured-address-fix-mcp is the
postal-address specialist (debtor/creditor addresses cliff-ready for the
Nov 2026 cutover).
The gateway also routes to the per-family servers — pain001-mcp, pacs008-mcp, acmt001-mcp, and camt-exceptions — installed as extras (see Routing).
Install
The core is light. Add the families you need as extras (or [all]):
pip install "iso20022-mcp[all]" # every family
pip install "iso20022-mcp[pacs,camt]" # just interbank + statements
pip install iso20022-mcp # core only; families report as not installed
# or run without installing:
uvx --from "iso20022-mcp[all]" iso20022-mcp
MCP client config (e.g. Claude Desktop):
{
"mcpServers": {
"iso20022": {
"command": "iso20022-mcp"
}
}
}
Transports
One command line, three transports:
| Command | Transport | Endpoint | Protocol revisions |
|---|---|---|---|
iso20022-mcp |
stdio | the client spawns the process | 2026-07-28, 2025-11-25 |
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 endpoint; responses stream as server-sent events, GET opens the server-to-client stream |
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 |
--host and --port change the bind address (defaults 127.0.0.1 and
8000). The HTTP transports carry no authentication of their own: bind
loopback, or put the server behind a gateway you trust before binding a
routable address. Every release is verified over streamable HTTP with
scout in both protocol
eras and over SSE with the MCP SDK client; see
ADR 0001.
{
"mcpServers": {
"iso20022": { "url": "http://127.0.0.1:8000/mcp" }
}
}
Tools
The 7 routing meta-tools:
search— Find message types by use-case / keyword ("reconciliation", "pacs.008"). (families: all — catalogue)list_families— List families, their capabilities, and which backing packages are installed. (families: all)list_servers— Full suite map: families + E&I messages + specialized servers (reconcile, agent-payment bridge). (families: all)describe— Required fields + input JSON Schema for a message type. (families: all)validate— Validate records against a message type's schema. (families: all)generate— Generate a validated ISO 20022 XML message from records. (families: pain · pacs · acmt)parse— Parse an inbound ISO 20022 XML message into structured data. (families: pacs · camt)
Operations are capability-aware: generate on a camt.053 statement (an
inbound format) returns a clear, explanatory error rather than failing
obscurely, and every "package not installed" case tells you exactly what to
pip install.
Three ergonomics guarantees hold across the routed families:
- Actionable structured errors. Any error a backing server raises —
not just the ones it returns — reaches the agent as an
{"error": "<Type>: <message>"}payload instead of an opaque tool-execution failure. Forpaingeneration the error lists every missing or invalid field at once, so one fix-and-retry suffices. - Family aliases for
message_type. Bare family names resolve to a concrete version via the backing server:pain.001→pain.001.001.09,pain.008→pain.008.001.02. Fully-versioned types are still preferred where you know them. - Per-family parse coverage, stated up front.
parsecovers the inbound families only:pacs(e.g.pacs.008) andcamt(e.g.camt.053). The initiation familiespainandacmtare outbound-only — they have no parser here, so don't attempt a generate→parse round-trip forpain.001oracmt.001; usevalidate(or the backing server's XSD validation) instead.
Routing
| Prefix | Family | Backing server | generate | parse |
|---|---|---|---|---|
pain |
Customer Credit Transfer Initiation | pain001-mcp | ✅ | — |
pacs |
FI-to-FI Customer Credit Transfer | pacs008-mcp | ✅ | ✅ |
camt |
Bank-to-Customer Statement | camt053-mcp | — | ✅ |
acmt |
Account Opening Instruction | acmt001-mcp | ✅ | — |
camt.056/camt.029 |
Cancellation / Resolution (E&I) | camt-exceptions | ✅ | — |
generate("camt.056.001.12", …) routes to camt-exceptions. The gateway also
surfaces the specialized servers — reconcile-mcp and
ap2-iso20022 — via search and list_servers for discovery
(they're invoked through their own tools).
The gateway imports each backing server lazily and optionally — the core
depends only on mcp, and a family's server is loaded on first use. Message
types are matched on their prefix (pacs.008.001.08 → pacs). The pain
extra requires pain001-mcp >= 0.0.56, the release that carries the
LLM-ergonomic generate surface (field aliases, computed nb_of_txs /
ctrl_sum, all-at-once field errors) the gateway's guarantees build on.
Example
search(query="reconciliation")
→ [{ "message_type": "camt.053", "family": "camt", "package": "camt053-mcp" }]
describe(message_type="pacs.008") # required fields + input schema
validate(message_type="pacs.008", records=[…])
generate(message_type="pain.001", records=[…]) # → { "xml": "<Document>…" }
# bare "pain.001" resolves to pain.001.001.09; on failure the payload is
# { "error": "Missing required fields for pain.001.001.09: …" } listing
# every missing or invalid field at once — fix them all and retry once
parse(message_type="camt.053", xml="<Document>…")
# parse covers pacs + camt only; pain and acmt are outbound-only
For the dedicated reconciliation engine that matches camt.053 statements
against expected pain.001 payments, see reconcile-mcp.
Development
git clone https://github.com/sebastienrousseau/iso20022-mcp
cd iso20022-mcp
python -m venv .venv && . .venv/bin/activate
pip install -e . && pip install pytest pytest-cov ruff black mypy
pytest # 100% branch coverage gate (backends faked)
ruff check iso20022_mcp tests && black --check iso20022_mcp tests && mypy iso20022_mcp
Licence
Licensed under the Apache License, Version 2.0.
mcp-name: io.github.sebastienrousseau/iso20022-mcp
Установка Iso20022
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/sebastienrousseau/iso20022-mcpFAQ
Iso20022 MCP бесплатный?
Да, Iso20022 MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Iso20022?
Нет, Iso20022 работает без API-ключей и переменных окружения.
Iso20022 — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Iso20022 в Claude Desktop, Claude Code или Cursor?
Открой Iso20022 на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Gmail
Read, send and search emails from Claude
автор: GoogleSlack
Send, search and summarize Slack messages
автор: SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Klavis AI
Open Source MCP Infra. Hosted MCP servers and MCP clients on Slack and Discord.
Work90210/APIFold
Turn any REST API into a hosted MCP server. 18 free public servers (GitHub, Stripe, Slack, OpenAI, Notion, and more) — no setup required, bring your own API key
автор: Work90210arikusi/deepseek-mcp-server
MCP server for DeepSeek AI with chat, reasoning, multi-turn sessions, function calling, thinking mode, and cost tracking.
автор: arikusihashgraph-online/hashnet-mcp-js
MCP server for the Registry Broker. Discover, register, and chat with AI agents on the Hashgraph network.
автор: hashgraph-onlineprofullstack/mcp-server
A comprehensive MCP server aggregating 20+ tools including SEO optimization, document conversion, domain lookup, email validation, QR generation, weather data,
автор: profullstackWayStation-ai/mcp
Seamlessly and securely connect Claude Desktop and other MCP hosts to your favorite apps (Notion, Slack, Monday, Airtable, etc.). Takes less than 90 secs.
автор: waystation-aiCompare Iso20022 with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории communication
