mcpField
P
pacs008-mcp

pacs008-mcp

ローカル
github.com/sebastienrousseau金融データ11 日前に更新

pacs008-mcp について

pacs008-mcpは、ISO 20022の金融機関間送金 `pacs.008` を扱う `pacs008` ライブラリをツールとして公開します。送金メッセージを扱うエージェント向けで、生成、解析、スキーム検証、住所チェックに加え、旧形式SWIFT MT103のレコード変換にも対応します。

主な機能

  1. 01pacsメッセージ型とスキームの検索
  2. 02レコード、スキーム規則、XMLの検証
  3. 03pacsメッセージの生成と解析
  4. 04SWIFT MT103をレコードに変換
  5. 05郵便住所の分類、検証、修復
  6. 06支払い行の住所を一括検証

活用シーン

  1. 01pacs.008送金XMLの生成と確認
  2. 02受信ISO 20022メッセージの解析
  3. 03SWIFT MT103送金データの移行
  4. 04構造化住所ポリシーへの適合確認

MCP 対応

`pacs008`ライブラリを基盤とする型付きツールを提供するMCPサーバーです。stdio、Streamable HTTP、SSEで接続できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"sebastienrousseau-pacs008": {
"command": "uvx",
"args": [
"pacs008-mcp"
]
}
}
}
起動コマンドuvx pacs008-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypipacs008-mcp0.0.16

ツール

16

掲載時のツール一覧 · 1 日前に更新

このツールにパラメーターはありません。

詳細

pacs008-mcp:ISO 20022 FI-to-FI クレジット送金用 MCP サーバー

pacs008-mcp banner

ビルド レジストリ ドキュメント OpenSSF Scorecard OpenSSF Best Practices ライセンス:Apache-2.0 OR MIT Python 3.10 以降 Glama MCP サーバーの掲載ページ

pacs008-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": ...}ペイロードを返します。

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-mcpstdioクライアントがプロセスを起動2026-07-28, 2025-11-25
pacs008-mcp --transport streamable-httpStreamable HTTPhttp://127.0.0.1:8000/mcp2026-07-28(ステートレス、server/discover)および 2025-11-25(initialize、Mcp-Session-Id)が同じエンドポイントで動作します。レスポンスはサーバー送信イベントとしてストリーミングされ、GET によりサーバーからクライアントへのストリームが開きます
pacs008-mcp --transport sseHTTP+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

ドキュメント


関連するMCPサーバー

ISO 20022 MCP Suite の一部です。銀行および金融サービス向けのAIエージェントを対象とした、Apache-2.0ライセンスのオープンソースMCPサーバーです。

サーバー用途
pain001-mcpISO 20022 pain.001決済ファイル(v03~v12、pain.008、SEPA)を生成・検証し、ルールブックに照らしてチェック
camt053-mcpISO 20022 camt.053の銀行から顧客向け明細書を解析・照合 — CBPR+/HVPS+対応
acmt001-mcpISO 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 を基盤として構築されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。