ISO 20022 Navigator
by kreativeManish · remote · no sign-in to list tools · v0.2.0 · published by GitHub user kreativeManish
Look up ISO 20022 messages, bank transaction codes, legacy MT replacements, schemes and code sets.
4 tools: 4 change things.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads0Claude Code: allow
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http iso20022-navigator https://mcp.isonavigator.io/iso20022Findings
Matches of fixed checks, with the text they matched.
The server marks "iso20022_bank_transaction_codes" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.
The server marks "iso20022_code_sets" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "iso20022_code_sets" says "set": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
4 tools
Changes things 4Claude Code: ask
iso20022_bank_transaction_codesUse for ANY question about ISO 20022 Bank Transaction Codes (BTC): the Domain / Family / SubFamily codes that classify entries in bank statements and account reports, such as PMNT,…1 finding
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "iso20022_bank_transaction_codes" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it Use for ANY question about ISO 20022 Bank Transaction Codes (BTC): the Domain / Family / SubFamily codes that classify entries in bank statements and account reports, such as PMNT, PMNT-RCDT or PMNT-RCDT-ESCT. Call it even when the code looks familiar: it returns the official names, descriptions and how the codes fit together. Send the code in one of these forms: - PMNT (a domain): its name and its families. - PMNT-RCDT (domain and family): both names and its subfamilies. - PMNT-RCDT-ESCT (all three): the three names and an explanation of the combination. - /RCDT (a family): its name, the domains it appears in and its subfamilies. - //ESCT (a subfamily): its name, the domains and families it appears in. - /RCDT/ESCT (family and subfamily): the domains where this pair exists. - PMNT//ESCT (domain and subfamily): the families under PMNT that contain ESCT. - ESCT (no level given): matched as a domain, a family and a subfamily; each level where it exists is returned separately. This tool matches codes, not meanings. To find the code for a type of transaction, browse from the domain down: PMNT, then its families, then their subfamilies. It covers the ISO external code list only; bank-specific (proprietary) codes are outside it. It has no information about message structure or how a bank fills in a code.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: ISO 20022 bank transaction codes
iso20022_code_setsUse for ANY question about ISO 20022 external code sets: the values of a code set (BalanceType, ReturnReason, Purpose, StatusReason, ...), what a code means (CLBD, OTHR, ...), whet…1 finding
Why it is in this group
- The name "iso20022_code_sets" says "set": a word for a change.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "iso20022_code_sets" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "iso20022_code_sets" says "set": a word for a change.
Description, as the server wrote it Use for ANY question about ISO 20022 external code sets: the values of a code set (BalanceType, ReturnReason, Purpose, StatusReason, ...), what a code means (CLBD, OTHR, ...), whether a code is valid in a code set, which code sets a message uses (camt.053, pain.001, ...), or which messages use a code set. Call it even when the answer seems well known: it returns the sourced, current values with their official descriptions and flags deactivated ones. Send one identifier in `message`: - A code set (BalanceType, or ExternalBalanceType1Code): its description, its values (code, name, description) and the messages that use it. Add `code` to check a single value. - A code (CLBD): every code set that contains it, with the name and description in each. - An ISO 20022 message (camt.053): the code sets it uses, with their number of values. The values, code sets and matches are pipe-delimited text with a header row. Long lists are paged by whole rows: when `page.complete` is false, call again with the same input and the offset in `page.next_offset` until it is true, before answering about the whole list. Not covered: Bank Transaction Codes (PMNT, PMNT-RCDT-ESCT; use iso20022_bank_transaction_codes), which ISO 20022 message replaces a legacy message or which schemes use one (use iso20022_legacy_and_scheme_mappings), and what a message itself contains. Code set usage is message-level, not element-level. The code set description (concept_description) is AI-generated.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: ISO 20022 code sets
iso20022_legacy_and_scheme_mappingsUse for ANY question about what replaces or corresponds to a legacy payment message (SWIFT MT such as MT103, MT202, MT940; NACHA; CHAPS), or which payment schemes use an ISO 20022 …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use for ANY question about what replaces or corresponds to a legacy payment message (SWIFT MT such as MT103, MT202, MT940; NACHA; CHAPS), or which payment schemes use an ISO 20022 message (pacs.008, pain.001, pain.008, camt.053; SEPA, NPP, CHAPS, Lynx, CIPS and others). Call it even when the answer seems well known: it returns sourced, current mappings with status and caveats. For "which schemes use X", call once with only the message: the response lists every recorded scheme (without descriptions, to keep it compact). Omit `standard` unless the user names one scheme; with `standard`, the response includes that scheme's description. - Legacy input (MT103, 940, ACH Statement): returns its ISO 20022 equivalent(s) in legacy_equivalents. - ISO 20022 input (pacs.008): returns legacy_equivalents (legacy messages that map to it) and used_by_schemes (schemes that use it). Mappings are message-level only; this tool does not map individual fields and has no information about a message's structure, elements or rules. Do not cite it for those. ISO 20022 messages that have been retired are returned flagged with iso20022_deactivated_in, not hidden.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: ISO 20022 legacy and scheme mappings
iso20022_message_detailsUse for ANY question about what an ISO 20022 message is: its official name, purpose, business area, latest version, and the size and shape of its structure.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Use for ANY question about what an ISO 20022 message is: its official name, purpose, business area, latest version, and the size and shape of its structure. Send a message identifier such as pacs.008, camt.053 or pain.001. Call it even when the message looks familiar: it returns the official name, a plain-English description, the business area and domain, the Navigator's own functional grouping, whether the message is retired, structure statistics (total elements, maximum depth, element counts at each depth) and the number of external code sets the message uses. Covers the standard variant (variant 1) of each message, at the latest version held. For legacy equivalents (SWIFT MT, NACHA, CHAPS) and the schemes that use a message, use iso20022_legacy_and_scheme_mappings. For the list of code sets a message uses, use iso20022_code_sets (the response's next_calls names it).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: ISO 20022 message details
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http iso20022-navigator https://mcp.isonavigator.io/iso20022Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [],
"ask": [
"mcp__iso20022-navigator__iso20022_bank_transaction_codes",
"mcp__iso20022-navigator__iso20022_message_details",
"mcp__iso20022-navigator__iso20022_legacy_and_scheme_mappings",
"mcp__iso20022-navigator__iso20022_code_sets"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as iso20022-navigator. Review it before you use it.
