mcpField
A
acmt001-mcp

acmt001-mcp

ローカル
github.com/sebastienrousseau金融データ1今日更新

acmt001-mcp について

acmt001-mcpは、acmt001 ISO 20022口座管理ライブラリをMCPサーバーとして提供し、金融分野のAIエージェントやアシスタントがメッセージを調べ、データを検証し、XMLを生成できます。7つのツールは共通のサービス層を使い、stdio、Streamable HTTP、SSEに対応します。

主な機能

  1. 01メッセージ種別と必須項目の一覧
  2. 02完全な入力JSON Schemaの提供
  3. 03レコード、IBAN、BIC、LEIの検証
  4. 04検証済みISO 20022 XMLの生成
  5. 05LEIのオンライン登録情報検索

活用シーン

  1. 01口座管理メッセージの必須項目を確認
  2. 02口座レコードと金融識別子を検証
  3. 03口座開設や変更のXMLを生成

MCP 対応

MCPサーバーは、メッセージの確認、データ検証、XML生成を行う7つのacmt001ツールをクライアントに公開します。stdio、Streamable HTTP、SSEに対応します。

設定

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

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

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

パッケージ
pypiacmt001-mcp0.0.15

ツール

7

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

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

詳細

acmt001-mcp:ISO 20022 アカウント管理用 MCP サーバー

acmt001-mcp バナー

ビルド レジストリ ドキュメント OpenSSF スコアカード OpenSSF のベストプラクティス ライセンス:Apache-2.0 OR MIT Python 3.10 以降 Glama MCP サーバーの掲載ページ

acmt001 ISO 20022 アカウント管理ライブラリを、AI エージェントやアシスタント向けのツールとして公開する Model Context Protocol サーバーです — メッセージタイプの検出、入力スキーマの確認、レコードや金融識別子の検証、検証済み XML の生成を、お気に入りの MCP クライアントからすべて実行できます。

最新リリース:v0.0.13:stdio、ストリーマブル HTTP、または SSE 経由で利用できる 7 つの MCP ツールを提供します。すべて共有の acmt001.services レイヤーを基盤とし、Python 3.10 以降に対応しています。 acmt001 0.0.13 と同時にリリースされ、すべての CI とイメージのインストールは ハッシュで固定されており、ツールにはファジングテストを実施しています。新機能を見る →

acmt001-mcp のデモ


目次

概要

Model Context Protocol(MCP)は、AI エージェントやアシスタントが外部ツールを一貫した方法で検出し、呼び出せるようにするオープン標準です。acmt001-mcp は、acmt001 ライブラリを、エージェントがすぐに使える一連のツールに変換する MCP サーバーです。これにより、アシスタントは、銀行口座のライフサイクル(開設、維持、閉鎖、識別、切り替え)を管理する標準化された指示、確認、レポートである ISO 20022 acmt Account Management XML メッセージを会話から直接生成し、検証できます。

すべてのツールは、CLI と REST API でも使用される共通の単一ファサードである acmt001.services を薄く型付けしてラップしています。そのため、すべてのインターフェースは同じように動作します。ツールは JSON にシリアライズ可能なデータを返し、検証エラーが発生した場合は例外を送出するのではなく、{"error": ...} ペイロードを返します。

このパッケージは、acmt001.services レイヤーを共有する、個別にインストール可能なパッケージ群である acmt001 スイートの一部です。

  • acmt001 — コアライブラリ(CLI + REST API)
  • acmt001-mcp — このパッケージ。Model Context Protocol サーバー
  • acmt001-lsp — エディター向けの Language Server Protocol サーバー
flowchart LR
    A["MCP client<br/>(Claude Desktop, IDE, agent)"] -->|stdio| B["acmt001-mcp"]
    B -->|delegates to| C["acmt001.services"]
    C -->|render + validate| D["ISO 20022 acmt XML"]

インストール

acmt001-mcp は macOS、Linux、Windows で動作し、Python 3.10+ と pip が必要です。コアの acmt001 ライブラリと MCP SDK は自動的にインストールされます。

python -m pip install acmt001-mcp

注記: コアの acmt001 ライブラリはまだ PyPI に登録されていないため、先にソースからインストールしてください。

python -m pip install "git+https://github.com/sebastienrousseau/acmt001.git"
python -m pip install acmt001-mcp
分離された仮想環境を使用する(推奨)
python -m venv venv
source venv/bin/activate        # macOS/Linux
venv\Scripts\activate           # Windows
python -m pip install -U acmt001-mcp

クイックスタート

stdio(デフォルトのトランスポート)でサーバーを起動します。

acmt001-mcp

MCP クライアント(例:Claude Desktop)に登録するには、クライアントの設定に追加します。

{
  "mcpServers": {
    "acmt001": { "command": "acmt001-mcp" }
  }
}

これで、エージェントは以下のツールを呼び出して、必要に応じて口座データを検証し、ISO 20022 メッセージを生成できます。

トランスポート

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

コマンドトランスポートエンドポイントプロトコルのリビジョン
acmt001-mcpstdioクライアントがプロセスを起動2026-07-28、2025-11-25
acmt001-mcp --transport streamable-httpStreamable HTTPhttp://127.0.0.1:8000/mcp2026-07-28(ステートレス、server/discover)および 2025-11-25(initialize、Mcp-Session-Id)は同じエンドポイントを使用します。応答はサーバー送信イベントとしてストリーミングされ、GET でサーバーからクライアントへのストリームを開きます
acmt001-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": {
    "acmt001": { "url": "http://127.0.0.1:8000/mcp" }
  }
}

ツール

すべてのツールは共有の acmt001.services レイヤーに処理を委譲するため、CLI や REST API と同じように動作します。

  • list_message_types — サポートされている 34 種類の acmt メッセージタイプを一覧表示します
  • get_required_fields — メッセージタイプに必要な入力フィールドを取得します
  • get_input_schema — メッセージタイプの完全な入力 JSON Schema を取得します
  • validate_records — メッセージタイプに対してフラットレコードを検証します
  • validate_identifier — IBAN、BIC、または LEI を検証します
  • generate_message — 検証済みの acmt XML メッセージを生成します
  • verify_lei_online — ライブの GLEIF レジストリで LEI を検索します(online エクストラが必要です)

ツールの使用

トランスポートを介さず、サーバーインスタンスから直接、プロセス内でツールを呼び出せます。これは、エージェントが標準入出力経由で受け取る内容を再現します。このスニペットの実行可能なバージョンは、examples/mcp_tools.py にあります。

import asyncio

from acmt001_mcp.server import server

# A single flat account-opening record.
record = [
    {
        "msg_id": "ACMT-MSG-0001",
        "creation_date_time": "2026-01-15T10:30:00",
        "process_id": "ACMT-PRC-0001",
        "account_id": "GB29NWBK60161331926819",
        "account_currency": "EUR",
        "account_name": "Treasury Operating Account",
        "account_type_cd": "CACC",
        "account_servicer_bic": "NWBKGB2LXXX",
        "account_owner_name": "Acme Embedded Finance Ltd",
        "account_owner_country": "GB",
        "org_full_legal_name": "Acme Embedded Finance Limited",
        "org_country_of_operation": "GB",
        "org_id_lei": "5493001KJTIIGC8Y1R12",
    }
]


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 ""

    # Validate an identifier.
    print(await call("validate_identifier",
                     {"kind": "lei", "value": "5493001KJTIIGC8Y1R12"}))
    # -> {"kind": "lei", "value": "5493001KJTIIGC8Y1R12", "valid": true}

    # Generate a validated ISO 20022 Account Opening Request.
    xml = await call("generate_message",
                     {"message_type": "acmt.007.001.05", "records": record})
    print(xml[:46])  # -> <?xml version="1.0" encoding="UTF-8"?> ...


asyncio.run(main())

直接実行します。

python examples/mcp_tools.py

ベンチマーク

python benches/bench_tool_dispatch.py           # full run
python benches/bench_tool_dispatch.py --quick   # what CI runs

ベンチマークでは、エージェントが待つ時間を測定します。ディスパッチの最低時間(list_message_types は約 1 マイクロ秒)、リクエストの構築に使われるメタデータの参照、そして 2 つのバッチツールを並べて測定します。

知っておくべき結果は、この 2 つの非対称性です。 validate_records はすべてのレコードをチェックするため、バッチサイズに対して線形に処理時間が増えます。 一方、generate_message は、既定の acmt.007.001.05 のような単一アカウント向けのメッセージタイプでは、最初のレコードだけをレンダリングします。34 個のテンプレートのうち 27 個はこのように動作します。そのため、100 件のレコードを検証してメッセージを生成する場合、検証に約 260 ms、生成に 6 ms かかり、100 件ではなく 1 件のメッセージが返されます。

これは ISO 20022 の正しい動作ですが、バッチ処理では実際に注意が必要です。そのため、ベンチマークでは処理時間とともに出力サイズも表示します。入力を増やしてもバイト数が変わらない場合、バッチの残りの部分がレンダリングされていないことがわかります。詳しくは docs/benchmarks.md を参照してください。

ドキュメント

開発

acmt001-mcp は Poetry と mise を使用します。

git clone https://github.com/sebastienrousseau/acmt001-mcp.git && cd acmt001-mcp
mise install
poetry install
poetry shell

このパッケージはコアの acmt001 ライブラリに依存しています。PyPI に登録されるまでは、先にソースからインストールしてください。 pip install "git+https://github.com/sebastienrousseau/acmt001.git"。

Makefile が品質チェック(CI と同じ内容を維持)を統括します。

make check        # all gates (REQUIRED before commit)
make test         # pytest, 100% line and 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 on the score
make docs         # Sphinx site, warnings are errors

プロパティベーステスト(Hypothesis)は make test の一部として実行されます。ミューテーションテストで使用する、より軽量なプロファイルを設定するには、HYPOTHESIS_PROFILE=mutation を指定してください。

関連する MCP サーバー

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

サーバー用途
pain001-mcpISO 20022 の pain.001 支払いファイル(v03~v12、pain.008、SEPA)を生成・検証し、ルールブックをチェック
pacs008-mcpISO 20022 の pacs.008 FI 間クレジット振替を生成、検証、解析、スキームチェックし、2026 年 11 月の住所 lint に対応
camt053-mcpISO 20022 の camt.053 銀行から顧客向け明細書を解析・照合 — CBPR+/HVPS+ 対応
bankstatementparser-mcp銀行明細書(BAI2、MT940/MT942、CAMT.053、OFX、CSV)を解析し、構造化された取引データに変換
noyalib-mcpロスレスな YAML 1.2 の解析、書式設定、検証(Rust、仕様への準拠率 100%)

MCP Registry

mcp-name: io.github.sebastienrousseau/acmt001-mcp


ライセンス

Apache License, Version 2.0 に基づいてライセンスされています。収録のために提出された貢献も、追加条件なしで上記と同じライセンスが適用されます。

貢献

貢献を歓迎します。貢献ガイドをご覧ください。貢献者の皆さん、ありがとうございます。

謝辞

acmt001 ISO 20022 アカウント管理ライブラリと Model Context Protocol Python SDK を基盤として構築されています。

コメント

MCP は初めてですか?

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

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