
Camt Exceptions
io.github.sebastienrousseauPublished by GitHub account sebastienrousseauv0.0.20Updated Oct 24, 2026
Generate + XSD-validate ISO 20022 E&I camt messages (camt.056 cancellation, camt.029 resolution).
Overview
Generates and XSD-validates ISO 20022 Exceptions & Investigations camt messages, such as camt.056 payment cancellation requests, for an AI assistant.
- What you can do
- List supported E&I message types and their names
- Look up the required top-level fields for a message type
- Generate an E&I XML message from a record, validated against the bundled XSD before it is returned
- Validate raw XML against a message type's bundled XSD
- When to use it
- Useful when an assistant has to produce or check ISO 20022 exceptions and investigations messages, typically a camt.056 payment cancellation or recall request or a camt.029 resolution of investigation, and the output must be schema-valid.
- Requirements
- A local Python 3.10+ environment with the camt-exceptions package installed from PyPI, or run without installing via uvx. Runs over stdio by default; streamable HTTP and SSE transports are also available on a local bind address. No authentication or environment variables are declared.
Installation
In SourceWeft
- Open Camt Exceptions in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
camt-exceptions: ISO 20022 Exceptions & Investigations, generated + XSD-valid
[Build Status] [PyPI version] [Glama MCP server score] [OpenSSF Scorecard] [License] [Python Version]
Generate and validate ISO 20022 Exceptions & Investigations (E&I) camt
messages — with an MCP server. Starts with camt.056 (FI-to-FI
Payment Cancellation Request): the message a bank sends to recall or cancel a
payment it already dispatched — a duplicate, an erroneous amount, a fraud
recall. Output is validated against the official bundled XSD before it's
returned.
Latest release: v0.0.20:
camt.056+camt.029generation + validation, 4 MCP tools over stdio, streamable HTTP or SSE, 100% branch coverage, for Python 3.10+. Part of the ISO 20022 MCP suite. Additional E&I messages (camt.029, camt.026, camt.027, camt.087) plug into the same engine.
Why E&I
When a payment goes wrong, the fix is an Exceptions & Investigations message —
and these are the least tooled corner of ISO 20022. camt.056 alone covers
the single most common need: "I need to cancel/recall that payment." This
library makes it a one-call, schema-valid operation for an agent, with the same
depth as the credit-transfer generators elsewhere in the suite.
Install
MCP client config (e.g. Claude Desktop):
Quick start — cancel a payment
Transports
One command line, three transports:
--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.
Tools
list_message_types— List supported E&I message types and names.get_required_fields— Required top-level fields for a message type.generate_message— Generate a validated E&I XML message from a record (validated against the bundled XSD before return).validate_xml— Validate raw XML against a message type's bundled XSD.
Supported messages
Each new message plugs into the same engine: bundle its official XSD +
template.xml and register it in MESSAGE_TYPES. Generated output is always
XSD-validated before return, so correctness is machine-checked, not asserted.
Note: the payment-status and return messages of the E&I family —
pacs.002(Payment Status Report) andpacs.004(Payment Return) — are already generated, XSD-valid, bypacs008-mcp.
The suite
Part of a family of vendor-neutral, Python-native ISO 20022 MCP servers:
iso20022-mcp— unified gateway across the families.pain001-mcp·pacs008-mcp·camt053-mcp·acmt001-mcp— per-family servers.reconcile-mcp— statement/payment reconciliation.
Documentation
- Rendered docs: sebastienrousseau.github.io/camt-exceptions — API reference, ADRs, roadmap, changelog
- Runnable examples:
examples/ - Release history: CHANGELOG.md
Development
License
Licensed under the Apache License, Version 2.0 or the
MIT License, at your option. Bundled ISO 20022 message schemas
(*.xsd) are © ISO 20022 and redistributed under the ISO 20022 terms; they
are the same schemas published at iso20022.org.
mcp-name: io.github.sebastienrousseau/camt-exceptions
Source: README.md at commit d1f1666
Tools
0Version history
3- v0.0.20LatestOct 4, 2026
- v0.0.19Oct 4, 2026
- v0.0.18Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts