opensanctions-mcp について
opensanctions-mcp は、OpenSanctions の制裁対象者・PEP データを MCP 経由で AI エージェントに提供し、個人や企業のスクリーニングに使えます。エンティティ検索、照合、関係調査に対応し、セルフホストの yente にも接続できます。
主な機能
- 01名前やキーワードによるエンティティ検索
- 02個人・企業の制裁・PEP リスク照合
- 03エンティティの詳細と関係の取得
- 04データセットと詳細の確認
- 051 回の呼び出しでコンプライアンス調査
活用シーン
- 01個人が制裁リストに含まれるか確認
- 02企業と関連エンティティのスクリーニング
- 03制裁・PEP データセットの確認
- 04エンティティ間の関係を調査して構造化
MCP 対応
MCP サーバーは、エンティティ検索、スクリーニング、詳細取得、データセット参照のための OpenSanctions ツールを公開します。接続先にはホスト型 API またはセルフホストの yente を指定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y opensanctions-mcpOPENSANCTIONS_API_KEYシークレットOpenSanctions API key. Get a free key at https://www.opensanctions.org/api/OPENSANCTIONS_API_URLAPI URL. Defaults to https://api.opensanctions.org. Set to your self-hosted yente URL if applicable.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
6掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | number | いいえ | 返す結果の最大数(デフォルト:20) |
| query | string | はい | 検索する名前またはキーワード |
| schema | string | いいえ | エンティティタイプで絞り込み:「Person」、「Company」、「LegalEntity」、「Organization」 |
| dataset | string | いいえ | 特定のデータセットを対象にスクリーニングします(例:“us_ofac_sdn”)。デフォルトではすべてのデータセットが対象です。 |
詳細
opensanctions-mcp
MCP サーバーで、OpenSanctions API を通じて制裁対象のスクリーニングやPEPチェックを行います。
AI エージェント(Claude、Cursor、Windsurf、GPT)が、OFAC、EU、UN、UK HMT などの320以上の制裁リストやPEPリストに照らして、個人や企業をスクリーニングできます。
免責事項: このツールが提供するのは情報データのみです。法的助言やコンプライアンスに関する助言ではありません。対応を行う前に、必ず公式情報源で一致内容を確認してください。
クイックスタート
MCP クライアントの設定に追加します。
{
"mcpServers": {
"opensanctions": {
"command": "npx",
"args": ["-y", "opensanctions-mcp"],
"env": {
"OPENSANCTIONS_API_KEY": "your-key-here"
}
}
}
}
opensanctions.org/api で無料の API キーを取得してください。
この設定の追加先
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または%APPDATA%\Claude\claude_desktop_config.json(Windows) - Cursor: Settings > MCP Servers
- Windsurf:
~/.windsurf/config.json
ツール
search_entities
名前またはキーワードで OpenSanctions データベースを検索します。
"Search for entities named Viktor Bout"
"Find companies related to Iran sanctions"
match_entity
構造化プロパティを使って、個人や企業を制裁リストやPEPリストに照らしてスクリーニングします。これが主要なスクリーニングツールです。
"Screen Viktor Bout, born 1967-01-13, Russian national, against sanctions lists"
"Check if Acme Corp is on any EU sanctions list"
get_entity
特定のエンティティの詳細情報を取得します。他のエンティティ(企業、関係者、家族など)との関係も含まれます。
"Get full details for entity NK-2Ciy8EG7jz1YHMGCxYLb25"
list_datasets
利用可能な制裁データセットとPEPデータセットを一覧表示します。API キーは不要です。
"What sanctions lists are available?"
"Show me EU-related datasets"
get_dataset
特定のデータセットの詳細(発行元、エンティティ数、最終更新日時)を取得します。API キーは不要です。
"Tell me about the OFAC SDN list"
investigate_entity
1回の呼び出しで、照合、詳細情報の取得、関係性のマッピングを行い、構造化データを返す、コンプライアンス調査を実行します。
"Investigate Viktor Bout for sanctions exposure"
"Run a compliance check on Acme Corp, jurisdiction Belgium"
設定
| 環境変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
OPENSANCTIONS_API_KEY | はい* | — | ホスト型 OpenSanctions API の API キーです。opensanctions.org/api で取得してください。 |
OPENSANCTIONS_API_URL | いいえ | https://api.opensanctions.org | API URL です。セルフホストした yente インスタンスを指定します。 |
OPENSANCTIONS_DATASET | いいえ | default | 照合対象のデータセットです。default には320以上のソースがすべて含まれます。 |
OPENSANCTIONS_MAX_RETRIES | いいえ | 3 | API 呼び出しが失敗した場合の最大再試行回数です。 |
DEBUG | いいえ | — | 任意の値を設定すると、デバッグログが有効になります。 |
*list_datasets、get_dataset の実行時、または認証なしでセルフホストの yente インスタンスを使用する場合は不要です。
yente のセルフホスト
独自の yente インスタンスを実行している場合は、サーバーの接続先に指定します。
{
"mcpServers": {
"opensanctions": {
"command": "npx",
"args": ["-y", "opensanctions-mcp"],
"env": {
"OPENSANCTIONS_API_URL": "http://localhost:8000"
}
}
}
}
セルフホストの yente では API キーは不要です。
開発
git clone https://github.com/scka-de/opensanctions-mcp.git
cd opensanctions-mcp
npm install
npm test # run tests (fixtures, no API key needed)
npm run build # compile to dist/
npm run dev # run in dev mode
npm run lint # check code style
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。