Skip to content
Agentmart
Submit a tool

Camt053 MCP

MCP server for ISO 20022 camt.053 bank-to-customer statement parsing and reconciliation.

Connector by sebastienrousseau · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)★ 2
Write a review

Chalk Labs

Need help deploying Camt053 MCP?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/sebastienrousseau-camt053-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server for ISO 20022 camt.053 bank-to-customer statement parsing and reconciliation.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
22 read · 0 write · 0 delete · 2 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 24

Read from the source code; the running server may list different tools.

Read 22 · Look things up without changing anything.

  • check_cbpr_readiness
  • cite_rulebook
  • classify_entry
  • convert_mt940_to_camt053
  • convert_mt942
  • detect_statement_anomalies
  • filter_entries
  • get_cbpr_cutover_date
  • get_input_schema
  • get_required_fields
  • get_tenant_context
  • list_classify_entry_categories
Show 10 more tools
  • list_entries
  • list_export_journal_targets
  • list_message_types
  • list_return_reasons
  • list_rulebook_clauses
  • parse_statement
  • search_rulebook_vector
  • validate_identifier
  • validate_records
  • validate_statement

Not yet classified 2 · We could not tell from the name and description.

  • export_journal
  • generate_reversal

Network hosts it talks to 7

  • api.xero.com · found in code
  • ecb.europa.eu · found in code
  • europeanpaymentscouncil.eu · found in code
  • github.com · found in code
  • glama.ai · found in code
  • sebastienrousseau.github.io · found in code
  • swift.com · found in code

Tools (24)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • check_cbpr_readinessCheck CBPR+ Nov 2026 readiness

    Check a camt.053 statement against the CBPR+ Nov 2026 acceptance rules. Use this to audit a statement for the business-rule changes (schema version, structured postal addresses) enforced from the Nov 2026 cutover. For plain XSD schema validity use ``validate_statement`` instead; for just the cutover date use ``get_cbpr_cutover_date``. A coordinated CBPR+ / Fedwire / CHAPS / T2 cutover lands on **14-16 November 2026**: unstructured-only postal addresses get rejected, ``camt.110/111`` exceptions and investigations become mandatory, and T2S R2026.NOV upgrades camt.053 / 054 to schema revision M…

  • cite_rulebookCite payments rulebook clause

    Return a curated payments-rulebook citation for a single clause. Use this to quote one specific rule (with its canonical source URL) once you know the ``scheme``/``version``/``clause``. To discover which clauses exist first, call ``list_rulebook_clauses``. Looks up one well-known rule across the SEPA, CBPR+, and HVPS+ rulebooks and returns a short summary together with the canonical source URL so an agent can quote the rule and the operator can verify it against the official document. The registry is a curated convenience layer, not a verbatim reproduction of copyrighted text. Always defer …

  • classify_entryClassify entry via LLM sampling

    Classify one statement entry into a category via MCP LLM Sampling. Use this when you want a semantic, model-driven label for an entry (payroll, fee, refund, …) rather than a deterministic rule match. Because it delegates an LLM completion to the client it is open-world and non-idempotent; for the fixed candidate categories it chooses from, call ``list_classify_entry_categories`` first. Uses the **MCP Sampling** protocol primitive: the server (this process) asks the *client* (the agent's host application) to perform an LLM completion on the server's behalf, then receives the model's structure…

  • convert_mt940_to_camt053Convert legacy MT940 to camt.053

    Convert a legacy SWIFT MT940 statement into a camt.053 structure. Use this as the Phase-1 migration wedge: SWIFT MT940 customer statements retire in **November 2028**, so this tool bridges the gap by turning raw MT940 text into the same JSON-serialisable camt.053 document shape that ``parse_statement`` returns (group header plus statements, each with its account, balances, and entries). Downstream tools (``list_entries``, ``filter_entries``, ``classify_entry``, ``export_journal``) then work on the result unchanged. Wraps the ``camt053-loader-mt940`` library's ``parse_mt940``; the MT parsing …

  • convert_mt942Convert legacy MT942 to camt.052

    Convert a legacy SWIFT MT942 interim report into a camt.052 structure. Use this as the Phase-1 migration wedge for intraday reporting: SWIFT MT94x messages retire in **November 2028**, so this tool bridges the gap by turning raw MT942 *Interim Transaction Report* text into the same JSON-serialisable camt.052 (Bank-to-Customer Account **Report**) document shape the server's parse tools return (group header plus statements, each with its account, balances, and entries). MT942 is the intraday sibling of MT940: where MT940 maps to camt.053 (end-of-day statement), MT942 maps to camt.052, so the re…

  • detect_statement_anomaliesDetect statement anomalies

    Screen a camt.05x statement for deterministic, rule-based anomalies. Use this as a fast, explainable first pass over an incoming statement before deeper review or reversal. It applies three fixed heuristics over the parsed entry list (see ``list_entries``) and never calls out to a model or the network, so the same statement always yields the same result: * **Duplicate references** (severity ``HIGH``) -- two or more entries share an end-to-end id (or, absent one, an entry reference), a classic double-payment signal. * **Unusual fee deductions** (severity ``MEDIUM``) -- a fee/charge debit …

  • export_journalExport statement to journal entries

    Export a camt.053 statement as accounting-platform journal-entry payloads. Use this to reshape a statement's booked entries into ready-to-POST Xero or QuickBooks payloads (the tool builds the payloads only; it does not call any external API or write files). To discover the valid ``target`` values first, call ``list_export_journal_targets``. Parses the supplied statement and re-shapes every booked entry into a target-specific journal-entry payload ready for direct POST to the accounting platform's REST API. Supported targets (see ``camt053_mcp.export_journal.SUPPORTED_TARGETS``): * ``"xero"…

  • filter_entriesFilter entries by reason code

    List only the statement entries carrying a given return reason code. Use this to preview exactly which entries a reversal would touch before calling ``generate_reversal`` with the same ``reason_code``. For every entry regardless of reason code use ``list_entries`` instead. When ``limit`` is ``None`` (the default) the full list of matching entries is returned, preserving the behaviour expected by existing callers. When ``limit`` is given, a paginated envelope ``{"total", "offset", "limit", "entries"}`` is returned instead, exposing the ``offset:offset + limit`` slice. A negative ``offset`` or…

  • generate_reversalGenerate reversal document

    Generate a validated camt.053.001.14 reversal document from a statement. This is the headline one-shot workflow: pass an incoming statement and a return-reason code and get back the reversal XML (nothing is written to disk). Preview which entries will be reversed first with ``filter_entries`` using the same ``reason_code``. This is the headline one-shot workflow: parse the incoming camt.053, pick the entries with the requested return reason (e.g. AC04 Closed Account), and emit a validated camt.053.001.14 reversal statement. Returns the validated XML document as a string, or an ``{"error": .…

  • get_cbpr_cutover_dateGet CBPR+ cutover date

    Return the official CBPR+ / Nov 2026 cutover date as ISO 8601. Use this to quote the enforcement date directly, without parsing a document. To actually audit a statement against the rules that take effect on that date, call ``check_cbpr_readiness`` instead. The cutover (``2026-11-16``) is the date after which the rules checked by ``check_cbpr_readiness`` are enforced by the major clearing systems; payments that fail will be rejected at receive-time. Surfaced as a discrete tool so agents can quote it directly without having to call a readiness check first.

  • get_input_schemaGet input JSON Schema

    Return 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.

  • get_required_fieldsGet required input fields

    List 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_tenant_contextGet tenant scoping context

    Return the multi-tenant scoping context of the current call. Use this to confirm which tenant/account scope the server attributes the session to. On the streamable-HTTP transport (D7, #42) the ``tenant`` field carries the value of the optional ``Camt053-Account`` request header the caller sent; over stdio (or when the caller sent no header) it is ``None``. The same value is stamped as the ``scope`` on the server's audit log, so an agent can verify its calls are attributed to the right tenant. The lookup is read-only and deterministic for a given request: nothing is validated or mutated, and …

  • list_classify_entry_categoriesList classifier categories

    List the default candidate categories the ``classify_entry`` tool uses. Use this to quote the built-in category vocabulary to a user before running the LLM classifier. This is a static list lookup (no model call); to actually classify an entry, call ``classify_entry``. Operators can override the list per call; this tool exposes the default the prompt template ships with so an agent can quote them to the user before invoking the classifier.

  • list_entriesList all statement entries

    List every booked entry across all statements in a camt.05x document. Use this to get the flat, paginable entry list from a statement. To keep only the entries carrying a given return-reason code use ``filter_entries``; for the full nested document structure use ``parse_statement``. When ``limit`` is ``None`` (the default) the full list of entries is returned. When ``limit`` is given, a paginated envelope ``{"total", "offset", "limit", "entries"}`` is returned instead, exposing the ``offset:offset + limit`` slice. A negative ``offset`` or ``limit`` yields an ``{"error": ...}`` payload. Args…

Show 9 more tools
  • list_export_journal_targetsList journal export targets

    List the accounting-platform targets the ``export_journal`` tool supports. Use this to tell a user which ``target`` values ``export_journal`` accepts before invoking it. This lists export destinations only; for the LLM classifier's category vocabulary use ``list_classify_entry_categories``. Returns the sorted list of valid ``target`` arguments accepted by ``export_journal`` (``["qbo", "xero"]`` today). NetSuite and SAP S/4HANA support is a tracked follow-up.

  • list_message_typesList camt.05x message types

    List 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 ISO return reason codes

    List 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"}``).

  • list_rulebook_clausesList rulebook clauses

    List the curated rulebook clauses the server can cite, optionally filtered. Use this to browse the citation registry and pick a ``clause`` id; then pass that id to ``cite_rulebook`` to fetch the full summary and source URL. Returns the full registry, optionally filtered by ``scheme`` and / or ``version``. Use the resulting ``clause`` values as input to ``cite_rulebook``. Args: scheme: Restrict to one scheme (e.g. ``"SEPA"``). ``None`` returns all schemes. version: Restrict to one version (e.g. ``"2026"``). ``None`` returns all versions.

  • parse_statementParse camt.05x statement XML

    Parse an incoming camt.05x statement XML string into structured data. Use this to turn a raw statement into a navigable dict (header, statements, accounts, balances, entries). To pull just the flat entry list use ``list_entries``; to only check the document is schema-valid use ``validate_statement``. Returns the parsed document as a JSON-serialisable dict (group header plus statements, each with its account, balances, and entries), or an ``{"error": ...}`` payload if the XML cannot be parsed. Args: xml: The raw statement XML as a string.

  • search_rulebook_vectorSearch rulebook clauses by similarity

    Search the curated rulebook clauses by lexical-vector similarity. Use this when you know *what* a rule is about but not its exact ``scheme``/``version``/``clause`` id: describe it in natural language and get back the closest curated clauses, each with a similarity ``score``. Then pass the winning ``scheme``/``version``/``clause`` to ``cite_rulebook`` for the full citation, or browse everything with ``list_rulebook_clauses``. Retrieval is a **deterministic lexical-vector cosine** search over the same curated SEPA / CBPR+ / HVPS+ summaries that back ``cite_rulebook`` (no external, copyrighted,…

  • validate_identifierValidate IBAN, BIC or LEI

    Validate 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.

  • validate_recordsValidate records against schema

    Validate 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_statementValidate statement against XSD

    Validate an incoming camt.05x statement XML against its XSD schema. Use this to confirm a document is well-formed and schema-valid before processing it. This checks XSD conformance only; for the Nov 2026 CBPR+ business rules use ``check_cbpr_readiness``, and to extract the data use ``parse_statement``. Detects the document's message type, validates it against the matching ISO 20022 schema, and returns a report ``{"valid": bool, "message_type": str, "errors": [...]}``. A well-formed but schema-invalid document yields ``valid=False`` with a populated ``errors`` list (and the detected ``message…

Signals

Stars
2
Forks
0
Open issues
0
Weekly downloads
222
Last commit
Oct 21, 2026 (10 days ago)
Last release
Oct 21, 2026 (10 days ago)
Last package publish
Oct 21, 2026 (10 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.sebastienrousseau/camt053-mcp
Version
0.0.23
Auth
No auth
Packages
pypi camt053-mcp
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from sebastienrousseau

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get Camt053 MCP running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Camt053 MCP?

CallGet help
Cite this page

Camt053 MCP. Agent Mart. https://agentmart.dev/connectors/sebastienrousseau-camt053-mcp (last updated 2026-10-24)