1. 项目概述一个为AI代理赋能的金融犯罪筛查MCP服务器如果你在银行、加密货币交易所或者任何需要处理客户资金的合规部门工作那么“客户尽职调查”和“反洗钱筛查”这两个词大概率是你每天都要面对的日常也是让你头疼的根源。手动筛查一个实体意味着你要在十几个不同的政府网站、制裁名单和公司注册库之间来回切换核对各种名称变体然后把零散的信息拼凑进Excel表格。一个熟练的分析师完成一次完整的筛查少说也要45分钟到90分钟。当面对成百上千的客户流水或者交易监控警报时这种效率根本无从谈起。传统的解决方案是订阅像道琼斯风险中心或路孚特World-Check这样的商业数据库年费动辄1.5万到6万美元对于许多中小型机构来说是一笔不小的固定开销。而今天要聊的这个项目——Financial Crime Screening MCP Server则提供了一种截然不同的思路它通过Model Context Protocol将13个实时更新的金融犯罪数据源从OFAC制裁名单到SEC内幕交易披露整合成一个可编程的AI工具让你按需调用按次付费。简单来说你只需要给它一个公司或个人的名字它就能在几十秒内并行查询所有相关数据库并返回一个结构化的AML风险评级低、中、高、禁止附带详细的维度得分、可疑活动报告建议以及所有支撑证据。这就像给你的AI助手无论是Claude Desktop、Cursor还是Windsurf装上了一套专业的合规“外挂”让原本繁琐、耗时且昂贵的筛查工作变得像问一个问题一样简单直接。2. 核心设计思路为什么是MCP以及它如何颠覆传统工作流2.1 MCP协议AI工具的“USB-C”接口要理解这个项目的价值首先得明白MCP是什么。Model Context Protocol可以看作是AI模型与外部工具、数据源之间的一种标准化连接协议。在MCP出现之前如果你想给一个AI模型比如Claude增加调用外部API的能力往往需要针对特定的模型和平台进行复杂的集成开发。MCP的出现相当于为所有支持该协议的AI客户端Claude Desktop, Cursor, Windsurf等定义了一个通用的“插件”接口。这个金融犯罪筛查服务器就是一个标准的MCP服务器实现。它通过一个HTTP端点/mcp暴露了8个专用的筛查工具。这意味着任何兼容MCP的AI客户端无需任何额外的适配代码只需在配置文件中添加这个服务器的URL就能立刻获得调用这些专业合规工具的能力。这种设计将复杂的后端数据聚合与评分逻辑封装成了AI可以轻松理解和使用的标准化“工具”极大地降低了技术集成的门槛。2.2 并行执行与实时数据效率与准确性的基石传统手动筛查或某些批处理API的瓶颈在于串行查询。分析师需要依次打开OFAC网站、Interpol页面、公司注册库……任何一个环节的延迟或网络问题都会拖慢整个流程。这个MCP服务器的核心优势在于其并行执行架构。当你在AI客户端中调用comprehensive_entity_screen工具时服务器并不会按顺序一个个去查。相反它会瞬间向背后由13个独立Apify Actor可以理解为微服务组成的“舰队”同时发起请求。这些Actor各自负责一个专一的数据源ofac-sanctions-search: 查询美国财政部海外资产控制办公室制裁名单。opensanctions-search: 查询整合了全球100多个制裁名单、政治公众人物名单的OpenSanctions数据库。interpol-red-notices: 查询国际刑警组织红色通缉令。opencorporates-search: 查询覆盖140多个司法管辖区、超过2亿条记录的公司注册信息。…以及其他9个涵盖FBI通缉令、外国代理人登记、竞选财务、LEI编码、非营利组织、消费者投诉、银行数据和SEC文件的数据源。所有这些查询同时进行互不等待。通常一个包含13项并行查询的完整筛查能在30到90秒内返回结果。更重要的是这些Actor查询的是数据源的实时发布状态而非缓存的副本确保了筛查结果能反映名单的最新变动这对于OFAC这类经常更新的制裁名单至关重要。2.3 五维AML评分引擎从数据到决策的智能化转换仅仅返回一堆原始数据是不够的合规人员需要的是可执行的决策依据。这就是项目内嵌的五维AML评分引擎的用武之地。它不是一个简单的黑箱而是一个透明、可解释的规则系统将来自13个数据源的杂乱信号转化为一个0-100分的综合风险分数和四个清晰的维度得分制裁与监控名单暴露0-35分这是权重最高的维度。一个确切的制裁匹配置信度0.95会直接加30分并触发directSanctionsMatch标志无论总分多少风险等级都会直接定为“禁止”。模糊匹配、国际刑警红色通缉令匹配、FBI通缉令匹配则会贡献额外的分数。公司透明度0-25分针对公司实体。检查是否存在空壳公司特征如注册代理人、代名人、无记名股份等关键词、是否注册在已知的离岸天堂如英属维尔京群岛、开曼群岛等、公司状态是否已解散、成立时间是否过短3个月内视为高风险以及是否缺少全球法人机构识别编码。政治暴露0-20分识别政治公众人物。依据是美国《外国代理人登记法》的注册记录以及联邦选举委员会的竞选捐款数据。捐款总额超过10万美元会触发确认的PEP标记超过1万美元则会触发潜在PEP标记。金融监管状况0-10分评估实体在监管层面的“健康度”。包括检查SEC文件中是否有值得关注的类型如8-K重大事件报告、内幕交易中卖出比例是否异常高可能预示逃跑风险、消费者投诉密度以及FDIC记录的银行状态是否活跃。犯罪关联度0-10分这是一个“信号汇聚”维度。它不关注单一信号的强度而是计算在制裁、国际刑警、FBI、外国代理人、高投诉量、空壳指标这6个不良信号类别中有多少个被同时激活。多个弱信号的汇聚往往比单个强信号更能表明与犯罪活动的临近性。激活4个或以上类别该维度直接获得满分10分并标记为“严重”汇聚。这个评分系统的好处在于它输出的不仅仅是一个“高风险”的结论而是一份详细的“诊断报告”。合规分析师可以清晰地看到风险具体来自哪个方面是因为制裁匹配还是因为空壳公司特征明显亦或是多种风险因素汇聚这为后续的尽职调查提供了明确的行动方向。3. 八大工具详解从快速检查到全面分类这个MCP服务器提供了8个精细化的工具覆盖了从快速初筛到最终风险定性的全流程。理解每个工具的定位和适用场景是高效利用它的关键。3.1comprehensive_entity_screen实体综合筛查这是最常用的“一站式”工具也是客户 onboarding 的起点。它调用大部分核心数据源根据实体类型略有调整返回一个包含关键风险信号如是否有制裁匹配、是否为空壳公司等的概览但不包含完整的五维评分。它的特点是速度快、成本适中适合用于初步过滤和日常监控。注意对于已知是自然人的筛查务必传入entity_type: individual。这会跳过公司注册库、LEI等无关查询将调用的Actor数量从13个减少到9个显著降低延迟和费用。3.2aml_risk_classificationAML风险分类这是功能最全面的工具用于做出正式的、可审计的风险决策。它会调用全部13个数据源运行完整的五维评分引擎并输出带有LOW/MEDIUM/HIGH/PROHIBITED等级、详细维度得分、调查结果和建议的完整报告。这个工具的输出文档可以直接作为合规案卷中的分析记录。实操心得不要对所有实体都使用这个“重型”工具。建议的流程是先用comprehensive_entity_screen或sanctions_deep_check进行快速初筛只有当初筛发现风险信号时再使用aml_risk_classification进行深度调查和最终定级。这样可以优化成本和处理时间。3.3sanctions_deep_check制裁深度检查专注于制裁名单筛查。它查询OFAC和OpenSanctions并将匹配结果明确分为“精确匹配”置信度0.95和“模糊匹配”置信度0.50-0.95。精确匹配意味着必须立即阻止交易并上报模糊匹配则意味着需要人工复核队列。关键点永远不要自动忽略模糊匹配。一个0.85置信度的匹配很可能就是目标实体使用了略微不同的拼写或别名。正确的做法是将所有模糊匹配放入“待复核”列表由分析师进行最终判断。3.4criminal_watchlist_scan刑事监控名单扫描专门查询Interpol红色通缉令和FBI十大通缉犯名单。对于涉及跨境交易或与美国有关联实体的筛查尤为重要。即使一个实体不在制裁名单上但如果他是国际通缉犯其风险等级同样是极高的。3.5pep_influence_analysis政治公众人物影响分析通过分析FARA外国代理人登记和FEC竞选财务数据来识别政治公众人物及其关联网络。这对于私人银行、财富管理机构和高净值客户业务线的合规至关重要。工具会根据捐款金额给出“潜在PEP”或“确认PEP”的分类。3.6corporate_shell_detection公司空壳检测使用七项文本指标如“注册代理人”、“代名人”、“无记名股份”等扫描OpenCorporates的公司记录并结合12个已知离岸司法管辖区列表计算一个0-100分的空壳风险分数。在调查复杂公司结构、识别可能用于资金分层空壳公司时非常有用。3.7financial_institution_verify金融机构验证验证一个声称是金融机构的实体是否真实。它交叉核对FDIC的保险状态、公司注册信息以及CFPB的消费者投诉密度。可以用来发现那些冒充受监管银行的实体或者识别出有大量消费者投诉的“问题”机构。3.8proximity_to_crime_score犯罪关联度评分这是一个高效的分流工具。它只运行6-7个核心Actor而非全部13个快速计算“信号汇聚”分数0-100和汇聚等级无/低/中/高/严重。如果汇聚等级为“严重”四个或以上不良信号类别激活则强烈建议升级进行完整调查。这个工具可以在几秒内处理大量交易监控警报帮助合规团队优先处理风险最高的案件。4. 实战集成如何将筛查能力嵌入你的工作流4.1 在AI客户端中快速配置对于日常使用最方便的方式是将其集成到你常用的AI开发环境中。以下是针对不同客户端的配置方法Claude Desktop:在你的Claude Desktop配置文件通常位于~/Library/Application Support/Claude/claude_desktop_config.json中添加以下配置{ mcpServers: { financial-crime-screening: { url: https://ryanclinton--financial-crime-screening-mcp.apify.actor/mcp, headers: { Authorization: Bearer YOUR_APIFY_TOKEN } } } }配置完成后重启Claude Desktop你就可以在对话中直接让Claude调用筛查工具了例如“请使用financial-crime-screening工具筛查一下‘Meridian Trade LLC’这家公司。”Cursor / Windsurf:在这些编辑器的项目根目录下创建或编辑.cursor/mcp.json文件内容与上述类似。之后在编辑器内的AI对话中即可调用相关工具。4.2 通过API进行程序化批量筛查对于需要集成到自有合规系统或处理大批量筛查的场景直接通过HTTP API调用是最灵活的方式。你可以使用任何编程语言来发起请求。Python示例使用requests库import requests import json MCP_URL https://ryanclinton--financial-crime-screening-mcp.apify.actor/mcp APIFY_TOKEN your_apify_token_here def screen_entity(entity_name, entity_typeunknown): headers { Content-Type: application/json, Authorization: fBearer {APIFY_TOKEN} } payload { jsonrpc: 2.0, method: tools/call, params: { name: aml_risk_classification, arguments: { entity_name: entity_name, entity_type: entity_type } }, id: 1 } response requests.post(MCP_URL, headersheaders, jsonpayload) response.raise_for_status() result_envelope response.json() # MCP返回的结果嵌套在content字段的text中 result_text result_envelope[result][content][0][text] screening_result json.loads(result_text) return screening_result # 筛查一个公司 result screen_entity(Global Ventures Ltd., company) print(f实体: {result[entity]}) print(f风险等级: {result[amlRiskTier]}) print(f风险分数: {result[riskScore]}/100) if result[sarRequired]: print(⚠️ 需要提交可疑活动报告(SAR))JavaScript/Node.js示例const MCP_URL https://ryanclinton--financial-crime-screening-mcp.apify.actor/mcp; const APIFY_TOKEN your_apify_token_here; async function batchScreen(entities) { const screeningPromises entities.map(entity fetch(MCP_URL, { method: POST, headers: { Content-Type: application/json, Authorization: Bearer ${APIFY_TOKEN} }, body: JSON.stringify({ jsonrpc: 2.0, method: tools/call, params: { name: comprehensive_entity_screen, arguments: entity }, id: Date.now() // 使用时间戳作为唯一ID }) }).then(res res.json()) .then(data JSON.parse(data.result.content[0].text)) ); return Promise.all(screeningPromises); } // 批量筛查示例 const entityList [ { entity_name: Alpha Corp, entity_type: company }, { entity_name: John Smith, entity_type: individual }, { entity_name: Beta Holdings, entity_type: company, country: VG } ]; batchScreen(entityList).then(results { results.forEach((result, index) { console.log([${index}] ${result.entity}: ${result.amlRiskTier}); }); });使用cURL进行快速测试或集成到Shell脚本# 快速检查一个实体的制裁情况 curl -X POST https://ryanclinton--financial-crime-screening-mcp.apify.actor/mcp \ -H Content-Type: application/json \ -H Authorization: Bearer $APIFY_TOKEN \ -d { jsonrpc: 2.0, method: tools/call, params: { name: sanctions_deep_check, arguments: { entity_name: Viktor Ivanov, include_aliases: true } }, id: 1 }4.3 成本控制与预算管理这是按次付费模式最具吸引力的地方但也需要合理管理。每次工具调用的费用是0.045美元。没有月费没有最低消费。场景工具调用次数单次成本总成本说明单次快速制裁检查1$0.045$0.045仅使用sanctions_deep_check标准客户入职筛查3$0.045$0.135comprehensive_entity_screenshell_detectionpep_analysis完整AML风险定级1$0.045$0.045使用aml_risk_classification内部调用13个Actor每日重筛100个实体100$0.045$4.50假设使用comprehensive_entity_screen月度批量筛查1000个实体1000$0.045$45.00实操心得设置支出上限在进行大批量程序化调用时务必通过Apify平台的maxTotalChargeUsd参数设置运行预算上限。MCP服务器会在每次工具调用前检查预算如果达到上限会返回一个结构化的错误信息并停止执行而不是继续扣费。这能有效防止因程序错误或流量激增导致的意外高额费用。Apify的免费层每月提供5美元的平台积分足够你运行大约110次完整的AML风险分类非常适合前期测试和小规模试用。5. 输出解析与合规记录管理这个MCP工具的强大之处不仅在于筛查更在于其输出是结构化、可审计的。一份典型的aml_risk_classification输出包含了决策所需的所有信息。核心字段解读amlRiskTierriskScore: 最终的风险等级和分数。PROHIBITED等级会覆盖任何分数只要存在直接制裁匹配。directSanctionsMatchsarRequired: 两个最重要的布尔标志。前者为真意味着必须立即阻止交易后者为真意味着需要按照《银行保密法》在规定时间内提交SAR。dimensions: 这是审计记录的核心。五个维度的得分和具体的调查发现findings数组清晰地解释了风险来源。例如在corporateTransparency维度下你可能会看到“检测到空壳公司指标注册代理人、代名人”、“注册于已知空壳公司司法管辖区VG”等具体发现。recommendation: 基于风险等级的具体合规操作建议。对于PROHIBITED等级建议会明确包含“必须在30天内提交可疑活动报告”和“不得向对象透露风声”等BSA要求的措辞。合规记录管理最佳实践完整存储JSON响应不要只存储风险等级或分数。将整个JSON响应作为不可更改的记录存入你的案件管理系统或数据库。在监管审查时你可以出示这份完整的分析记录。关联筛查上下文在存储时将筛查结果与具体的客户ID、账户ID、交易ID或案件ID关联起来。同时记录筛查的时间戳和触发原因如新客户入职、周期性复查、交易监控警报。建立复核工作流对于MEDIUM风险或存在“模糊匹配”的实体系统应能自动创建待办事项分配给合规分析师进行人工复核。工具的输出为复核提供了明确的切入点。6. 常见问题、排查技巧与局限性认知6.1 典型问题与解决方案问题1筛查返回“无结果”或数据不全但我知道该实体应该在某些名单上。可能原因A名称变体。制裁名单上的名称可能是全名、缩写、别名或音译。尝试使用include_aliases: true参数如果工具支持或手动尝试不同的名称拼写。可能原因B实体类型不匹配。如果你筛查的是一个个人但传入了entity_type: company工具可能会跳过一些针对个人的数据源如Interpol。确保传入正确的类型。可能原因C数据源延迟。虽然工具查询实时数据但数据源本身的更新可能有延迟例如OFAC更新后抓取Actor需要时间同步。对于时效性要求极高的场景需了解此延迟风险。排查步骤首先使用sanctions_deep_check进行针对性检查。如果仍无结果可以分别调用底层独立的Actor如ofac-sanctions-search进行验证以确定是MCP工具的问题还是数据源本身的问题。问题2模糊匹配Fuzzy Match太多如何提高精确度技巧A提供国家代码提示。如果你知道实体的国籍或注册地使用country参数如US,RU可以显著缩小搜索范围减少因同名不同人/公司造成的模糊匹配。技巧B结合其他标识符。虽然当前工具主要基于名称但在你的内部系统中可以将筛查结果与客户提供的地址、出生日期、护照号码等信息进行交叉验证。技巧C人工复核是关键。模糊匹配的设计初衷就是交由人工判断。建立一个高效的复核队列界面让分析师能快速查看匹配的置信度、来源名单和匹配的字段。问题3如何处理“PROHIBITED”等级的实体标准操作流程立即冻结相关账户或阻止待处理的交易。根据工具输出的recommendation字段启动内部SAR报告流程。绝对不要“打草惊蛇”即告知客户其正在被调查。记录与上报将完整的JSON输出作为SAR报告的附件或证据。确保你的操作符合机构内部政策和法定期限通常为发现可疑活动后30天内。6.2 明确认知项目的局限性没有工具是万能的了解其边界才能更好地使用它。覆盖范围以美国为主FDIC、CFPB、FEC、FARA等都是美国监管机构。对于非美国金融机构或纯粹的外国政治人物覆盖可能有限。在涉及跨境业务时需要补充目标国家的特定监管数据源。非实时OFAC数据底层Actor查询的是已发布的OFAC数据并非直接连接OFAC的实时API。在OFAC紧急更新名单和工具数据更新之间存在时间差通常很短但存在。对于要求绝对实时拦截的交易需搭配专用的OFAC API服务。依赖OpenCorporates数据公司透明度维度的质量取决于OpenCorporates的覆盖范围和更新频率。在某些司法管辖区数据可能不全或滞后。不替代法律意见工具输出的SAR建议是基于其评分规则的合规指引不能替代法律顾问的专业意见。最终的SAR提交义务取决于适用的法律法规和你所在机构的合规政策。无生物识别或文件验证这是一个基于名称和公开数据的筛查工具。它不进行身份证件验证、人脸比对或生物特征检查这些是完整KYC流程的必要组成部分。6.3 高级技巧与组合使用1. 与制裁网络分析MCP结合使用金融犯罪筛查MCP检查的是指定实体的直接风险。而 Sanctions Network Analysis MCP 则用于追踪网络关系。当你筛查出一个高风险实体时可以将其作为输入传递给网络分析工具去挖掘其背后的受益所有人、关联公司、董事网络从而发现通过复杂公司结构进行制裁规避的行为。2. 建立分层筛查工作流不要对所有客户一视同仁地使用最全面的工具。建立一个智能工作流第一层所有客户使用comprehensive_entity_screen进行快速初筛。第二层初筛有风险信号根据信号类型调用专项工具如sanctions_deep_check,pep_influence_analysis进行深入调查。第三层确认为高风险使用aml_risk_classification生成最终的、可审计的风险定级报告。第四层调查复杂所有权结构将高风险实体输入Sanctions Network Analysis MCP进行网络扩散分析。3. 利用Apify调度器实现自动化重筛合规不是一次性的。你可以利用Apify平台内置的调度器为已准入的客户设置定期重筛任务例如每90天一次。当OFAC等制裁名单更新时也可以触发即时重筛。筛查结果可以通过Webhook自动推送到你的案件管理系统或Slack频道实现监控自动化。这个Financial Crime Screening MCP Server代表了一种新的思路将原本昂贵、笨重的合规数据服务拆解成按需使用、按次付费的标准化AI工具。它可能无法替代所有传统的合规解决方案但对于需要快速响应、成本可控、且希望将AI深度融入工作流的团队来说无疑提供了一把锋利而趁手的“手术刀”。关键在于理解它的能力边界将其嵌入到合适的流程中并始终牢记它输出的是一份供人决策的“智能报告”而非最终的“判决书”。合规的最后一道防线永远是经验丰富的分析师的专业判断。