pacs008-mcp について
pacs008-mcpは、ISO 20022の金融機関間送金 `pacs.008` を扱う `pacs008` ライブラリをツールとして公開します。送金メッセージを扱うエージェント向けで、生成、解析、スキーム検証、住所チェックに加え、旧形式SWIFT MT103のレコード変換にも対応します。
主な機能
- 01pacsメッセージ型とスキームの検索
- 02レコード、スキーム規則、XMLの検証
- 03pacsメッセージの生成と解析
- 04SWIFT MT103をレコードに変換
- 05郵便住所の分類、検証、修復
- 06支払い行の住所を一括検証
活用シーン
- 01pacs.008送金XMLの生成と確認
- 02受信ISO 20022メッセージの解析
- 03SWIFT MT103送金データの移行
- 04構造化住所ポリシーへの適合確認
MCP 対応
`pacs008`ライブラリを基盤とする型付きツールを提供するMCPサーバーです。stdio、Streamable HTTP、SSEで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
16掲載時のツール一覧 · 1 日前に更新
このツールにパラメーターはありません。
詳細
pacs008-mcp:ISO 20022 FI-to-FI クレジット送金用 MCP サーバー
AI エージェントやアシスタント向けに、pacs008 ISO 20022 FI-to-FI 顧客クレジット送金ライブラリをツールとして公開する Model Context Protocol サーバーです — メッセージタイプやスキームプロファイルを確認し、JSON Schemaおよび決済レールの利用ガイドラインに照らしてレコードを検証し、検証済みXMLを生成し、受信したメッセージを解析できます。これらすべてを、お好みのMCPクライアントから利用できます。
最新リリース:v0.0.15:stdio、ストリーミング可能なHTTP、またはSSE経由で16個のMCPツールを提供します。すべて
pacs008ライブラリを基盤とし、Python 3.10以降に対応しています。validate_xmlはDTDエンティティをエラーペイロードとともに拒否するようになり、すべてのCIおよびイメージのインストールでハッシュを固定しています。
目次
概要
Model Context Protocol(MCP)は、AI エージェントやアシスタントが外部ツールを一貫した方法で検出し、呼び出せるようにするオープン標準です。pacs008-mcpは、pacs008ライブラリをエージェント向けの主要なツール群に変換するMCPサーバーです。これにより、アシスタントは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" }
}
}
トランスポート
1 つのコマンドラインで、3 種類のトランスポートを利用できます:
| コマンド | トランスポート | エンドポイント | プロトコルのリビジョン |
|---|---|---|---|
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 トランスポート自体に認証機能はありません。ループバックアドレスにバインドするか、ルーティング可能なアドレスにバインドする前に、信頼できるゲートウェイの背後にサーバーを配置してください。各リリースは、両方のプロトコル世代でストリーミング可能な HTTP を使って
passmcp で、また MCP SDK クライアントを使って SSE で検証されています。詳しくは
ADR 0001 を参照してください。
{
"mcpServers": {
"pacs008": { "url": "http://127.0.0.1:8000/mcp" }
}
}
ツール
すべてのツールは pacs008 ライブラリをラップしているため、CLI や
REST API と同じように動作します。
list_message_types— サポートされている ISO 20022 pacs メッセージタイプ 20 種類を一覧表示しますlist_schemes— 登録済みのスキーム/使用ガイドラインのプロファイルを一覧表示しますget_scheme— スキームプロファイルのルールを確認しますget_required_fields— メッセージタイプに必要な入力フィールドを取得しますget_input_schema— メッセージタイプの完全な入力 JSON Schema を取得しますvalidate_records— フラットなレコードをメッセージタイプのスキーマに照らして検証しますvalidate_scheme— レコードをスキームの使用ガイドラインに照らして検証しますgenerate_message— 検証済みの pacs XML メッセージを生成しますvalidate_xml— 未加工の XML 文字列を同梱の XSD に照らして検証しますparse_message— 受信した ISO 20022 メッセージを解析して分類しますconvert_mt103— 旧式の SWIFT MT103 を pacs.008 対応レコードに変換します(MT→MX 移行)classify_address— 住所を構造化/ハイブリッド/非構造化に分類しますvalidate_address— 1 件の住所を住所ポリシーに照らして検証しますrepair_address— 旧式の非構造化住所行をハイブリッド/構造化形式に近づけますvalidate_addresses— 支払行全体の各取引当事者の住所を一括検証しますverify_bic_online— BIC の形式を確認し、設定済みの BIC ディレクトリで照会します(onlineエクストラが必要です)
2026年11月の構造化住所への移行期限
2026年11月14日をもって、SWIFT CBPR+、HVPS+、TARGET2 RTGS、CHAPS、Fedwire、Lynxでは、完全に非構造化された郵便住所が廃止されます。この日以降、非構造化住所のみを含む国境を越える決済または高額決済は、決済ネットワークで拒否されます。上記の4つの住所ツールは、pacs008 ライブラリの standards.address モジュールをラップしているため、エージェントは期限に先んじて対応できます。classify_address は住所の現在の状態を示し、validate_address / validate_addresses はポリシーを適用します(デフォルトは期限ルール hybrid_or_structured で、非構造化住所を拒否します)。また、repair_address は国別のヒューリスティクス(GB、US、DE、FR、JPに加え、可能な範囲でのフォールバック)を使って、従来の住所行をハイブリッド形式に変換します。修復処理は実験的な機能です。後続処理に送信する前に、出力を監査してください。
ツールの使用
トランスポートを使わずに、サーバーインスタンスを通じてプロセス内でツールを直接呼び出せます。これは、エージェントが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
開発
pacs008-mcp は Poetry と mise を使用します。
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"。
品質ゲート(CIと同期した内容)は Makefile で管理されています。
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エージェントを対象とした、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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。