关于 ISO 20022 Navigator
ISO 20022 Navigator 是面向金融报文领域助手的公共 MCP 服务。其只读工具可查询报文详情、交易代码、代码集,以及旧报文或支付方案映射。
主要功能
- 01查询 ISO 20022 报文详情
- 02浏览银行交易代码
- 03查询旧报文替代关系
- 04查找支付方案使用情况
- 05查看外部代码集
适用场景
- 01解释 pacs.008 等报文
- 02识别银行交易代码
- 03查询 MT 报文对应的 ISO 报文
- 04查找报文使用的代码集
MCP 相关
它通过公开的 Streamable HTTP 端点向 MCP 客户端提供只读 ISO 20022 参考数据工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.isonavigator.io/iso20022claude mcp add --transport http kreativemanish-iso20022-navigator https://mcp.isonavigator.io/iso20022{"mcpServers":{"kreativemanish-iso20022-navigator":{"type":"http","url":"https://mcp.isonavigator.io/iso20022"}}}在 Cursor 中打开{"servers":{"kreativemanish-iso20022-navigator":{"type":"http","url":"https://mcp.isonavigator.io/iso20022"}}}在 VS Code 中打开{"mcpServers":{"kreativemanish-iso20022-navigator":{"type":"http","url":"https://mcp.isonavigator.io/iso20022"}}}{"mcpServers":{"kreativemanish-iso20022-navigator":{"serverUrl":"https://mcp.isonavigator.io/iso20022"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
4| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 一个银行交易代码或其部分,按 domain-family-subfamily 格式用连字符分隔,例如 'PMNT-RCDT-ESCT'。每个部分由四个字母或数字组成。以斜杠开头可固定层级('/RCDT' 表示 family,'//ESCT' 表示 subfamily),留空某一层可跳过该层('PMNT//ESCT')。也可以使用斜杠、逗号或空格作为分隔符。 |
详细介绍
ISO 20022 Navigator MCP 服务
这是一个 MCP 服务,可根据 ISO 20022 Navigator 背后的参考数据,为 AI 助手提供有据可依的 ISO 20022 金融报文解答。
免费且公开。客户端只需提供端点 URL。
由 Manish Patel 构建 · 金融系统专家、金融转型与分析
端点: https://mcp.isonavigator.io/iso20022(Streamable HTTP,开放访问)
文档 · 隐私政策 · 支持:[email protected]
工具
所有工具均为只读。
| 工具 | 可回答的问题 |
|---|---|
iso20022_bank_transaction_codes | ISO 20022 银行交易代码(域、系列、子系列)的含义,以及某个域或系列下有哪些代码。 |
iso20022_message_details | 特定 ISO 20022 报文的相关信息:名称、描述、业务领域、最新版本和结构规模。 |
iso20022_legacy_and_scheme_mappings | 哪条 ISO 20022 报文替代了某条旧报文,以及哪些支付方案使用某条 ISO 20022 报文。 |
iso20022_code_sets | ISO 20022 外部代码集包含哪些内容、代码的含义,以及某条报文使用了哪些代码集。 |
iso20022_bank_transaction_codes
- 可回答: ISO 20022 银行交易代码的含义:用于对银行对账单和账户报告中的条目分类的域、系列和子系列代码,例如
PMNT-RCDT-ESCT。还会显示某个域下有哪些系列、某个系列下有哪些子系列,以及某个代码出现的位置。 - 输入:
code,按“域-系列-子系列”的格式书写,并用连字符分隔。任何部分都可以单独提供或跳过:PMNT:域及其系列。PMNT-RCDT:域和系列,以及其子系列。PMNT-RCDT-ESCT:完整代码及其三个名称和描述。/RCDT和//ESCT:单独的系列或子系列(开头的斜杠用于固定层级)。/RCDT/ESCT和PMNT//ESCT:提供两个部分,并跳过一个层级。ESCT:未指定层级;返回该代码存在的所有层级。
- 返回: 官方名称、数量、相关代码列表、某种组合匹配时的描述、说明以及
provenance区块。如果未找到代码,会说明各部分分别出现的位置,并列出最接近的现有代码。 - 问题示例:
- 银行交易代码 PMNT-RCDT-ESCT 的含义是什么?
- PMNT 域包含哪些系列?
- 哪些域使用系列 RCDT?
- OTHR 是系列还是子系列?
- 说明:
- 覆盖 ISO 外部代码列表。不包括银行专属(专有)代码,因此未找到的代码可能属于这类代码。
- 匹配的是代码,而非含义。要查找某类交易对应的代码,请从域开始逐层浏览。
- 组合描述由 AI 生成,并依据 ISO 官方定义进行验证。
iso20022_message_details
- **回答:**特定 ISO 20022 报文的相关信息,例如
pacs.008或camt.053:其官方名称、通俗易懂的说明、所属业务领域和域、最新版本,以及其结构的规模和组成。 - 输入:
message_id,由四个字母和三个数字组成。大小写不限,点号、连字符、下划线、空格或直接连写均可(pacs.008、PACS-008、pacs008)。也接受pacs.008.001.13这类完整标识符;响应会说明当前收录的最新版本,并指出任何差异。 - **返回:**报文名称、说明、业务领域(代码、名称和域)、Navigator 的功能分组、最新版本、结构统计(元素总数、最大深度以及各深度的元素数量)、报文使用的外部代码集数量,并附带指向
iso20022_code_sets的next_calls指针以获取代码集列表、备注和provenance块。如果数据集中没有该报文,响应会说明这一点,并按编号距离从近到远列出同一业务领域中最多五条已收录报文。 - 示例问题:
- 什么是 pacs.008?
- camt.053 属于哪个业务领域?
- pain.001 报文定义有多大?
- camt.099 仍然有效吗?
- 备注:
- 覆盖每条报文的标准变体(变体 1),版本为当前收录的最新版本。
- 结构数据为报文定义中的元素计数。元素树本身不在此工具的响应范围内。计数涵盖所有已声明元素:可选元素和选择结构中的每个备选项都会与必选元素一并计数,因此这些数字描述的是定义的规模,而单条报文实例只会使用其中一部分。
total_elements还会统计深度 0 和深度 1 的两个元素(Document 容器、报文),而elements_by_depth不统计这两个元素。 - 功能分组由 Navigator 自行定义,与 ISO 20022 标准分开。
- 已停用的报文会随其停用时的数据加载一并返回。
- 说明由 AI 生成,并根据官方 ISO 定义进行验证。
iso20022_legacy_and_scheme_mappings
- **回答:**哪条 ISO 20022 报文取代了某条旧版报文(SWIFT MT、NACHA、CHAPS legacy),例如 MT103 → pacs.008;以及哪些支付方案使用某条 ISO 20022 报文。
- 输入:
message(旧版报文或 ISO 20022 报文,例如MT103、940或pacs.008),以及可选的standard(将答案限定为某个标准或方案,例如SEPA)。 - **返回:**报文级映射及其状态、方案使用情况、备注和
provenance块。 - 示例问题:
- MT103 被什么取代了?
- MT940 对应的 ISO 20022 报文是什么?
- 哪些支付方案使用 pacs.008?
- tsin.004 仍然有效吗?
- 备注:
- 仅返回最新报文版本。输入中的版本(例如
pacs.008.001.08)会映射到对应报文(pacs.008)。 - 已停用的报文会随其停用时的数据加载一并返回。
- 响应会列出 Navigator 已记录的内容。如果缺少某条映射,响应会说明这一点,并指示助手依据已记录的数据作答。
- 仅返回最新报文版本。输入中的版本(例如
iso20022_code_sets
- 回答: ISO 20022 外部代码集包含哪些内容(例如
BalanceType)、CLBD之类的代码是什么意思、某个代码是否属于某个代码集、某条消息使用了哪些代码集,以及哪些消息使用了某个代码集。 - 输入:
message(代码集,例如BalanceType或ExternalBalanceType1Code;代码,例如CLBD;或 ISO 20022 消息,例如camt.053)、可选的code(检查代码集中的某个值)和可选的offset(继续获取较长列表)。 - 返回: 对于代码集,返回其详细信息、值(代码、名称、描述),以及使用该代码集的消息及其数量(
message_count)。对于代码,返回包含该代码的所有代码集。对于消息,返回其代码集及各代码集的值数量。列表以带标题行的管道符分隔文本形式返回。较长的列表会分批返回;每次响应都会说明列表是否完整,以及用于继续获取的next_offset。 - 示例问题:
- BalanceType 代码集包含哪些代码?
- CLBD 是有效的余额类型代码吗?
- OTHR 代码在 ISO 20022 中是什么意思?
- camt.053 使用了哪些代码集?
- 注意:
- 银行交易代码值由
iso20022_bank_transaction_codes提供。 - 代码集与消息之间的关联按消息记录;不包含元素级关联数据。
- 已停用的值会随其停用时的数据加载一并返回。
- 代码集描述(
concept_description)由 AI 生成。值描述为 ISO 原文。 navigator_group是 Navigator 自己对代码集的分组,与 ISO 分类不同。
- 银行交易代码值由
让助手使用此工具
有些助手除非被要求使用工具,否则会根据通用知识作答;是否使用工具由助手决定。在项目说明中添加以下内容,有助于助手在适用时使用这些工具:
对于有关 ISO 20022 银行交易代码、消息及其对应的旧版格式(SWIFT MT、NACHA)、哪些支付方案使用某条消息、外部代码集或代码的含义,或某条消息使用哪些代码集的任何问题,请先调用 ISO Navigator 连接器,并根据其数据作答。
其他助手的行为可能有所不同。如果回答没有调用工具,请使用“根据 ISO Navigator”重新提问。
使用限制
- 共享速率限制。 所有用户共用每分钟 600 次调用的限制。达到限制时,响应会说明重试前需要等待的时间。
- 请求大小。 接受最大 64 KB 的请求;服务最多可同时处理 20 个请求。
数据
每个响应都包含一个 provenance 区块。其中的 data_baseline(例如 4Q2025)表示 Navigator 基线数据加载的季度,标记数据添加到 Navigator 的时间,与任何 ISO 20022 发布日期都不同。依赖迁移日期前,请查看支付方案或 SWIFT 自身的最新文档。
Navigator 记录的是全球部分支付方案,并非全部。涵盖的标准包括 SWIFT MT、SEPA、CIPS、NACHA / ACH、AFT、Lynx、RTR、CHAPS、Elixir、iDEAL、SIC、Bankgirot、NPP、MEPS+、RENTAS 和 BAHTNET。不在此列表中的支付方案(例如 T2、FedNow 或 Fedwire)没有记录映射,因此响应不会列出这些方案。
部分说明由 AI 生成。投入生产使用前,请对照 ISO 20022 和支付方案的官方文档进行核实。
连接
使用上方的端点 URL。菜单名称会随版本更新而变化;如果下方的标签与您看到的不一致,请以客户端自身的 MCP 文档为准。
Claude(网页和桌面应用)
- 打开 Customize → Connectors,选择 + Add → Add custom connector。
- 输入名称(例如
ISO 20022 Navigator)和端点 URL。保持身份验证关闭。 - 在聊天中,点击左下角的 + 按钮,然后选择 Connectors,并启用该连接器。
在 Team 和 Enterprise 计划中,所有者需先在 Organization settings → Connectors → Add → Custom → Web 下添加连接器; 之后,成员可从 Customize → Connectors 连接。Free 计划允许添加一个自定义连接器。 请参阅 Anthropic 的指南。
Claude Code
claude mcp add --transport http iso20022 https://mcp.isonavigator.io/iso20022
使用 claude mcp list 检查,或在 Claude Code 中使用 /mcp。添加 --scope user 可使其在每个项目中都可用。
使用 GitHub Copilot 的 VS Code
-
在命令面板中运行 MCP: Open User Configuration(或在项目中创建
.vscode/mcp.json)。 -
添加:
{ "servers": { "iso20022": { "type": "http", "url": "https://mcp.isonavigator.io/iso20022" } } } -
运行 MCP: List Servers,选择
iso20022并启动(或重启)。 -
在 Agent 模式下使用 Copilot Chat;这些工具会显示在工具列表中。
Cursor
添加到 ~/.cursor/mcp.json(所有项目)或 .cursor/mcp.json(单个项目):
{
"mcpServers": {
"iso20022": {
"url": "https://mcp.isonavigator.io/iso20022"
}
}
}
可在聊天的工具列表中启用或禁用工具。
ChatGPT
自定义 MCP 连接器需要开发者模式,且仅在网页端提供。是否可用取决于你的计划;请参阅 OpenAI 的指南。 简而言之:在 Settings → Apps → Advanced settings 中启用开发者模式,选择 Create,输入端点 URL 并保持身份验证关闭,然后选择 Scan Tools,再选择 Create。此服务会读取数据,因此只需只读访问权限。
Codex CLI
codex mcp add iso20022 --url https://mcp.isonavigator.io/iso20022
这会将服务保存到 ~/.codex/config.toml。也可以自行添加到该文件中(单个可信项目使用 .codex/config.toml):
[mcp_servers.iso20022]
url = "https://mcp.isonavigator.io/iso20022"
使用 codex mcp list 检查,或在 Codex 会话中使用 /mcp。
Gemini CLI
gemini mcp add --transport http iso20022 https://mcp.isonavigator.io/iso20022
添加 --scope user 可使其在每个项目中都可用;默认情况下仅在当前项目中可用。也可以将其添加到 ~/.gemini/settings.json(单个项目使用 .gemini/settings.json):
{
"mcpServers": {
"iso20022": {
"httpUrl": "https://mcp.isonavigator.io/iso20022"
}
}
}
使用 httpUrl,而不是用于 SSE 服务的 url。使用 gemini mcp list 检查,或在会话中使用 /mcp。Gemini CLI 接受哪些 Google 账号或 API 密钥由 Google 决定,且相关规则已有变更;如果无法启动,请查看 Google 的最新文档。
其他 MCP 客户端
任何支持通过 Streamable HTTP 使用远程 MCP 服务的客户端都可以使用此端点 URL。与数据库无关的
健康检查地址为 https://mcp.isonavigator.io/iso20022/health。
本地运行
需要 Python 3.14,并且需要能够访问 Navigator 数据库(私有)。
python -m venv .venv
.venv\Scripts\activate # Windows; on macOS/Linux: source .venv/bin/activate
pip install -r requirements.txt
将连接字符串放入 .env 文件,格式为 DATABASE_URL=...,然后任选其一:
python server.py— stdio 传输,用于 Claude Desktop 或 MCP Inspector- 设置
MCP_TRANSPORT=http,然后运行python server.py— 与部署时相同的 HTTP 传输,地址为http://localhost:8000/iso20022(健康检查:/iso20022/health)
其他设置请参阅 server.py 文件顶部。
测试
pip install -r requirements-dev.txt
bandit -q -r . -x ./tests,./.venv
ruff check .
python -m pytest -q
如果 DATABASE_URL 可用,则会运行数据库测试。
许可证
代码采用 MIT 许可证。工具所提供的参考数据位于此仓库之外,并采用其自身许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。