Parse, validate, inspect, classify, export, and reverse ISO 20022 camt.05x bank statements through MCP.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Camt053 MCP.
list_message_typesList every supported ISO 20022 camt.05x message type and its name. Use this first, before any validation or generation call, to discover the exact ``message_type`` strings this server accepts. For the return-reason codes rather than message types, call ``list_return_reasons`` instead. Returns a list of ``{"message_type": ..., "name": ...}`` dictionaries, one per supported message type (e.g. ``camt.053.001.14``).
list_return_reasonsList every known ISO external return reason code with its name. Use this to discover the ``reason_code`` values that ``filter_entries`` and ``generate_reversal`` accept (e.g. ``AC04`` Closed Account). For the supported message types rather than reason codes, use ``list_message_types``. Returns a list of ``{"code": ..., "name": ...}`` dictionaries (e.g. ``{"code": "AC04", "name": "Closed Account Number"}``).
get_required_fieldsList only the required input field names for a camt message type. Use this for a quick checklist of the mandatory columns before building reversing-entry records. When you need full type/format constraints (not just which fields are required), call ``get_input_schema`` instead. Args: message_type: A supported ISO 20022 camt.05x message type.
get_input_schemaReturn the full JSON Schema for a message type's flat input record. Use this to learn every field, its type, and its constraints before assembling records, or to drive a form/UI. For just the required-field names use ``get_required_fields``; to actually check records against this schema use ``validate_records``. Args: message_type: A supported ISO 20022 camt.05x message type.
validate_recordsValidate flat records against a message type's input JSON Schema. Use this on in-memory reversing-entry records to catch structural/type errors per row before generation. To validate a whole camt.05x *document* (XML) against its XSD instead, use ``validate_statement``. Returns a report ``{"valid": bool, "total": int, "valid_count": int, "errors": [...]}``. Args: message_type: A supported ISO 20022 camt.05x message type. records: One or more flat reversing-entry records to validate.
validate_identifierValidate a single financial identifier (IBAN, BIC, or LEI). Use this for a one-off identifier check with a clear pass/fail. To validate identifiers embedded across a whole batch of records, prefer ``validate_records`` rather than calling this per field. Returns ``{"kind": str, "value": str, "valid": bool}``. Args: kind: One of ``"iban"``, ``"bic"``, or ``"lei"`` (case-insensitive). value: The identifier value to check.
The sebastienrousseau/camt053-mcp MCP server turns the camt053 ISO 20022 bank-statement library into MCP tools for AI clients. It works with camt.05x messages, including camt.053 statements and camt.052 reports produced through MT942 conversion. Inputs and outputs are handled in memory: statement XML and legacy MT text are supplied as strings, while parsed documents, validation reports, journal payloads, and generated XML are returned to the caller.
The main reversal workflow accepts an incoming statement and an ISO return-reason code, selects matching entries, and produces a validated camt.053.001.14 reversal document. Supporting tools let an agent discover valid message types and reason codes, inspect schemas, validate records, and preview entries before generating a reversal.
Tools are exposed through MCP and delegate to the shared camt053 service layer. Parsing produces a structured document containing the group header, statements, accounts, balances, and entries. Flat entry-list tools provide filtering and optional pagination, while anomaly detection applies fixed rules for duplicate references, unusually large fee deductions, and transaction-count spikes.
Validation operates at different levels. Record validation checks flat input data against a message-type JSON Schema. Statement validation checks XML against the matching ISO 20022 XSD. The CBPR+ readiness check separately evaluates supported camt.053 schema revisions and postal-address structure for the November 2026 acceptance rules.
Rulebook search is limited to a curated, offline registry covering SEPA, CBPR+, and HVPS+ clauses. Its vector search uses deterministic lexical vectors rather than a hosted embedding service. Entry classification is different: classify_entry uses MCP Sampling to ask the connected client to perform an LLM completion, so clients without Sampling cannot use that tool.
Install the package with pip and launch the executable over the default stdio transport:
The package requires Python 3.10 or newer and runs on macOS, Linux, and Windows. A client configuration can register camt053-mcp as a stdio MCP server. The optional vector extra enables rulebook similarity search; without it, that tool returns an error directing the operator to install the extra.
The sebastienrousseau/camt053-mcp MCP server includes capabilities for:
Journal exports contain operator-fill placeholders for values such as account codes, contacts, and realm identifiers. The tool prepares payloads but does not post them to an accounting API.
The server does not write generated documents to disk or make external accounting-platform API calls. Rulebook citations are summaries with source URLs, not authoritative reproductions of the underlying rulebooks. MT942 data that has no dedicated field in the camt.053-oriented model is surfaced through documented proprietary balance type codes.
The HTTP transport supports OAuth 2.1 resource-server authentication according to the repository material, while local stdio usage is the straightforward installation path. The CBPR+ readiness tool reports the cutover date as 2026-11-16 and checks the rules represented by the server; it is not a general certification of every clearing-system requirement.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/sebastienrousseau-camt053-mcp)<a href="https://allmcps.com/mcp/sebastienrousseau-camt053-mcp"><img src="https://allmcps.com/api/badge/sebastienrousseau-camt053-mcp?style=directory" alt="Camt053 MCP on AllMCPs" /></a>