mcpField
O
Ontology Mcp Server

Ontology Mcp Server

ローカル
github.com/mrcholis金融データ019 週間前に更新

Ontology Mcp Server について

Ontology MCP ServerはISO 20022 XMLを検索可能なRDF金融ナレッジグラフに変換し、銀行、フィンテック企業、決済処理事業者向けに提供します。メッセージを関連付け、ライフサイクル検索や異常検知、ストリーム取り込みを行えます。

主な機能

  1. 01ISO 20022 XMLの解析とRDF変換
  2. 02取引とメッセージのライフサイクル検索
  3. 03SPARQLクエリの実行
  4. 04高額取引と残高異常の検出
  5. 05BIC別の機関活動集計
  6. 06WebSocketによるXMLストリーム取り込み

活用シーン

  1. 01複数のXMLファイルから金額や機関で取引を検索
  2. 02決済と取消メッセージの関連経路を追跡
  3. 03読み込んだデータの残高不一致や異常を確認
  4. 04到着するXMLメッセージを逐次処理

MCP 対応

金融シグナルとグラフ操作を、MCP対応クライアント向けのツールとして公開します。XML取り込み、グラフ検索、ライフサイクル照会、異常検知を利用できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ontology": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mrcholis/ontology-mcp"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/mrcholis/ontology-mcp

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

パッケージ
ocighcr.io/mrcholis/ontology-mcp

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Ontology MCP Server

ISO 20022 の銀行メッセージを、MCP を介してあらゆる AI エージェントが利用できる、クエリ可能なナレッジグラフに変換します。

銀行、フィンテック企業、決済処理業者は、毎日何千もの ISO 20022 メッセージ(pacs.008 決済、camt.056 取消、camt.029 応答など)を扱っています。これらの XML ファイルは情報が密で相互につながり、ファイルをまたいだクエリはほぼ不可能でした。これまでは。

Ontology は ISO 20022 XML を取り込み、構造化された金融シグナルを抽出して RDF ナレッジグラフを構築し、MCP 互換の AI エージェントが利用できるネイティブツールとして公開します。

pip install ontology-mcp
python mcp_server.py
# Connect Claude Desktop, Cursor, or any MCP client

これが必要な理由

ISO 20022 は、金融メッセージングのグローバル標準です。すべての決済、決済処理、取消、明細書がこの標準を通じてやり取りされます。しかし、データは次のような問題を抱えています。

  • XML はクエリできません — 「BLUEUSNY が関わる 50,000 ドル超のすべての取引」を見つけるには、ファイルを grep する必要があります
  • メッセージは相互につながっています — camt.056 の取消は pacs.008 の決済を参照しますが、両者は別々の XML ファイルにあり、リンクがありません
  • AI エージェントはデータを利用できません — RAG を使っても、構造化された金融データを単純にチャンク化するのは困難です

Ontology は、自然言語インターフェースを備えた型付きのリンクされたナレッジグラフを構築し、この 3 つの問題をすべて解決します。


クイックスタート

Docker(最も簡単)
docker pull ghcr.io/mrcholis/ontology-mcp:latest
docker run ghcr.io/mrcholis/ontology-mcp

または、デモを実行します。

docker run ghcr.io/mrcholis/ontology-mcp python demo.py
pip install
pip install ontology-mcp
# Or with persistent storage:
pip install "ontology-mcp[oxigraph]"
2. デモを実行する
python -m ontology_mcp.demo

サンプルの ISO 20022 メッセージを読み込み、グラフの内容を表示します。

3. サーバーを起動する
python mcp_server.py
4. Claude Desktop に接続する

claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "ontology": {
      "command": "python",
      "args": ["/path/to/ontology-mcp/mcp_server.py"]
    }
  }
}

Claude を再起動します。次のように質問できるようになります。

「messages フォルダーから XML ファイルを読み込み、BLUEUSNY が関わる 50,000 ドル超のすべての取引を見つけて」

「取消ケース 20220718USDDSA9407803873 のライフサイクル全体を教えて」

「読み込んだデータに異常や残高の不一致はありますか?」


できること

ツール機能
extract_and_mapISO 20022 XML を解析 → シグナルを抽出 → RDF に変換し、グラフにマージします
load_xml_fileディスクから XML ファイルを読み込み、処理します
load_output_directoryフォルダーから、事前に構築されたすべての .ttl ファイルを読み込みます
query_lifecycleケース ID/取引 ID/BIC に関するメッセージチェーン全体を取得します
sparql_queryグラフに対して任意の SPARQL を実行します
find_anomalies高額取引、却下された取消、残高の不一致にフラグを付けます
get_institution_activityBIC コードに関するすべてのメッセージと、種類別の合計を取得します
graph_statsトリプル数、シグナルの内訳、BIC の一覧を取得します
start_stream_serverXML 取り込み用の WebSocket サーバーを起動します
push_stream_messageXML メッセージを WebSocket 経由でリアルタイムに送信します
サポートされているメッセージタイプ
メッセージ説明
pacs.008決済開始(FI → FI)
pacs.009決済処理
camt.053口座明細書
camt.054入出金通知
camt.056取消依頼
camt.026適用不可
camt.029取消応答/解決

アーキテクチャ

ISO 20022 XML
    |
    v
FinancialSignalExtractionPipeline   → extracts typed Python signal objects
    |
    v
FinancialSignalToRDFMapper          → maps signals to RDF triples
    |
    v
RDF Knowledge Graph (rdflib / Oxigraph)
    |  queryable via SPARQL
    v
MCP Tools (mcp_server.py)           → exposed over stdio transport
    |
    v
AI Agent / Claude Desktop

永続ストレージには Oxigraph(RocksDB ベース)を使用します。Oxigraph がインストールされていない場合は、インメモリの rdflib にフォールバックします。


使用例

決済ライフサイクル全体をクエリする
User: What happened with cancellation case 20220718USDDSA9407803873BLUEUSNY001?

Agent: I found 4 messages in the lifecycle:

  1. pacs.008 — Payment initiated (BLUEUSNY → FEDNYUSS)
     $94,078.03 USD on 2022-07-18

  2. camt.056 — Cancellation requested by BLUEUSNY
     Reason: duplicate submission

  3. camt.029 — Cancellation rejected
     Reason: payment already settled

  4. camt.026 — Unable to apply notification sent to BLUEUSNY
異常を見つける
User: Are there any unusual transactions?

Agent: Found 4 high-value transactions (>$50K):
  - TXN_20220718_001: $94,078.03 (BLUEUSNY → FEDNYUSS)
  ...

Found 1 rejected cancellation:
  - Case 20220718USDDSA9407803873: rejected (already settled)

開発

git clone https://github.com/mrcholis/ontology-mcp
cd ontology-mcp
python3.11 -m venv venv311
source venv311/bin/activate
pip install -e ".[all]"

# Run tests
python _test_mcp_v2.py

ロードマップ

  • ISO 20022 メッセージのサポート(pacs.008/009、camt.053/054/056/026/029)
  • 永続的な Oxigraph ストレージ
  • WebSocket ストリーミング取り込み
  • 本番環境向け IRI(http://example.org/ の名前空間を置き換え)
  • SPARQL HTTP エンドポイント
  • pain.001/pain.002 決済開始メッセージ
  • 1 コマンドでデプロイできる Docker イメージ

ライセンス

MIT

コメント

MCP は初めてですか?

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

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