mcpField
C
camt-exceptions

camt-exceptions

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

camt-exceptions について

camt-exceptionsは、ISO 20022の例外・調査メッセージを生成・検証するMCPサーバーです。camt.056の取消依頼とcamt.029の調査結果に対応し、XMLを同梱の公式XSDで検証します。

主な機能

  1. 01camt.056とcamt.029のXML生成
  2. 02公式XSDによる生成結果の検証
  3. 03XMLの検証
  4. 04メッセージ種別と必須項目の一覧
  5. 05stdio、HTTP、SSEの各トランスポート

活用シーン

  1. 01銀行間の支払い取消依頼の作成
  2. 02調査結果メッセージの生成
  3. 03E&I XMLのスキーマ適合確認

MCP 対応

メッセージ種別の一覧、必須項目の取得、メッセージ生成、XML検証を行う4つのツールを提供します。stdio、Streamable HTTP、SSEに対応します。

設定

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

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

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

パッケージ
pypicamt-exceptions0.0.20

ツール

4

掲載時のツール一覧 · 2 週間前に更新

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

詳細

camt-exceptions:ISO 20022 の例外処理と調査、生成および XSD 検証済み

Build Status PyPI version Glama MCP server score OpenSSF Scorecard License Python Version

camt-exceptions デモ

ISO 20022 の例外処理と調査(E&I)camt メッセージを生成・検証します — MCP サーバーを利用します。 camt.056(金融機関間支払取消依頼)から始められます。これは銀行がすでに送信した支払いの取消または回収を依頼するメッセージです。二重払い、金額の誤り、不正利用による回収などに対応します。返却前に、同梱された公式 XSDで出力を検証します。

最新リリース:v0.0.20:camt.056 と camt.029 の生成・検証、stdio、Streamable HTTP、SSE に対応した 4 つの MCP ツール、100% のブランチカバレッジを提供します。Python 3.10 以降に対応しています。ISO 20022 MCP スイートの一部です。追加の E&I メッセージ(camt.029、camt.026、camt.027、camt.087)も同じエンジンに組み込めます。

E&I を選ぶ理由

支払いに問題が発生したときは、例外処理と調査のメッセージで解決します。しかし、これらは ISO 20022 の中でも特にツールが不足している領域です。camt.056 だけでも、最もよくあるニーズである **「あの支払いを取り消す/回収する必要がある」**に対応します。このライブラリを使えば、スイート内のほかの信用振替ジェネレーターと同等の機能を備えた、エージェント向けのスキーマ検証済み処理を 1 回の呼び出しで実行できます。

インストール

pip install camt-exceptions
# or run the MCP server without installing:
uvx camt-exceptions

MCP クライアントの設定(例:Claude Desktop):

{
  "mcpServers": {
    "camt-exceptions": {
      "command": "camt-exceptions-mcp"
    }
  }
}

クイックスタート — 支払いを取り消す

from camt_exceptions import generator as g

xml = g.generate_message("camt.056.001.12", {
    "assignment_id": "CXL-001",
    "assigner_agent_bic": "DEUTDEFF",
    "assignee_agent_bic": "COBADEFF",
    "creation_date_time": "2026-03-02T10:00:00",
    "original_msg_id": "MSG-ORIG-001",
    "original_msg_nm_id": "pacs.008.001.08",
    "transactions": [{
        "original_end_to_end_id": "E2E-001",
        "original_interbank_settlement_amount": "1000.00",
        "original_interbank_settlement_currency": "EUR",
        "cancellation_reason_cd": "DUPL",       # duplicate payment
    }],
})
assert g.validate_xml("camt.056.001.12", xml)["is_valid"]   # True

トランスポート

1 つのコマンドラインで、3 つのトランスポートを利用できます。

コマンドトランスポートエンドポイントプロトコルのリビジョン
camt-exceptions-mcpstdioクライアントがプロセスを起動します2026-07-28、2025-11-25
camt-exceptions-mcp --transport streamable-httpStreamable HTTPhttp://127.0.0.1:8000/mcp2026-07-28(ステートレス、server/discover)および 2025-11-25(initialize、Mcp-Session-Id)を同一エンドポイントで利用できます。応答はサーバー送信イベントとしてストリームされ、GET でサーバーからクライアントへのストリームを開きます
camt-exceptions-mcp --transport sseHTTP+SSE (2024-11-05)http://127.0.0.1:8000/sse および /messages/古いトランスポートを引き続き想定するクライアント向け

--host と --port でバインドアドレスを変更できます(デフォルトは 127.0.0.1 と 8000 です)。HTTP トランスポート自体には認証機能がありません。ループバックにバインドするか、到達可能なアドレスにバインドする前に、信頼できるゲートウェイの背後にサーバーを配置してください。すべてのリリースについて、両方のプロトコル世代で scout を使用した Streamable HTTP、および MCP SDK クライアントを使用した SSE で動作を検証しています。詳しくは ADR 0001 を参照してください。

{
  "mcpServers": {
    "camt-exceptions": { "url": "http://127.0.0.1:8000/mcp" }
  }
}

ツール

  • list_message_types — 対応する E&I メッセージの種類と名称を一覧表示します。
  • get_required_fields — メッセージの種類ごとに、トップレベルで必須となるフィールドを表示します。
  • generate_message — レコードから検証済みの E&I XML メッセージを生成します(返却前に同梱の XSD で検証します)。
  • validate_xml — 生の XML をメッセージの種類に対応する同梱 XSD で検証します。

サポート対象のメッセージ

メッセージ名前状態
camt.056.001.12金融機関間の支払取消依頼✅
camt.029.001.14調査の解決✅
camt.026適用不可計画中
camt.027未受領の申し立て計画中
camt.087支払変更依頼計画中

新しいメッセージはそれぞれ、同じエンジンに追加できます。公式の XSD と template.xml を同梱し、MESSAGE_TYPES に登録します。生成された出力は返却前に 必ず XSD で検証されるため、正確性は主張ではなく、機械的に確認されます。

注:E&I ファミリーの支払状況メッセージと返金メッセージ、 pacs.002(支払状況レポート)と pacs.004(支払返金)は、 pacs008-mcp ですでに生成され、XSD 検証にも合格しています。

スイート

ベンダーに依存しない、Python ネイティブな ISO 20022 MCP サーバー群の一部です。

ドキュメント

開発

git clone https://github.com/sebastienrousseau/camt-exceptions
cd camt-exceptions
python -m venv .venv && . .venv/bin/activate
pip install -e . && pip install pytest pytest-cov hypothesis ruff black mypy interrogate "mutmut>=3.7,<4"
pytest                      # 100% branch coverage gate; output is XSD-validated
ruff check camt_exceptions tests && black --check camt_exceptions tests && mypy camt_exceptions
interrogate -c pyproject.toml camt_exceptions   # 100% docstring gate
mutmut run && mutmut export-cicd-stats && python scripts/mutation_gate.py --floor 90

ライセンス

Apache License, Version 2.0 または MIT License のいずれかを選択して利用できます。同梱されている ISO 20022 メッセージスキーマ (*.xsd)の著作権は © ISO 20022 に帰属し、ISO 20022 の規約に基づいて再配布されています。これらは iso20022.org で公開されているものと同じスキーマです。


mcp-name: io.github.sebastienrousseau/camt-exceptions

コメント

MCP は初めてですか?

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

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