关于 UK Regulatory Ecosystem
UK Regulatory Ecosystem 是面向合规团队、尽职调查分析师和 AI 工作流的 MCP 服务,用于评估英国实体。它整合八个政府数据源的实时数据,提供跨机构分析、风险评分和结构化报告。
主要功能
- 01查询八个英国政府数据源
- 02并行获取数据并缓存
- 03跨机构实体关系图
- 04地理风险热力图
- 05多因素风险评分
- 06结构化合规报告
适用场景
- 01筛查收购目标
- 02监控供应商合规情况
- 03核查慈善机构合法性
- 04评估投资地区风险
MCP 相关
该 MCP 服务向兼容客户端提供英国监管数据和分析工具,并返回包含风险评分、合规标记及建议的结构化结果。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://ryanclinton--uk-regulatory-ecosystem-mcp.apify.actor/mcpclaude mcp add --transport http uk-regulatory-ecosystem https://ryanclinton--uk-regulatory-ecosystem-mcp.apify.actor/mcp{"mcpServers":{"uk-regulatory-ecosystem":{"type":"http","url":"https://ryanclinton--uk-regulatory-ecosystem-mcp.apify.actor/mcp"}}}在 Cursor 中打开{"servers":{"uk-regulatory-ecosystem":{"type":"http","url":"https://ryanclinton--uk-regulatory-ecosystem-mcp.apify.actor/mcp"}}}在 VS Code 中打开{"mcpServers":{"uk-regulatory-ecosystem":{"type":"http","url":"https://ryanclinton--uk-regulatory-ecosystem-mcp.apify.actor/mcp"}}}{"mcpServers":{"uk-regulatory-ecosystem":{"serverUrl":"https://ryanclinton--uk-regulatory-ecosystem-mcp.apify.actor/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
英国监管生态系统 MCP
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf):
{
"mcpServers": {
"uk-regulatory-ecosystem-mcp": {
"url": "https://ryanclinton--uk-regulatory-ecosystem-mcp.apify.actor/mcp"
}
}
}
覆盖 8 个政府数据库的英国监管情报——此 MCP 服务为 AI Agent 提供统一接口,可同时查询 Companies House、英国警方犯罪数据、食品标准局卫生评级、土地注册处、慈善委员会、环境署废物承运商、洪水预警以及 NSTA 石油/天然气许可。它专为合规团队、尽职调查分析师以及需要评估英国实体风险、而无需手动查询 8 个独立政府门户的 AI 工作流打造。
该服务并行调用 8 个 Apify Actor,构建跨机构监管网络图,并运行 8 种分析工具,涵盖基于 KDE 的地理风险热力图和多因素加权风险评分。每次工具调用都会返回结构化 JSON,其中包含按风险排序的评分、合规标记和可执行建议。数据实时获取,并使用 5 分钟的内存缓存,以避免在同一会话中重复调用 Actor。
可以访问哪些数据?
| 数据点 | 来源 | 示例 |
|---|---|---|
| 📋 公司注册状态、管理人员、申报文件、PSC | 英国 Companies House | Pinnacle Logistics Ltd — Active, incorporated 2018 |
| 🚔 街道级犯罪类别和处理结果 | 英国警方犯罪数据 | Burglary — Thetford St, outcome: charged |
| 🍽️ 0–5 级食品卫生评级及检查日期 | 食品标准局 | Harbour Kitchen — Rating 2, last inspected Oct 2024 |
| 🏠 房产所有权、产权、保有权、成交价 | 英国土地注册处 | 14 Colmore Row — Freehold, £2.4M, Jan 2023 |
| 🎗️ 慈善机构注册有效性、收入、受托人数据 | 慈善委员会 | Westfield Community Trust — Registered, income £84k |
| ♻️ 废物承运商注册状态和等级 | 环境署 | Apex Clearance Ltd — Upper Tier, expires 2026-03 |
| 🌊 当前洪水预警、警报和区域数据 | 英国洪水预警 | River Wye — Severe warning, raised 06:14 |
| ⛽ 石油和天然气勘探/生产许可证 | NSTA | PEDL 234 — Active, operator: Serica Energy |
| 🔗 网络图中的跨机构实体关联 | 全部 8 个来源 | Pinnacle Logistics linked to 3 agencies, risk 0.74 |
| 🌡️ 各区域 KDE 综合地理风险评分 | 犯罪 + 洪水 + 环境 | SE14 3AH — compositeRisk: 0.81, highRisk: true |
为什么使用 UK Regulatory Ecosystem MCP?
要人工核查一家英国公司在所有相关监管数据库中的信息,需要打开 8 个不同的政府网站,分别搜索,再手动汇总结果。仅核查一个收购目标,通常就需要分析师花费 4–6 小时。对于批量筛查——供应链、慈善机构登记册、房东资产组合——耗时可能长达数周。
这个 MCP 服务会自动完成整个流程。调用一次工具,即可并行查询所有选定的数据源,构建一个按位置和类型关联实体的监管网络图,并运行该工具实现的分析算法——合规评分、跨机构违规检测、地理热点映射或完整报告生成。
跨机构分析不仅能节省时间,还能揭示单一来源核查无法发现的风险。例如,一家登记已过期的废弃物运输商,如果还在犯罪热点附近经营,且食品卫生评级为 1,就会产生叠加风险;只有同时查询这三个来源,才能发现这种风险。
在 Apify 上运行的平台优势:
- 计划任务 — 每日或每周对监控名单执行合规扫描,及时发现状态变化
- API 访问 — 只需一个令牌,即可通过 Python、JavaScript 或任何 HTTP 客户端触发分析
- 支出控制 — 设置每次运行的最高预算;达到上限后,服务将停止计费
- 监控 — 在运行失败或返回意外结果时接收 Slack 或电子邮件提醒
- 集成 — 将输出连接到 Zapier、Make、Google Sheets、HubSpot 或下游 Webhook
功能
- 在一个界面中整合 8 个政府数据源 — Companies House、Police、FSA、Land Registry、Charity Commission、Environment Agency、Flood Warnings 和 NSTA,均可通过一次 MCP 工具调用查询
- 并行 Actor 编排与 5 分钟缓存 —
resolveData()函数使用Promise.all()并发发起最多 8 次 Apify Actor 调用,并按来源设置 TTL 缓存,避免在同一会话中重复付费 - 监管网络图谱构建 —
buildRegNetwork()将所有来源的实体汇总为类型化节点(company、charity、food_business、waste_carrier、flood_zone、oil_license、crime_area、property),并通过匹配 15 个字符的位置前缀创建共址边 - 基于 KDE 的地理风险热力图 —
computeGeographicRiskHeat()应用高斯核(带宽 = 0.5 度),对地理网格中的犯罪、洪水和环境风险信号进行平滑处理,并生成综合风险评分,权重分别为犯罪 40%/洪水 35%/环境 25% - 加权多因素风险评分 —
scoreMultiRegulatoryRisk()使用 6 个加权因素计算实体风险:注册状态(0.20)、食品卫生(0.15)、犯罪邻近程度(0.20)、洪水暴露程度(0.15)、环境合规情况(0.15)和网络异常(0.15) - 跨机构违规检测 — 识别同时被 UK Police、Food Standards Agency、Environment Agency 和 Flood Authority 标记的实体,并将违规分类为
dual_agency_flag或multi_agency_convergence - 公司合规评估 — 综合评估 Companies House 的活跃状态、关联的食品卫生评分、废弃物运输商资质有效性和犯罪邻近程度,得出 0–1 的总体合规评分
- 慈善机构合法性筛查 — 检测收入是否偏离人口中位数、企业董事是否存在地址重叠,以及注册状态是否存在缺漏,并累计红旗评分
- 环境合规分析 — 评估废弃物运输商的有效/过期状态、NSTA 石油/天然气许可证有效性,以及与洪水区边缘的距离(每个洪水区边缘增加 0.3 风险值,最高为 1.0)
- 全面的监管报告生成 —
generateRegulatoryReport()按类别(Companies House、Food Standards、Environment Agency、Flood Risk、Police)生成结构化调查结果,标注严重程度(low/medium/high/critical),并提供具体的升级处理建议 - 按工具计费,采用按事件付费模式 — 6 个工具的单价为每次调用 $0.045,2 个工具(
detect_cross_agency_violations和generate_regulatory_report)的单价为每次调用 $0.050;消费限额由服务端强制执行 - 支持双传输方式 — 同时提供 SSE(
/sse+/messages),以兼容旧版 MCP 客户端;也提供 StreamableHTTP(/mcp),供现代客户端使用,并通过/health端点进行就绪状态检查
UK 监管情报的用例
UK 并购与投资尽职调查
并购分析师和私募股权团队在签约前,需要通过所有相关 UK 注册机构筛查收购目标。只需针对目标公司名称调用一次 generate_regulatory_report,即可在一份结构化报告中汇总已解散的子公司、环境责任、运营场所的食品卫生问题、自有物业的洪水区暴露情况,以及任何跨机构标记,可直接粘贴到尽职调查备忘录中。
供应链合规监控
负责管理 UK 供应商网络的采购团队,需要持续确认废弃物运输商持有有效的 Environment Agency 注册、食品供应商保持可接受的 FHRS 评级,并确保没有供应商新近解散关键运营实体。每周对供应商观察名单执行一次 assess_company_compliance 扫描,即可持续监控,无需手动检查门户网站。
慈善机构欺诈与治理筛查
资助机构、监管机构和调查记者需要核实接受公共资金的慈善机构是否已合法注册、收入模式是否合理,以及董事与商业实体之间是否存在可疑的重叠。screen_charity_legitimacy 工具会将各慈善机构的收入与总体中位数进行比较,标记企业地址重叠情况,并生成 0–1 的合法性评分及明确列出的风险信号。
房产投资地理风险评估
评估英国各地的房地产投资者和城市规划人员需要了解某个区域的综合风险状况——不仅是单独的洪水风险,还包括犯罪密度、废弃物运营商造成的环境污染以及当前有效的洪水预警。compute_geographic_risk_heat 工具会为每个地理网格生成经过 KDE 平滑处理的综合风险评分,帮助用户在投入资金前比较不同区域。
监管合规 AI Agent
在 Claude、Cursor 或其他兼容 MCP 的客户端中构建 AI Agent 工作流的合规团队,可以将此服务接入助手,以回答自然语言查询,例如“Meridian Waste Solutions 是否符合所有英国登记机构的规定?”或“我们的 50 家供应商中,哪些位于洪水高风险区域?”MCP 协议会自动处理工具发现和结构化响应格式。
环境执法支持
环境署区域团队、地方政府环境卫生官员以及监测非法废弃物活动的非政府组织,可以使用 detect_cross_agency_violations,找出同时出现在犯罪数据和废弃物运输商记录中、且注册已过期的运营商——这种情况最常表明存在非法倾倒废弃物或非法废弃物处理活动。
如何将此 MCP 服务连接到 AI 客户端
步骤 1:获取 Apify API 令牌
在 apify.com 注册,并从 账户设置 复制 API 令牌。
步骤 2:添加到 MCP 客户端
Claude Desktop — 添加到 claude_desktop_config.json:
{
"mcpServers": {
"uk-regulatory-ecosystem": {
"url": "https://uk-regulatory-ecosystem-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
Cursor / Windsurf / Cline — 在 MCP 服务设置面板中添加相同的 URL 和 Authorization 标头。
步骤 3:开始查询
连接后,AI 客户端会自动发现全部 8 个工具。使用自然语言提问:
“评估 Apex Industrial Services Ltd 在所有英国数据源中的监管合规情况。”
“生成 SW1A 1AA 邮政编码区域内企业的监管报告。”
步骤 4:查看结构化结果
每个工具都会返回一个 JSON 对象,其中包含已排序的实体、风险评分、合规标记和建议。结果可以传入报告、存储到数据集中,或作为下游 AI 推理的上下文。
MCP 工具
| 工具 | 价格 | 默认数据源 | 描述 |
|---|---|---|---|
map_regulatory_network | $0.045 | companies, police, food, land, charity | 绘制各机构之间的实体关联网络,并计算网络密度和风险评分 |
assess_company_compliance | $0.045 | companies, police, food, land, charity | 根据登记状态、食品卫生、废弃物运输资质有效性和犯罪接近度评估公司 |
detect_cross_agency_violations | $0.050 | companies, police, food, waste, flood | 识别同时被 2 个或更多机构标记的实体 |
compute_geographic_risk_heat | $0.045 | police, flood, waste, energy | 生成各区域综合地理风险的 KDE 热力图 |
screen_charity_legitimacy | $0.045 | charity, companies | 筛查收入异常、企业重叠和注册信息缺失 |
analyze_environmental_compliance | $0.045 | companies, waste, flood, energy | 评估废弃物运输资质状态、油气许可证和洪水区暴露情况 |
score_multi_regulatory_risk | $0.045 | companies, police, food, land, charity, waste, flood | 为每个实体计算由六个因素加权得出的综合风险评分 |
generate_regulatory_report | $0.050 | all 8 sources | 生成完整调查报告,包含严重程度评级和升级处理建议 |
工具输入参数
每个工具都接受相同的两个参数:
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
query | string | 是 | — | 要调查的英国公司名称、地点、邮政编码或实体 |
sources | array of enum | 否 | 工具专属(见上表) | 要查询的数据源:companies、police、food、land、charity、waste、flood、energy |
输入示例
公司合规检查(默认数据源):
{
"query": "Meridian Waste Solutions Ltd",
"sources": ["companies", "police", "food", "waste"]
}
邮政编码地理风险评估:
{
"query": "E14 5AB",
"sources": ["police", "flood", "waste", "energy"]
}
使用全部 8 个数据源生成完整监管报告:
{
"query": "Pinnacle Food Group",
"sources": ["companies", "police", "food", "land", "charity", "waste", "flood", "energy"]
}
输入提示
- 使用公司的注册名称——搜索词会直接传递给各数据源的 API;使用完整法定名称(按 Companies House 登记)可获得最准确的结果
- 先从 3–4 个数据源开始——每个工具的默认数据源集合都针对其用途进行了优化;仅在需要全面报告时才扩展到全部 8 个数据源
- 地理工具使用邮政编码查询——使用邮政编码或区域名称而非公司名称查询
compute_geographic_risk_heat和detect_cross_agency_violations,可获得更丰富的结果 - 按顺序组合使用工具——先运行
score_multi_regulatory_risk以识别风险最高的实体,然后仅对风险评分高于 0.5 的标记实体调用generate_regulatory_report
输出示例
assess_company_compliance 输出
{
"checks": [
{
"company": "Pinnacle Food Group Ltd",
"registryStatus": "Active",
"foodHygieneScore": 2.4,
"wasteCarrierValid": false,
"crimeProximity": 0.4,
"overallCompliance": 0.3800
},
{
"company": "Meridian Catering Services",
"registryStatus": "Active",
"foodHygieneScore": 4.2,
"wasteCarrierValid": true,
"crimeProximity": 0.0,
"overallCompliance": 0.8600
}
],
"totalChecked": 2,
"failedCount": 1,
"avgCompliance": 0.6200
}
detect_cross_agency_violations 输出
{
"violations": [
{
"entity": "Apex Clearance Ltd",
"agencies": ["UK Police", "Environment Agency", "Food Standards Agency"],
"violationType": "multi_agency_convergence",
"severity": 0.7500,
"evidence": "Entity flagged across 3 regulatory agencies"
}
],
"totalDetected": 1,
"multiAgencyCount": 1,
"avgSeverity": 0.7500
}
generate_regulatory_report 输出
{
"findings": [
{
"category": "Companies House",
"finding": "2 dissolved/liquidated company(ies) with regulatory links",
"severity": "high",
"evidence": "Apex Waste UK, Meridian En",
"recommendation": "Report to Companies House and investigate potential phoenix company fraud"
},
{
"category": "Food Standards",
"finding": "3 food business(es) with hygiene rating <= 2",
"severity": "high",
"evidence": "Harbour Kitchen (1), Eastgate Cafe (2), The Diner (2)",
"recommendation": "Escalate to local authority food safety team for urgent inspection"
},
{
"category": "Environment Agency",
"finding": "1 waste carrier(s) with non-active registration",
"severity": "high",
"evidence": "Apex Clearance Ltd",
"recommendation": "Report to Environment Agency for illegal waste carriage investigation"
}
],
"overallRisk": "high",
"entitiesScreened": 24,
"recommendations": [
"Companies House referral for dissolved entity activity",
"Food Standards Agency urgent inspection programme",
"Environment Agency enforcement action for unlicensed waste carriers"
]
}
compute_geographic_risk_heat 输出
{
"cells": [
{
"area": "Silvertown Way, E16",
"lat": 51.5074,
"lng": 0.0123,
"crimeRisk": 0.7200,
"floodRisk": 0.8100,
"environmentalRisk": 0.4500,
"compositeRisk": 0.6955
},
{
"area": "Thames Road, DA8",
"lat": 51.4892,
"lng": 0.1834,
"crimeRisk": 0.3100,
"floodRisk": 0.6400,
"environmentalRisk": 0.2800,
"compositeRisk": 0.4700
}
],
"totalAreas": 14,
"highRiskCount": 3,
"avgCompositeRisk": 0.5210
}
输出字段
assess_company_compliance
| 字段 | 类型 | 描述 |
|---|---|---|
checks[].company | string | 公司名称(最多 50 个字符) |
checks[].registryStatus | string | Companies House 状态字符串(例如 Active、Dissolved) |
checks[].foodHygieneScore | number | 关联食品经营场所的 FHRS 平均评分,范围为 0–5 |
checks[].wasteCarrierValid | boolean | 如果没有关联的废弃物运输方,或至少有一个状态为 Active,则为 True |
checks[].crimeProximity | number | 0–1 评分;每关联一个犯罪区域节点增加 0.2 |
checks[].overallCompliance | number | 0–1 加权综合评分(登记状态 0.3、食品 0.3、废弃物 0.2、犯罪 0.2) |
totalChecked | number | 分析的公司节点数量 |
failedCount | number | overallCompliance < 0.5 的数量 |
avgCompliance | number | 所有检查项 overallCompliance 的平均值 |
detect_cross_agency_violations
| Field | Type | Description |
|---|---|---|
violations[].entity | string | 实体名称 |
violations[].agencies | string[] | 标记该实体的机构名称 |
violations[].violationType | string | dual_agency_flag(2 个机构)或 multi_agency_convergence(3 个及以上机构) |
violations[].severity | number | 0–1 的严重程度评分 |
violations[].evidence | string | 便于人类阅读的证据说明 |
totalDetected | number | 发现的违规总数 |
multiAgencyCount | number | 涉及 3 个及以上机构的违规数 |
avgSeverity | number | 所有违规的平均严重程度 |
compute_geographic_risk_heat
| Field | Type | Description |
|---|---|---|
cells[].area | string | 位置字符串(最多 20 个字符) |
cells[].lat | number | 纬度(小数点后 4 位) |
cells[].lng | number | 经度(小数点后 4 位) |
cells[].crimeRisk | number | 0–1 的 KDE 平滑犯罪密度 |
cells[].floodRisk | number | 0–1 的 KDE 平滑洪水风险 |
cells[].environmentalRisk | number | 0–1 的 KDE 平滑环境风险 |
cells[].compositeRisk | number | 加权综合风险:0.4×crime + 0.35×flood + 0.25×env |
totalAreas | number | 输出中的地理网格总数 |
highRiskCount | number | compositeRisk > 0.6 的网格数 |
avgCompositeRisk | number | 所有网格的平均 compositeRisk |
generate_regulatory_report
| Field | Type | Description |
|---|---|---|
findings[].category | string | 监管类别(例如 Companies House、Food Standards) |
findings[].finding | string | 描述性发现内容 |
findings[].severity | string | low、medium、high 或 critical |
findings[].evidence | string | 支持性证据说明 |
findings[].recommendation | string | 具体的升级处理措施 |
overallRisk | string | 综合风险:low、medium、high 或 critical |
entitiesScreened | number | 监管网络中的节点总数 |
recommendations | string[] | 按优先级排序的措施列表 |
score_multi_regulatory_risk
| Field | Type | Description |
|---|---|---|
assessments[].entity | string | 实体名称 |
assessments[].riskScore | number | 0–1 的加权综合风险 |
assessments[].riskLevel | string | low(<0.25)、medium(<0.5)、high(<0.75)、critical(≥0.75) |
assessments[].factors[].factor | string | 因素名称(registry_status、food_hygiene、crime_proximity、flood_exposure、environmental、network_anomaly) |
assessments[].factors[].weight | number | 该因素在综合评分中的权重 |
assessments[].factors[].score | number | 因素原始评分 0–1 |
avgRisk | number | 所有实体的平均 riskScore |
criticalCount | number | riskLevel = critical 的实体数 |
运行英国监管情报查询需要多少钱?
此 MCP 采用按事件付费定价——按工具调用次数付费。六个工具每次调用费用为 $0.045,两个工具(detect_cross_agency_violations 和 generate_regulatory_report)每次调用费用为 $0.050。平台计算费用已包含在内。
| 场景 | 工具调用次数 | 每次调用费用 | 总费用 |
|---|---|---|---|
| 单家公司核查 | 1 | $0.045 | $0.045 |
| 合规 + 违规(2 个工具) | 2 | $0.045–$0.050 | ~$0.09 |
| 对一个实体进行完整的 8 工具分析 | 8 | $0.045–$0.050 | ~$0.37 |
| 每周扫描 20 家供应商(每家使用 1 个工具) | 20 | $0.045 | $0.90 |
| 每月尽职调查批次(50 个实体) | 50 | $0.045 | $2.25 |
你可以为每次运行设置最高支出限额以控制成本。达到预算时,服务端会返回已达到支出限额的消息,并停止收费。
Apify 免费计划每月包含 $5 的平台额度,约可用于 110 次工具调用。大多数单项尽职调查工作流的费用低于 $0.50。相比之下,商业合规平台提供类似的英国登记信息覆盖服务,每月收费 $500–2,000;使用此 MCP,大多数团队每月只需花费 $5–30,且无需承诺订阅。
通过 API 使用英国监管情报
Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("ryanclinton/uk-regulatory-ecosystem-mcp").call(run_input={})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"Tool: {item.get('tool')} | Result: {item.get('result')}")
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("ryanclinton/uk-regulatory-ecosystem-mcp").call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
console.log(`Tool: ${item.tool} | Overall Risk: ${item.result?.overallRisk}`);
}
cURL(直接使用 MCP 协议 — Streamable HTTP)
# Call the assess_company_compliance tool
curl -X POST "https://uk-regulatory-ecosystem-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "assess_company_compliance",
"arguments": {
"query": "Apex Industrial Services Ltd",
"sources": ["companies", "police", "food", "waste"]
}
},
"id": 1
}'
# Call generate_regulatory_report for a full multi-source report
curl -X POST "https://uk-regulatory-ecosystem-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "generate_regulatory_report",
"arguments": {
"query": "Pinnacle Waste Group",
"sources": ["companies", "police", "food", "land", "charity", "waste", "flood", "energy"]
}
},
"id": 2
}'
英国监管生态系统 MCP 的工作原理
阶段 1:并行分发调用 actor 并缓存
调用工具时,resolveData() 会使用 Promise.all() 并行调用最多 8 个 Apify actor。每个数据源都映射到专用的 Apify actor:ryanclinton/uk-companies-house、ryanclinton/uk-police-crime-data、ryanclinton/uk-food-hygiene、ryanclinton/uk-land-registry、ryanclinton/uk-charity-commission、ryanclinton/ea-waste-carriers、ryanclinton/uk-flood-warnings 和 ryanclinton/nsta-oil-gas-licenses。每个 actor 都使用 waitSecs: 180 和 memory: 256MB 调用,每个数据源最多返回 500 个项目。结果会缓存在模块级 Map 中,缓存有效期为 5 分钟,键为 {source}:{query},因此同一会话中的重复工具调用不会再次运行 actor。
阶段 2:构建监管网络图
buildRegNetwork() 会将原始 actor 输出数组转换为类型化图。每个数据源都会生成特定类型的节点:公司会生成包含 Companies House 状态元数据的 company 节点;警方数据会生成包含纬度/经度和犯罪类别的 crime_area 节点;食品卫生数据会生成包含 FHRS 评级的 food_business 节点;土地登记数据会生成包含保有权和成交价格的 property 节点;慈善机构会生成包含收入和注册状态的 charity 节点;废物运输商会生成包含到期日期的 waste_carrier 节点;洪水预警会生成包含严重程度级别的 flood_zone 节点;油气数据会生成包含 NSTA 运营商元数据的 oil_license 节点。
边通过两种机制创建:位置共址匹配(比较不同节点类型的位置字符串前 15 个字符,创建 operates_at 边)和洪水风险关联(匹配洪水区与房产/公司/食品企业位置的前 8 个字符,创建权重为 0.7 的 flood_risk 边)。
阶段 3:分析算法执行
每种工具都会对网络应用不同的算法。assessCompanyCompliance() 遍历公司节点边,以查找关联的食品、废弃物和犯罪节点,并计算加权综合得分(注册信息 0.3、食品卫生 0.3、废弃物 0.2、犯罪反向得分 0.2)。detectCrossAgencyViolations() 会识别同时连接到犯罪、食品卫生等级低、废弃物服务停用和洪水节点的公司节点,并按机构数量进行分类。computeGeographicRiskHeat() 按区域前缀对所有节点分组,累加各类型的风险贡献(犯罪 +0.2、洪水 +0.3、废弃物/石油 +0.15),然后应用带宽为 0.5 度的高斯核,对附近网格的值进行平滑处理,生成权重为 40/35/25 的综合得分。scoreMultiRegulatoryRisk() 使用包含明确权重的六因素模型:注册状态(0.20)、食品卫生(0.15)、犯罪邻近度(0.20)、洪水暴露(0.15)、环境因素(0.15)、网络异常(0.15)。generateRegulatoryReport() 应用特定类别规则,检测已解散但仍有活跃关联的公司、食品评级 ≤ 2 的食品场所、已停用的废弃物承运商、活跃洪水区域,以及超过阈值数量的犯罪热点。
阶段 4:传输与响应
该服务基于 Express 运行,提供两个 MCP 传输端点:GET /sse + POST /messages(SSE 协议,兼容旧版客户端)和 POST /mcp(StreamableHTTP,适用于现代客户端)。在 Apify Standby 模式下,它会绑定到 process.env.PORT(默认值为 3031)并持续运行。在普通 actor 运行模式下,它会绑定到端口 8080,记录状态消息,并在 1 秒后退出,以确保在 Standby 上下文之外触发时 actor 不会一直挂起。
获得最佳效果的提示
-
为每种工具使用最精简且相关的来源集。 默认来源集是为每种工具的分析逻辑设计的。对
screen_charity_legitimacy调用使用全部 8 个来源会增加成本和延迟,却无法改进慈善机构评分算法,因为该算法只使用charity和companies节点。 -
查询 Companies House 时使用注册公司名称。
query字符串会直接传递给每个 actor。使用在 Companies House 注册的准确法定名称(例如,“Apex Industrial Services Limited”,而非 “Apex Industrial”),可以从 Companies House actor 获得更精确的结果。 -
将
score_multi_regulatory_risk用作初步筛查步骤。 其六因素模型能够高效覆盖完整来源集。利用所得的riskLevel分类来决定哪些实体需要完整的generate_regulatory_report调用——仅对风险高于medium的实体进行升级处理,可显著降低成本。 -
地理工具使用邮政编码进行查询。 使用英国邮政编码或行政区名称查询时,
compute_geographic_risk_heat和detect_cross_agency_violations能提供更丰富的结果,因为地理工具依赖在犯罪、洪水和环境节点之间匹配位置字符串。 -
批量扫描时设置支出上限。 处理大型供应商列表时,请为每个 MCP 会话设置最高支出。服务会在服务端强制执行该上限,并返回结构化错误,而不是悄然停止——你的 Agent 可以将此视为分页信号来处理。
-
串联使用工具以生成更丰富的报告。 先调用
map_regulatory_network了解完整实体图和网络密度,再对度数最高的节点调用detect_cross_agency_violations。网络映射输出有助于判断哪些后续工具最有价值。 -
开展慈善机构尽职调查时,始终在来源中包含
companies。screen_charity_legitimacy算法通过匹配慈善机构和公司的地址来检测董事重叠。若不包含companies来源,无论实际关系如何,重叠检测结果都会为零。
与其他 Apify actors 结合使用
| Actor | 组合方式 |
|---|---|
| UK Business Compliance MCP | 先运行以获取 GLEIF LEI 查询结果和 Companies House 高管数据,然后将实体名称输入此 MCP,进行跨机构环境与犯罪分析 |
| WHOIS Domain Lookup | 将 Companies House 中的公司注册人详情与域名 WHOIS 记录交叉比对,以识别隐匿的受益所有权 |
| Waterfall Contact Enrichment | 识别高风险实体后,通过 10 步级联流程丰富公司联系人信息,以便后续联系 |
| Company Deep Research | 使用此 MCP 的监管风险评分,确定优先接受 AI 深度研究报告的公司 |
| B2B Lead Qualifier | 将合规评分输入 B2B Lead Qualifier,在潜在客户评分中将监管风险作为负面信号 |
| HubSpot Lead Pusher | 将已标记的实体及其风险评分直接推送到 HubSpot,供合规团队在工作流中使用 |
| Multi-Review Analyzer | 补充监管数据与公开评论情绪信息,以更全面地了解声誉风险 |
限制
- 位置匹配基于前缀,而非地理编码。 网络图的边构建使用位置字段中 15 个字符和 8 个字符的字符串前缀匹配。位于同一地区但地址字符串格式不同的实体可能不会建立连接。要进行精确的空间分析,需要采用地理编码匹配。
- 每次查询的每个来源最多返回 500 条数据。 每次 Apify actor 调用最多返回 500 条数据。对于匹配大量结果的查询(英国主要城市、常见公司名称),网络图反映的是样本,而非完整范围。
- MCP 连接需要以 Apify Standby 模式运行服务,以保持连接。 通过标准 actor 运行触发(而非通过 MCP URL)时,服务会启动、记录状态消息,并在 1 秒后退出。本服务并非为一次性批处理任务而设计。
- 苏格兰和北爱尔兰的数据覆盖不完整。 Food Standards Agency (FHRS) 覆盖英格兰、威尔士和北爱尔兰;苏格兰使用采用不同评级体系的 Food Standards Scotland。警方犯罪数据的覆盖范围因警区而异,并非所有苏格兰警区都会向国家 API 发布数据。
- 实时洪水预警仅反映当前状态。 洪水预警数据为查询时的实时数据,不包含历史洪水事件数据。评估特定物业的洪水风险时,请另行查询 Environment Agency 的洪水地图记录。
- 跨机构违规检测要求实体位于同一地点。 该算法通过遍历网络边来检测违规。如果公司和其食品经营场所的地址字符串不同(例如,注册办公地址与营业地址),它们可能不会在图中建立连接,从而降低检测准确率。
- 石油和天然气数据覆盖 NSTA 许可的北海业务。 能源数据源 (
nstaOilGas) 涵盖 North Sea Transition Authority 颁发的 PEDL 和海上许可证,不涵盖陆上可再生能源、水资源抽取许可证或其他与能源相关的环境许可证。 - 慈善机构收入比较仅限于当前查询结果中的机构。 收入异常检测会将每家慈善机构的收入与同一查询返回的慈善机构收入中位数进行比较。若查询仅返回一家慈善机构,其中位数就是该机构自身的收入,因此异常检测将失去意义。请同时查询多家慈善机构,以获得可靠的异常评分。
集成
- Apify API — 使用 Python、JavaScript 或任何 HTTP 客户端,以编程方式触发英国监管分析,并将结果存储在 Apify 数据集中
- Zapier — 构建无代码工作流,在表格中添加新供应商时触发合规审查,并在发现重大问题时提醒团队
- Make — 自动化慈善机构筛查工作流,可按计划或通过 webhook 触发,并将高风险结果发送到电子邮件或 Slack 频道
- Google Sheets — 将供应商监控名单的风险评分和合规标记直接导出到共享电子表格,供团队审查
- Webhooks — 每当计划运行生成包含
riskLevel: critical的实体时,向 Slack、Teams 或合规仪表板发送提醒 - LangChain / LlamaIndex — 将此 MCP 服务作为工具接入 LangChain Agent 链或 LlamaIndex 工作流,用于多步骤英国监管研究流程
故障排除
已知公司存在于 Companies House 中,但未返回任何实体。 搜索词会直接传递给底层 Actor。请确保查询与公司的完整注册名称一致,包括“Limited”“Ltd”或“PLC”。Companies House Actor 可能不会返回部分名称匹配或商号的结果。
风险评分都显示为 0.5 或类似的整数值。 当查询只从一个来源返回数据且没有位置共现匹配时,就会出现这种情况,生成的网络中有节点但没有边。没有边时,合规和风险算法会回退到默认值(食品卫生默认为 0.5,犯罪接近度默认为 0)。请向 sources 数组添加更多来源,或使用更具体的查询,以改善不同来源之间的实体匹配。
服务返回达到支出限额的消息并停止运行。 这是预期行为。请在 Apify 账户中设置更高的 maxTotalChargeUsd 限额,或将分析拆分为多个较小的查询。服务会针对每个事件执行限额检查,因此,在达到限额之前调用的工具所返回的部分结果仍会保留。
已知存在问题,但未检测到跨机构违规。 违规检测要求至少 2 种不同的机构节点类型通过边连接到同一个公司节点。如果不同来源的地址字符串不一致(例如,“14 High Street”和“14 High St.”),就不会创建边。请尝试将查询简化为邮政编码或行政区名称,以增加位置共现匹配。
SSE 连接在几分钟后断开。 某些反向代理和云负载均衡器会终止空闲的 SSE 连接。如果客户端支持,请切换到 StreamableHTTP 端点(/mcp),或配置代理以延长空闲连接超时时间。
负责任地使用
- 此 MCP 服务查询的所有数据源均为公开可用的英国政府登记信息,依据《开放政府许可》或同等许可发布。
- Companies House 数据的使用须遵守 Companies House 使用条款。
- 存储或处理源自监管记录的个人数据时,请遵守 UK GDPR 和《2018 年数据保护法》。
- 未经人工审核并通过权威来源核实,不要仅依据监管风险评分作出可能对个人或组织产生重大影响的决定。
- 有关网页抓取和数据访问合法性的指南,请参阅 Apify 指南。
常见问题
此 MCP 服务覆盖哪些英国监管数据库? 共 8 个数据库:Companies House(公司注册、管理人员、申报文件、PSC)、Food Standards Agency(FHRS 卫生评级,0–5)、UK Police API(街头级犯罪数据及处理结果)、UK Land Registry(所有权、产权、成交价格)、Charity Commission(注册、收入、治理)、Environment Agency(废弃物承运商注册)、UK Flood Warnings API(当前预警及区域),以及 NSTA(North Sea Transition Authority 石油/天然气许可证)。
单次工具调用可以查询多少个数据源?
可以同时查询全部 8 个。generate_regulatory_report 和 score_multi_regulatory_risk 工具默认查询全部 8 个。你可以通过 sources 参数传入任意子集。该服务会并行发起 actor 调用,因此查询 8 个数据源所需时间不会是查询 1 个的 8 倍。
返回的数据有多新? 数据会在查询时从各个数据源实时获取,并在内存中缓存 5 分钟。如果你在 5 分钟内使用相同查询调用同一工具两次,第二次调用会使用缓存结果,不产生额外费用。超过此时间窗口后,系统会触发新的 actor 运行。
此 MCP 服务覆盖苏格兰和北爱尔兰的实体吗? Companies House 覆盖所有在英国注册的实体。Food Standards 覆盖英格兰、威尔士和北爱尔兰(苏格兰使用不同的系统)。警察犯罪数据的覆盖范围因警区而异——苏格兰警区使用独立系统,API 可提供的数据有限。若要获取苏格兰地区的监管情报,请补充专门的苏格兰数据源。
地理风险热力图如何运作?
compute_geographic_risk_heat 按位置前缀对所有节点分组,累积各类型的风险贡献(犯罪 +0.2、洪水 +0.3、废弃物/石油 +0.15),然后使用带宽为 0.5 度的高斯核平滑相邻单元格的数值。综合风险评分的权重为:犯罪 40%、洪水 35%、环境 25%。综合风险值大于 0.6 的单元格会被归类为高风险。
多监管风险评分如何计算?
score_multi_regulatory_risk 使用六个加权因素:注册状态(权重 0.20)、食品卫生(0.15)、附近犯罪(0.20)、洪水暴露(0.15)、环境合规(0.15)和网络异常(0.15)。每个因素都会生成一个 0–1 的评分。加权总分对应 low(<0.25)、medium(<0.50)、high(<0.75)或 critical(≥0.75)。
查询这些英国政府数据库是否合法? 合法。全部 8 个数据源均为公开的英国政府登记数据库,依据 Open Government Licence 或类似条款发布。完整说明请参阅Apify 关于网络抓取合法性的指南。
这与手动搜索 Companies House 有何不同? Companies House 搜索只能提供一家公司的申报历史。此 MCP 服务会同时查询 8 个数据库,构建跨机构网络图,将公司与其食品经营场所、废弃物承运商注册信息、附近犯罪事件、洪水区域和慈善机构关联起来,然后计算所有数据源的综合风险评分。它能揭示单一数据源搜索无法发现的风险模式。
我可以用它批量筛查供应商吗?
可以。对列表中的每个供应商名称调用 assess_company_compliance 或 score_multi_regulatory_risk 即可。5 分钟缓存意味着同一会话内的重复查询无需付费。若供应商数量达到 50 家以上,请设置单次会话支出上限,并分批处理以控制成本。
一次典型的工具调用需要多长时间?
响应时间取决于查询的数据源数量。查询 2 个数据源通常需要 20–40 秒。完整的 8 数据源 generate_regulatory_report 调用可能需要 60–120 秒,因为每次 actor 调用的超时时间为 180 秒。由于采用并行分发,总耗时更接近最慢的单个 actor,而不是所有 actor 耗时之和。
我可以安排此 MCP 执行定期合规监控吗?
你可以通过 Apify 调度器安排 Actor 运行,但对于 MCP 用法,该服务旨在供已连接的客户端按需查询。对于定期合规检查,可以考虑直接按 cron 计划触发底层 Apify Actor(例如 ryanclinton/uk-companies-house),并通过下游工作流处理结果。
如果 8 个底层 Actor 中有一个运行失败,会发生什么?
runActor() 函数会通过 try-catch 包装每次 Actor 调用。如果某个 Actor 运行失败或超时,函数会返回一个空数组并记录错误。网络图会基于其余成功的数据源构建。工具会根据成功检索到的数据返回结果,而失败的数据源实际上会从本次调用的分析中排除。
帮助我们改进
如果你遇到问题,可以在 Apify 账户中启用运行共享,帮助我们更快地调试:
- 前往 账户设置 > 隐私
- 启用 与公开的 Actor 创建者分享运行
这样,当出现问题时,我们就能查看你的运行详情,从而更快地修复问题。你的数据仅对 Actor 开发者可见,不会公开。
支持
发现 Bug 或有功能请求?请在此 Actor 页面上的 问题选项卡中提交问题。如需定制解决方案或企业集成,请通过 Apify 平台联系我们。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。