OFAC Sanctions Screening — Fuzzy SDN List Matching について
米国財務省OFACのSDNリストに対して名前を照合するMCPサーバーです。KYC・AML業務向けに、複数のファジーマッチング方式と、単件・一括検索、リスト検索、詳細取得を提供します。
主な機能
- 01複数方式によるファジー照合
- 02単件および一括スクリーニング
- 03種別・生年月日・国での絞り込み
- 04SDN登録情報の取得
- 05リスト検索と統計表示
活用シーン
- 01顧客登録時の名前スクリーニング
- 02複数の名前データの一括確認
- 03UIDによる登録情報の確認
- 04リストや制裁プログラムの統計確認
MCP 対応
MCPクライアントに、制裁リストのスクリーニング、一括処理、登録情報の取得、リスト検索、統計のツールを提供します。stdioとHTTPのトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP OFAC 制裁スクリーニング
米国財務省 OFAC の SDN(特別指定国民)リストに照らして氏名をスクリーニングする、Model Context Protocol(MCP)サーバーです。Jaro-Winkler、音声学的手法、トークンセットのアルゴリズムを用いた、本番環境向けの高精度なファジーマッチングを提供します。
このツールが必要な理由
USD 建ての取引を処理するすべての企業には、OFAC 制裁リストに照らしたスクリーニングが法的に義務付けられています。違反に対する罰金は、1 件あたり $356,579 から始まります。エンタープライズ向けのスクリーニングツールは年間 $10,000~100,000 かかります。このサーバーなら、わずかな費用で同等の機能を利用できます。
ツール(全 5 種類)
| ツール | 説明 |
|---|---|
ofac_screen | ファジーマッチングで氏名をスクリーニングします。信頼度(完全一致/強い一致/部分一致/弱い一致)を含むスコア付きの候補を返します。種別、生年月日、国による絞り込みも可能です。 |
ofac_screen_batch | 1 回の呼び出しで最大 100 件の氏名をスクリーニングします。各氏名に種別、生年月日、国を指定すると、精度を高められます。 |
ofac_entity | UID を指定して SDN エントリーの詳細を取得します。別名、住所、ID、プログラム、生年月日、国籍、船舶情報を確認できます。 |
ofac_search | キーワード、事業体の種別、制裁プログラムで SDN リストを検索/閲覧します。 |
ofac_stats | 統計情報を一覧表示します。種別ごとのエントリー数、プログラム、上位の国、データの鮮度を確認できます。 |
データ
- 18,712 件のエントリーを OFAC SDN リストから収録(公開日:03/13/2026)
- 事業体の種別:事業体 9,521 件、個人 7,394 件、船舶 1,455 件、航空機 342 件
- 73 の制裁プログラム(RUSSIA、SDGT、IRAN、CUBA、DPRK、CYBER2 など)
npm run build-dataでデータを更新できます。
マッチングアルゴリズム
複数の手法を組み合わせたファジーマッチングのパイプラインです。
- Jaro-Winkler 類似度(40%)— 文字の転置やタイプミスに対応します
- トークンセットマッチング(30%)— 単語の並べ替えに対応します(「BANK OF IRAN」と「IRAN BANK」など)
- Double Metaphone 音声マッチング(20%)— 同じように発音される名前の綴りの違いを検出します
- 完全な部分文字列一致(10%)— 名前の一部が含まれる場合に一致させます
- 完全なトークン一致の加点 — 「PUTIN」のような単一名の検索でも、「Vladimir Vladimirovich PUTIN」に一致します
- 生年月日/国による加点 — 生年月日と国籍を相互参照し、誤検知を減らします
すべての結果には、信頼度スコア、一致種別の分類、なぜ一致したのかを説明する詳細な内訳が含まれます。
インストール
npx @easysolutions906/mcp-ofac
Claude Desktop
claude_desktop_config.json に追加します。
{
"mcpServers": {
"ofac": {
"command": "npx",
"args": ["-y", "@easysolutions906/mcp-ofac"]
}
}
}
Cursor
.cursor/mcp.json に追加します。
{
"mcpServers": {
"ofac": {
"command": "npx",
"args": ["-y", "@easysolutions906/mcp-ofac"]
}
}
}
REST API
PORT 環境変数を設定すると、HTTP サーバーとして実行できます。
PORT=3000 STRIPE_SECRET_KEY=sk_live_... ADMIN_SECRET=your_secret node src/index.js
| メソッド | エンドポイント | 説明 |
|---|---|---|
| POST | /screen | 1 件の氏名をスクリーニングします |
| POST | /screen/batch | 複数の氏名をスクリーニングします(最大 100 件) |
| GET | /entity/:uid | SDN エントリーの詳細を取得します |
| GET | /search | SDN リストを検索/閲覧します |
| GET | /programs | すべての制裁プログラムを一覧表示します |
| GET | /stats | データ統計情報を取得します |
| POST | /checkout | 有料プラン用の Stripe チェックアウトセッションを作成します |
| GET | /data-info | データの鮮度とレコード数を取得します |
例
curl -X POST https://your-server.com/screen \
-H 'Content-Type: application/json' \
-d '{"name": "PUTIN", "country": "Russia"}'
{
"matchCount": 1,
"matches": [{
"entity": {
"name": "Vladimir Vladimirovich PUTIN",
"sdnType": "Individual",
"programs": ["RUSSIA-EO14024"],
"title": "President of the Russian Federation"
},
"score": 0.86,
"matchType": "strong",
"matchedOn": "alias",
"matchedName": "Vladimir PUTIN"
}],
"listVersion": "03/13/2026",
"screenedAt": "2026-03-15T17:27:07.651Z"
}
料金プラン
| プラン | 1 日あたりのスクリーニング数 | バッチ | レート | 料金 |
|---|---|---|---|---|
| Free | 10 | 5 | 5/min | $0 |
| Starter | 100 | 25 | 15/min | $4.99/mo |
| Pro | 1,000 | 50 | 60/min | $29.99/mo |
| Business | 5,000 | 100 | 200/min | $99.99/mo |
| Enterprise | 50,000 | 100 | 500/min | $299.99/mo |
監査証跡
すべてのレスポンスには、コンプライアンス文書用に listVersion(OFAC の公開日)と screenedAt(ISO 形式のタイムスタンプ)が含まれます。
トランスポート
- stdio(デフォルト)— Claude Desktop と Cursor でローカル利用する場合
- HTTP —
PORT環境変数を設定すると、/mcpで Streamable HTTP モードを利用できます
免責事項
このツールは、情報提供およびスクリーニングのみを目的として提供されています。法的助言を構成するものではありません。コンプライアンスに関する判断は、利用者の責任です。制裁コンプライアンスに関する事項については、必ず資格を有する法律顧問に相談してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。