关于 SONAR: KYB due diligence
SONAR: KYB due diligence 是用于核查供应商、合作伙伴和经销商公开企业及风险记录的 MCP 服务。它提供带来源的调查结果或异步书面报告,结果需由人工审阅。
主要功能
- 01查询 13 个国家的企业登记
- 02筛查制裁名单和 PEP
- 03检查 ICIJ Offshore Leaks 记录
- 04查询监管登记信息
- 05检索近 10 年负面媒体
- 06提供结构化结果或完整报告
适用场景
- 01供应商入驻前进行核查
- 02筛查合作伙伴是否命中制裁或 PEP 名单
- 03提交完整 KYB 报告并查询状态
MCP 相关
该 MCP 服务提供五种工具,用于获取调查结果、提交报告及查询状态、检索负面媒体和查看账户余额。它将 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、UN、英国 OFSI 和瑞士 SECO 名单,以及 OpenSanctions 聚合器
- ICIJ Offshore Leaks:Panama Papers、Paradise Papers 和 Pandora Papers、Bahamas Leaks
- 监管登记信息:英国 FCA Register、英国被取消资格的董事、The Gazette 破产公告
- 负面媒体信息:回溯查询过去 10 年的新闻、投诉和评价
- 两种调用方式:快速获取结构化调查结果(同步,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。套餐和 Web 应用的免费额度请参阅 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 工具。
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(适用于单个项目):
{
"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"
Agent: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 分钟以上;请使用 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 上提交 issue。
许可证
MIT,详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。