SONAR: KYB due diligence について
SONAR: KYB due diligenceは、取引先やパートナー、再販業者を公開企業情報やリスク記録で確認するMCPサーバーです。出典付きの調査結果または非同期のレポートを返し、内容の確認は人が行います。
主な機能
- 0113か国の企業登記を検索
- 02制裁リストとPEPをスクリーニング
- 03ICIJ Offshore Leaksの記録を確認
- 04規制関連の登録情報を検索
- 05過去10年のネガティブ報道を調査
- 06構造化結果または詳細レポートを取得
活用シーン
- 01取引先の導入前チェック
- 02パートナーの制裁・PEP該当を確認
- 03詳細なKYBレポートを依頼して進捗を確認
MCP 対応
調査結果、レポートの送信と状態確認、ネガティブ報道、アカウント残高を扱う5つのツールを公開します。MCPクライアントをSONAR REST APIに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx getsonar-mcpSONAR_API_KEYシークレットYour SONAR API key (sk-sonar-...). Create one at https://getsonar.report/developer/keys. Your first API call is free.SONAR_API_BASEAPI base URL. Only change it for a staging or self-hosted SONAR.SONAR_API_TIMEOUTPer-request timeout in seconds.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
getsonar-mcp
SONAR 用の MCP サーバーです。ベンダー、パートナー、再販業者の KYB デューデリジェンスを AI アシスタントから実行できます。
Claude、Cursor、Windsurf に企業を確認するよう依頼すると、登記情報、制裁対象者および PEP の一致、ICIJ Offshore Leaks の該当情報、ネガティブメディア情報が、それぞれ情報源へのリンクとともに返されます。
SONAR は公開記録に基づくデューデリジェンス支援ツールです。規制対象の AML/KYC プロバイダーではなく、その出力はコンプライアンス上の判断ではありません。調査結果は人が確認してください。
機能
- 企業登記情報:13 か国の企業登記簿(英国の Companies House とその他 12 か所)から、法人名、登録番号、ステータス、住所、役員を取得します
- 制裁対象者および PEP のスクリーニング:OFAC、国連、英国 OFSI、スイス SECO のネイティブリストに加え、OpenSanctions のアグリゲーターを利用します
- ICIJ Offshore Leaks:Panama Papers、Paradise Papers、Pandora Papers、Bahamas Leaks
- 規制関連の登録簿:英国 FCA Register、英国の取締役資格剥奪情報、The Gazette の倒産公告
- ネガティブメディア情報:ニュース、苦情、レビューを過去 10 年分検索します
- 2 種類の呼び出し形式:構造化された調査結果をすばやく取得(同期、30~90 秒)するか、詳細な文書レポートを取得(非同期、約 3 分)します
Claude Desktop、Claude Code、Cursor、Windsurf、およびその他すべての Model Context Protocol クライアントで動作します。公式 MCP Registry に io.github.Ivanolegvak/sonar-mcp として登録されています。
料金
API は呼び出しごとの従量課金制です。
| 呼び出し | 料金 |
|---|---|
/findings (kyb_findings, adverse_media) | €0.40 |
/run (kyb_run_submit) | €2.00 |
check_report_status, account_balance | 無料 |
最初の API 呼び出しは無料です(エンドポイントは問いません)。以降の呼び出しは、前払い残高から支払われます。getsonar.report/developer/keys で €5 からチャージできます。プランとウェブアプリの無料枠については、getsonar.report/pricing をご覧ください。
API キーの取得
- getsonar.report でアカウントを作成します
- Developer → API keys を開きます
- Create API Key をクリックし、
sk-sonar-...キーをコピーします
インストール
uv が必要です(uvx が付属しています)。ほかにインストールするものはありません。uvx getsonar-mcp を実行すると、最新リリースが取得されて起動します。代わりに pipx を使う場合は、pipx install getsonar-mcp を実行し、コマンドとして getsonar-mcp を使用します。
キーは、サーバープロセスの SONAR_API_KEY 環境変数に設定します。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集します。
{
"mcpServers": {
"sonar": {
"command": "uvx",
"args": ["getsonar-mcp"],
"env": {
"SONAR_API_KEY": "sk-sonar-YOUR_KEY_HERE"
}
}
}
}
Claude Desktop を再起動します。ツールメニューに SONAR の 5 つのツールが表示されます。
Claude Code
claude mcp add sonar --env SONAR_API_KEY=sk-sonar-YOUR_KEY_HERE -- uvx getsonar-mcp
すべてのプロジェクトで利用できるようにするには、--scope user を追加します。claude mcp list で確認できます。
Cursor
~/.cursor/mcp.json(すべてのプロジェクト)または .cursor/mcp.json(1 つのプロジェクト)を編集します。
{
"mcpServers": {
"sonar": {
"command": "uvx",
"args": ["getsonar-mcp"],
"env": {
"SONAR_API_KEY": "sk-sonar-YOUR_KEY_HERE"
}
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json を編集します(または、Windsurf Settings → Cascade → MCP servers → View raw config を開きます)。
{
"mcpServers": {
"sonar": {
"command": "uvx",
"args": ["getsonar-mcp"],
"env": {
"SONAR_API_KEY": "sk-sonar-YOUR_KEY_HERE"
}
}
}
}
その他のクライアント(Continue.dev、Zed、Cline など)でも同じコマンド、引数、環境変数を使用します。設定ファイルの場所については、お使いのクライアントの MCP ドキュメントをご覧ください。
設定
| 変数 | デフォルト | 用途 |
|---|---|---|
SONAR_API_KEY | (必須) | sk-sonar-... API キー |
SONAR_API_BASE | https://api.getsonar.report | ステージング環境またはセルフホスト可能な SONAR 用の上書き設定 |
SONAR_API_TIMEOUT | 120 | リクエストごとのタイムアウト(秒) |
SONAR_MCP_LOG_LEVEL | INFO | 詳細なログを出力する場合は DEBUG(stderr) |
ツール
| ツール | 説明 | 価格 |
|---|---|---|
kyb_findings | 迅速な KYB チェック:情報源付きの構造化された調査結果 | €0.40 |
kyb_run_submit | 完全な KYB レポートを送信し、run_id を返します | €2.00 |
adverse_media | ネガティブなニュース、苦情、レビュー | €0.40 |
check_report_status | kyb_run_submit で送信したレポートの状態を確認します | 無料 |
account_balance | 残高と残りの無料トライアル呼び出し回数 | 無料 |
すべてのツールは、モデルが読み取れる Markdown を返します。
kyb_findings
入力:
{ "company_name": "Tesco PLC", "website": "https://www.tesco.com" }
company_name は必須です。website は任意ですが、強く推奨されます。同じ名前を持つ無関係な企業との区別に役立ちます。
出力(抜粋、値は説明用):
# KYB Quick Lookup: Tesco PLC
Sources checked: 42 · Processing time: 41250ms
**Found data**: registry, regulatory, adverse_media
**Checked, clean** (no findings — collector ran): sanctions, offshore_leaks
## Registry (confidence: HIGH)
- **TESCO PLC (00445790), active**
Public limited company
Source: https://find-and-update.company-information.service.gov.uk/company/00445790
kyb_run_submit
入力:kyb_findings と同じです。出力:
Report submitted.
- Run ID: `3f6c...`
- Status: pending
- Estimated time: 90 seconds
Call `check_report_status` with run_id='3f6c...' and agent_type='kyb-diligence' in 30-60 seconds to get the result.
check_report_status
入力:
{ "run_id": "3f6c...", "agent_type": "kyb-diligence" }
agent_type は kyb-diligence(デフォルト)または adverse-media です。レポートの処理中は Report status: running. Still processing — check again in 15-30 seconds. と応答します。処理が完了すると、全体的な判定とリスクレベル、企業の詳細、チェック結果を示す PASS / REVIEW / FLAG の表、リスクフラグ、取締役と制裁対象の確認範囲を含む簡潔な要約を返します。
adverse_media
入力:kyb_findings と同じです。出力:ニュース、苦情、レビューサイトに限定した、kyb_findings と同じ形式の Markdown です(制裁対象や PEP のスクリーニングは含みません)。
account_balance
入力:なし。出力:
# Account usage — 2026-10
- Calls this month: **0**
- Free trial calls remaining: **1** (granted once at signup)
- Pre-paid balance: **€5.00**
プロンプトの例
「Tesco PLC(tesco.com)の KYB チェックを実行して、詳しく確認すべき点があるか教えてください。」
モデルは kyb_findings を呼び出し、構造化された調査結果を読み取って、制裁対象、登記情報、またはネガティブメディアの該当情報を情報源とともに指摘します。
「Wise Payments Limited の完全な KYB レポートを取得し、完了したら要約してください。」
モデルは kyb_run_submit を呼び出し、レポートが完了するまで check_report_status を呼び出します。
「無料トライアルの呼び出し回数はあと何回残っていますか?」
モデルは account_balance を呼び出します。
インストールの確認
MCP Inspector を起動すると、サーバーが開始され、ツールの一覧が表示されます。
SONAR_API_KEY=sk-sonar-YOUR_KEY_HERE npx @modelcontextprotocol/inspector uvx getsonar-mcp
キーがなくてもツール一覧を表示できますが、ツールの呼び出しには有効なキーが必要です。
MCP を使わずに API を利用する
MCP サーバーは、SONAR REST API を利用する軽量なクライアントです。直接呼び出すには:
export SONAR_API_KEY=sk-sonar-YOUR_KEY_HERE
# Structured findings: sync, 30-90 s, €0.40
curl -X POST 'https://api.getsonar.report/v1/agents/kyb-diligence/findings' \
-H "X-API-Key: $SONAR_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"company_name":"Tesco PLC","website":"https://www.tesco.com"}'
# Full report: async, about 3 min, €2.00; returns {"run_id": ..., "status": "pending"}
curl -X POST 'https://api.getsonar.report/v1/agents/kyb-diligence/run' \
-H "X-API-Key: $SONAR_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"company_name":"Tesco PLC","website":"https://www.tesco.com"}'
# Poll until status is "completed"
curl 'https://api.getsonar.report/v1/agents/kyb-diligence/run/RUN_ID' -H "X-API-Key: $SONAR_API_KEY"
# Usage, balance and free trial calls left
curl 'https://api.getsonar.report/v1/usage' -H "X-API-Key: $SONAR_API_KEY"
エージェント:kyb-diligence(登記情報、制裁対象、PEP、UBO、ネガティブメディア)および adverse-media(ネガティブなニュースのみ)。website フィールドには http:// または https:// の URL を指定する必要があります。OpenAPI の完全な仕様:api.getsonar.report/docs。開発者ガイド:getsonar.report/developers。
トラブルシューティング
ツールが表示されない:設定ファイルが有効な JSON であることを確認し、クライアントを再起動して、ターミナルで uvx --version を実行し、uv がインストールされていることを確認してください。
401 Unauthorized:SONAR_API_KEY が設定されていないか、正しくありません。getsonar.report/developer/keys で確認してください。
402 Payment Required:無料の初回呼び出しを使い切っており、残高が €0 です。getsonar.report/developer/keys から €5 以上をチャージしてください。
タイムアウト:SONAR_API_TIMEOUT を大きくしてください。完全なレポートには 3 分以上かかることがあります。1 回の呼び出しを待つのではなく、check_report_status で状態を確認してください。
uvx getsonar-mcp で古いバージョンが実行される:uvx は環境をキャッシュします。uvx getsonar-mcp@latest を一度実行するか、uv cache clean getsonar-mcp を実行してください。
結果に誤った企業が表示される:website を指定してください。短いブランド名はニュース検索で無関係な企業と重複することがあります。SONAR はドメインが分かっている場合、そのような重複を除外します。
開発
uv sync
uv run pytest # stdio smoke test against a fake API, no network
メンテナー向け:ARCHITECTURE.md ではモジュール構成と stdio / HTTP トランスポートについて説明しています。DIRECTORIES.md では MCP ディレクトリでのリリースと掲載について説明しています。
サポート
[email protected] へメールするか、GitHub でイシューを作成してください。
ライセンス
MIT。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。