关于 OFAC Sanctions Screening — Fuzzy SDN List Matching
这是一个用于对照美国财政部 OFAC SDN 制裁名单筛查名称的 MCP 服务,面向 KYC/AML 合规流程。它使用多种模糊匹配算法,并提供单条及批量筛查、名单搜索和条目详情。
主要功能
- 01多算法模糊名称匹配
- 02单条及批量筛查
- 03按类型、出生日期和国家筛选
- 04查询 SDN 条目详情
- 05搜索名单并查看统计
适用场景
- 01在客户准入时筛查姓名
- 02批量检查多条姓名记录
- 03通过 UID 核实制裁条目详情
- 04查看名单及制裁计划统计
MCP 相关
该服务向 MCP 客户端提供制裁名单筛查、批量筛查、条目查询、名单搜索和统计工具。支持 stdio 与 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP OFAC 制裁筛查
一个用于根据美国财政部 OFAC SDN(特别指定国民)名单筛查姓名的 Model Context Protocol(MCP)服务。采用 Jaro-Winkler、语音和令牌集算法进行生产级模糊匹配。
为什么要开发此工具
每家处理美元交易的公司都必须依法根据 OFAC 制裁名单进行筛查。违规罚款从每次违规 356,579 美元起。企业级筛查工具每年收费 10,000–100,000 美元。此服务以低得多的成本提供同等功能。
工具(共 5 个)
| 工具 | 描述 |
|---|---|
ofac_screen | 使用模糊匹配筛查姓名。返回带置信度等级(精确/强/部分/弱)的匹配结果。可按类型、出生日期和国家/地区筛选。 |
ofac_screen_batch | 一次调用最多筛查 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 | 筛查单个姓名 |
| 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"
}
定价
| 套餐 | 每日筛查次数 | 批量筛查 | 速率 | 价格 |
|---|---|---|---|---|
| 免费版 | 10 | 5 | 5/分钟 | $0 |
| 入门版 | 100 | 25 | 15/分钟 | $4.99/月 |
| 专业版 | 1,000 | 50 | 60/分钟 | $29.99/月 |
| 商业版 | 5,000 | 100 | 200/分钟 | $99.99/月 |
| 企业版 | 50,000 | 100 | 500/分钟 | $299.99/月 |
审计记录
每条响应都包含 listVersion(OFAC 发布日期)和 screenedAt(ISO 时间戳),便于合规文档记录。
传输方式
- stdio(默认)——供 Claude Desktop 和 Cursor 本地使用
- HTTP——设置
PORT环境变量,以 Streamable HTTP 模式在/mcp上运行
免责声明
此工具仅用于提供信息和筛查,不构成法律建议。合规决策仍由用户负责。处理制裁合规事宜时,请务必咨询具备资质的法律顾问。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。