关于 pacs008-mcp
pacs008-mcp 将 `pacs008` 库封装为 ISO 20022 `pacs.008` 金融机构间转账工具,面向需要处理转账消息的 AI Agent。它涵盖消息生成、解析、方案规则校验及地址检查,并支持转换旧版 SWIFT MT103 记录。
主要功能
- 01发现 pacs 消息类型与方案
- 02校验记录、方案规则及原始 XML
- 03生成并解析 pacs 消息
- 04将 SWIFT MT103 转为记录
- 05分类、校验与修复邮政地址
- 06批量校验付款方与收款方地址
适用场景
- 01生成并检查 pacs.008 转账 XML
- 02解析入站 ISO 20022 消息
- 03迁移 SWIFT MT103 转账数据
- 04检查地址是否符合结构化地址政策
MCP 相关
这是一个 MCP 服务,将 `pacs008` 库的能力作为类型化工具提供给客户端,可通过 stdio、Streamable HTTP 或 SSE 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
16收录的工具列表 · 更新于 1 天前
此工具无需参数。
详细介绍
pacs008-mcp:用于 ISO 20022 FI-to-FI 信用转账的 MCP 服务
一个 Model Context Protocol 服务,它将 pacs008 ISO 20022 FI-to-FI 客户信用转账库作为工具提供给 AI Agent 和助手——可发现消息类型和支付方案配置文件,根据 JSON Schema 和支付渠道的使用指南验证记录,生成经过验证的 XML,根据随附的 XSD 验证原始 XML,并解析入站消息;这些功能都可通过你喜爱的 MCP 客户端使用。
最新版本:v0.0.15:提供 16 个 MCP 工具,支持 stdio、可流式传输的 HTTP 或 SSE;所有工具均由
pacs008库提供支持,适用于 Python 3.10+。validate_xml现在会拒绝 DTD 实体并返回错误负载,所有 CI 和映像安装均已固定哈希值。
目录
概览
Model Context Protocol(MCP)是一种开放标准,让 AI Agent 和助手能够以统一的方式发现并调用外部工具。pacs008-mcp 是一个 MCP 服务,可将 pacs008 库转化为一组一流的 Agent 工具,让助手能够直接在对话中生成、验证和解析 ISO 20022 pacs.008 FI-to-FI 客户信用转账 XML 消息,以及相关的 pacs.002/.004 状态和退回消息。
每个工具都是对 pacs008 库的轻量型、有类型约束的封装——与 CLI 和 REST API 使用同一个软件包——因此所有接口的行为都一致。工具会返回可序列化为 JSON 的数据;发生验证错误时,会返回 {"error": ...} 负载,而不会抛出异常。
- 网站: https://pacs008.com
- 源代码: https://github.com/sebastienrousseau/pacs008-mcp
- 错误报告: https://github.com/sebastienrousseau/pacs008-mcp/issues
flowchart LR
A["MCP client<br/>(Claude Desktop, IDE, agent)"] -->|stdio| B["pacs008-mcp"]
B -->|delegates to| C["pacs008 library"]
C -->|render + validate| D["ISO 20022 pacs XML"]
安装
pacs008-mcp 可在 macOS、Linux 和 Windows 上运行,需要 Python 3.10+
和 pip。它会自动安装核心 pacs008 库和 MCP SDK。
python -m pip install pacs008-mcp
**注意:**由于核心
pacs008库尚未发布到 PyPI,请先从 源代码安装:python -m pip install "git+https://github.com/sebastienrousseau/pacs008.git" python -m pip install pacs008-mcp
快速开始
通过 stdio 启动服务(默认传输方式):
pacs008-mcp
在任意 MCP 客户端(例如 Claude Desktop)中注册该服务,只需将其添加到 客户端的配置中:
{
"mcpServers": {
"pacs008": { "command": "pacs008-mcp" }
}
}
传输方式
一条命令行,三种传输方式:
| 命令 | 传输方式 | 端点 | 协议修订版本 |
|---|---|---|---|
pacs008-mcp | stdio | 客户端启动进程 | 2026-07-28, 2025-11-25 |
pacs008-mcp --transport streamable-http | Streamable HTTP | http://127.0.0.1:8000/mcp | 同一端点支持 2026-07-28(无状态,server/discover)和 2025-11-25(initialize、Mcp-Session-Id);响应以服务器发送事件流的形式传输,GET 会打开服务器到客户端的数据流 |
pacs008-mcp --transport sse | HTTP+SSE (2024-11-05) | http://127.0.0.1:8000/sse 和 /messages/ | 适用于仍使用较旧传输方式的客户端 |
--host 和 --port 可更改绑定地址(默认值分别为 127.0.0.1 和
8000)。HTTP 传输方式本身不提供身份验证:请绑定到回环地址,或在绑定到
可路由地址之前,将服务置于可信网关之后。每个版本都会使用
passmcp 在两个协议时期通过
Streamable HTTP 验证,并使用 MCP SDK 客户端通过 SSE 验证;请参阅
ADR 0001。
{
"mcpServers": {
"pacs008": { "url": "http://127.0.0.1:8000/mcp" }
}
}
工具
所有工具都封装了 pacs008 库,因此其行为与 CLI 和 REST API 完全一致。
list_message_types— 列出 20 种受支持的 ISO 20022 pacs 消息类型list_schemes— 列出已注册的方案/使用指南配置get_scheme— 检查方案配置的规则get_required_fields— 获取消息类型所需的输入字段get_input_schema— 获取消息类型的完整输入 JSON Schemavalidate_records— 根据消息类型的架构验证扁平记录validate_scheme— 根据方案的使用指南验证记录generate_message— 生成经过验证的 pacs XML 消息validate_xml— 根据内置 XSD 验证原始 XML 字符串parse_message— 解析并分类传入的 ISO 20022 消息convert_mt103— 将旧版 SWIFT MT103 转换为适用于 pacs.008 的记录(MT→MX 迁移)classify_address— 将邮政地址分类为结构化/混合/非结构化validate_address— 根据地址策略验证单个邮政地址repair_address— 将旧版非结构化地址行升级为混合/结构化形式validate_addresses— 批量验证所有支付记录中的各方地址verify_bic_online— 检查 BIC 格式,并在已配置的 BIC 目录中查询(需要onlineextra)
2026 年 11 月结构化地址截止日期
2026 年 11 月 14 日,SWIFT CBPR+、HVPS+、TARGET2 RTGS、CHAPS、Fedwire 和 Lynx 将停用完全非结构化邮政地址——在此日期之后,任何包含仅有非结构化邮政地址的跨境或大额支付都会在支付通道被拒绝。上文提到的四种地址工具封装了 pacs008 库的 standards.address 模块,帮助 Agent 提前做好准备:classify_address 可显示地址当前所处的状态,validate_address
/ validate_addresses 会执行策略(默认采用截止日期规则 hybrid_or_structured,拒绝非结构化地址),而
repair_address 会运行适用于特定国家/地区的启发式规则(GB、US、DE、FR、JP,以及尽力而为的回退方案),将旧版地址行转换为混合格式。
修复步骤仍处于实验阶段——提交给下游系统前,请先审核其输出。
使用工具
你可以直接通过服务实例在进程内调用这些工具,无需传输层。这与 Agent 通过 stdio 收到的内容一致。此代码片段的可运行版本位于 examples/mcp_tools.py。
import asyncio
from pacs008_mcp.server import server
record = [
{
"msg_id": "MSG001",
"creation_date_time": "2026-01-15T10:30:00",
"nb_of_txs": "1",
"settlement_method": "CLRG",
"interbank_settlement_date": "2026-01-15",
"end_to_end_id": "E2E001",
"interbank_settlement_amount": "1000.00",
"interbank_settlement_currency": "EUR",
"charge_bearer": "SHAR",
"debtor_name": "Debtor Corp",
"debtor_agent_bic": "DEUTDEFF",
"creditor_agent_bic": "COBADEFF",
"creditor_name": "Creditor Ltd",
}
]
async def main() -> None:
async def call(name, args):
result = await server.call_tool(name, args)
content = result[0] if isinstance(result, tuple) else result
return content[0].text if content else ""
print(await call("list_schemes", {}))
xml = await call("generate_message",
{"message_type": "pacs.008.001.08", "records": record})
print(xml[:46]) # -> <?xml version="1.0" encoding="UTF-8"?> ...
asyncio.run(main())
直接运行:
python examples/mcp_tools.py
开发
git clone https://github.com/sebastienrousseau/pacs008-mcp.git && cd pacs008-mcp
mise install
poetry install
poetry shell
此软件包依赖核心
pacs008库。在该库发布到 PyPI 之前, 请先从源代码安装:pip install "git+https://github.com/sebastienrousseau/pacs008.git"。
Makefile 负责协调质量检查(与 CI 保持同步):
make check # all gates (REQUIRED before commit)
make test # pytest, 100% line+branch coverage
make lint # ruff + black
make type-check # mypy --strict
make doc-coverage # interrogate, 100% docstrings
make mutate # mutmut over the tool handlers, gated
make docs # Sphinx site, warnings are errors
文档
- 已渲染的文档: sebastienrousseau.github.io/pacs008-mcp — API 参考、基准测试、ADR、变更日志
- 可运行示例:
examples/mcp_tools.py - 发布历史: CHANGELOG.md
- 核心库文档: pacs008.com
- MCP 规范: modelcontextprotocol.io
相关 MCP 服务
属于 ISO 20022 MCP Suite——面向银行和金融服务 AI Agent 的开源 Apache-2.0 许可 MCP 服务:
| 服务 | 用途 |
|---|---|
pain001-mcp | 生成并验证 ISO 20022 pain.001 支付文件(v03–v12、pain.008、SEPA),并检查规则手册 |
camt053-mcp | 解析并对账 ISO 20022 camt.053 银行对客户对账单——已支持 CBPR+/HVPS+ |
acmt001-mcp | 生成并验证 ISO 20022 acmt 账户管理消息 |
bankstatementparser-mcp | 将银行对账单(BAI2、MT940/MT942、CAMT.053、OFX、CSV)解析为结构化交易 |
noyalib-mcp | 无损解析、格式化和验证 YAML 1.2(Rust,100% 符合规范) |
MCP 注册表
mcp-name: io.github.sebastienrousseau/pacs008-mcp
许可证
根据 Apache License, Version 2.0 授权。提交以供纳入的任何贡献均应按上述条款授权,不附加其他条款。
贡献
致谢
基于 pacs008 ISO 20022 FI-to-FI 客户信用转账
库和 Model Context Protocol Python SDK 构建。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。