公司内部MCP服务器
全面 了解你的业务(KYB) 通过模型上下文协议(MCP)的工具包。该服务器提供22种可生产的工具,这些工具与英国公司之家API集成,以实现全面的尽职调查自动化、受益所有人发现、风险检测和法规遵从性。
状态: ✅ 生产就绪| 版本: 2.0.0 | 工具:22(17个新+5个向后兼容)| API终点: 16
🎯 KYB的10项要求(全部实施)
| # | 要求 | 工具 | 状态 |
|---|---|---|---|
| 1.️⃣ | 归档历史记录 | get_filing_history_list(), get_filing_history_item() | ✅ |
| 2.️⃣ | 按交易ID归档项目 | get_filing_history_item() | ✅ |
| 3.️⃣ | 通过MCP下载文档 | download_document(), download_filing_document() | ✅ |
| 4.️⃣ | PSC(受益所有人)-全套 | get_psc_list(), get_psc(), get_psc_statements() | ✅ |
| 5.️⃣ | 费用(抵押/担保) | get_charges_list() | ✅ |
| 6.️⃣ | 破产(强制性KYB) | get_insolvency() | ✅ |
| 7.️⃣ | 注册办公地址(直接) | get_registered_office_address() | ✅ |
| 8.️⃣ | 官员任命(主任网络) | get_officer_appointments() | ✅ |
| 9️⃣ | 官员资格取消(强制性) | get_disqualification_natural(), get_disqualification_corporate() | ✅ |
| 🔟 | 高级公司搜索 | search_companies_advanced() | ✅ |
特性
KYB的核心能力
- ✅ 公司搜索与验证:通过模糊匹配按姓名、号码或地址进行高级搜索
- ✅ 公司简介:完整的公司详细信息(状态、地址、成立日期)
- ✅ 破产检测 (强制性):任何信贷/合伙企业决策的硬停止风险信号
- ✅ 官员验证:具有完整任命历史的董事、秘书
- ✅ 取消资格检查 (强制性):筛查自然人和法人实体
- ✅ 受益所有人发现(PSC):确定具有重大控制权的人的所有权百分比
- ✅ 军官网络分析:检测串行控制器和公司连接
- ✅ 注册办事处地址:无需解析完整配置文件即可直接验证
- ✅ 归档历史和文件:通过PDF下载访问帐户、确认、PSC通知
- ✅ 费用和抵押:查看担保贷款风险和债权人优先权
- ✅ 综合报告:单呼叫KYB聚合(搜索→ 验证→ 风险检查→ 报告)
卓越运营
- 生产就绪:所有10项要求均已实施、测试和记录
- API全面覆盖:16个公司总部端点完全集成
- 分页支持:处理所有列表工具中的大型结果集
- 误差标准化:与代码和描述一致的错误响应
- 向后兼容:为现有集成维护了5个遗留工具
- 无状态设计:不存储数据,公共云部署安全
- 速率限制:通过带有错误代码的公司注册处费率限制
- Base64文档:PDF返回元数据以进行安全传输
用例
- 了解你的业务(KYB):完成公司入职培训的10项要求合规性
- 风险评估:破产检测、取消资格筛选、收费分析
- 尽职调查:通过归档历史、文件访问、官员网络进行深入研究
- 受益所有人验证:UBO识别与控制百分比
- 串行控制器检测:绘制跨公司的总监网络图
- 合规报告:生成审计跟踪和风险评估
📚 文档
入门指南:根据您的需求,从以下之一开始:
- 快速引用.md -所有10项要求的5分钟概述
- INDEX.md -完整的文档索引和导航中心
- 实施\_ SUMMARY.md -全面实施指南
- API_ENDPOINT_MAPPING.md -完整的API到工具参考
- 要求_实施.md -详细的需求映射
- 检查表.md -验证检查表
🔄 完成KYB工作流程
这就是使用服务器的完整“了解你的业务”流程的样子:
1. Search for company
→ search_companies_advanced("Company Name")
2. Verify correct company
→ get_company_profile(company_number)
3. ⚠️ CHECK INSOLVENCY (MANDATORY - HARD STOP IF FOUND)
→ get_insolvency(company_number)
4. Get company details
→ get_registered_office_address(company_number)
→ get_filing_history_list(company_number)
5. Get officers
→ get_company_officers(company_number)
→ For each officer:
• get_disqualification_natural(officer_id) [RED FLAG]
• get_officer_appointments(officer_id) [NETWORK]
6. Get beneficial owners (PSC)
→ get_psc_list(company_number)
→ For each PSC:
• get_psc(company_number, psc_id)
• Check disqualifications
→ get_psc_statements(company_number)
7. Get financial exposure
→ get_charges_list(company_number) [MORTGAGES]
8. Review documents if needed
→ get_filing_history_list(company_number)
→ download_filing_document(company_number, transaction_id)
9. Generate final report
→ generate_company_report(company_number)结果:完成尽职调查报告,并通过所有合规检查✅
建筑
- 运输:HTTP(无状态流式传输)-非常适合公共/云部署。
- 认证:客户端API密钥注入(用户提供自己的密钥)。
- 堆栈:Python、FastMCP、Docker、Kubernetes。
先决条件
- 公司之家API密钥:您必须从 公司之家开发者中心.
- 码头工人 (适用于本地运行)。
- Kubernetes (可选,用于部署)。
快速入门(Docker)
- 塑造形象:
docker build -t companies-house-mcp .- 运行容器:
docker run -p 8001:8001 companies-house-mcp- 与邮递员一起测试:
- 导入 mcp_postman_collection.json. - 设置 apiKey 您的公司之家API密钥的变量。 - 向发送POST请求 http://localhost:8001/mcp.
与Claude Desktop(或其他MCP客户端)一起使用
配置您的MCP客户端以连接到服务器。由于此服务器使用 HTTP传输,您可能需要一个支持HTTP MCP的适配器或客户端。
工具调用示例(JSON-RPC):
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "generate_company_report",
"arguments": {
"company_number": "00000006",
"api_key": "YOUR_REAL_API_KEY"
}
}
}工具参考
所有22个可用工具
公司搜索和简介(3个工具)
| 工具 | 描述 | 关键参数 |
|---|---|---|
search_companies_advanced | 高级搜索:姓名、号码或地址 | q, items_per_page, start_index |
get_company_profile | 完整的公司详细信息 | company_number |
get_registered_office_address | 直接访问办公地址 | company_number |
归档和文件(4个工具)
| 工具 | 描述 | 关键参数 |
|---|---|---|
get_filing_history_list | 列出所有文件并分页 | company_number, category, items_per_page |
get_filing_history_item | 按交易ID获取具体归档 | company_number, transaction_id |
download_document | 按ID下载文档 | document_id |
download_filing_document | 下载归档(查找+下载包装) | company_number, transaction_id |
官员和管理层(2个工具)
| 工具 | 描述 | 关键参数 |
|---|---|---|
get_company_officers | 列出董事和秘书 | company_number, items_per_page |
get_officer_appointments | 获取一名官员的所有预约 | officer_id, items_per_page |
受益所有人(PSC)(3个工具)
| 工具 | 描述 | 关键参数 |
|---|---|---|
get_psc_list | 列出受益所有人(具有重大控制权的人) | company_number, items_per_page |
get_psc | 带有所有权信息的个人PSC详细信息 | company_number, psc_id |
get_psc_statements | PSC声明(例如,“无PSC”、“未知”) | company_number, items_per_page |
风险与合规(3个工具)
| 工具 | 描述 | 关键参数 |
|---|---|---|
get_insolvency | ⚠️ 强制性:检查破产程序 | company_number |
get_disqualification_natural | 🚩 强制性:检查自然人取消资格 | officer_id |
get_disqualification_corporate | 🚩 强制性:检查公司取消资格 | officer_id |
安全和资产(1个工具)
| 工具 | 描述 | 关键参数 |
|---|---|---|
get_charges_list | 列出费用/抵押贷款(担保贷款) | company_number, items_per_page |
综合报告(1个工具)
| 工具 | 描述 | 关键参数 |
|---|---|---|
generate_company_report | 完整的KYB聚合(最适合代理商) | company_number |
向后兼容性(5个已弃用的工具)
search_companies, get_filing_history, get_company_charges, get_persons_with_significant_control, get_company_insolvency (仍然可用,但使用上面的新工具)
部署(Kubernetes)
- 部署:
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml*(注: secret.yaml 如果您依赖客户端密钥,则不再严格要求,但可用于服务器端默认值)。*
- 访问:
该服务通过端口上的NodePort公开 30001 (或LoadBalancer,具体取决于您的K8s设置)。
安全说明
此服务器设计为无状态。它不存储您的API密钥。密钥根据请求传递或通过环境变量配置(可选回退)。确保在生产环境中通过HTTPS传输密钥。
公司使用API端点
公司信息
GET /company/{company_number}-完整的公司简介GET /company/{company_number}/registered-office-address-办公地址GET /company/{company_number}/officers-官员名单GET /company/{company_number}/filing-history-使用交易ID归档历史记录GET /company/{company_number}/filing-history/{transaction_id}-个人备案项目GET /company/{company_number}/charges-费用/抵押GET /company/{company_number}/insolvency-破产状态
具有重大控制权的人(PSC)
GET /company/{company_number}/persons-with-significant-control-PSC列表GET /company/{company_number}/persons-with-significant-control/{type}/{id}-个人PSCGET /company/{company_number}/persons-with-significant-control-statements-PSC声明
高级管理人员
GET /officers/{officer_id}/appointments-官员任命
不合格
GET /disqualified-officers/natural/{officer_id}-自然人取消资格GET /disqualified-officers/corporate/{officer_id}-公司取消资格
文档访问
GET /document/{document_id}/content-下载文档内容
搜索
GET /search/companies-使用筛选器搜索公司
实施说明
认证
所有API调用都使用HTTP基本身份验证和您的公司之家API密钥。
速率限制
MCP服务器传递速率限制错误(HTTP 429)。在客户端应用程序中实现指数回退。
错误处理
- 404未找到:资源不存在或已被删除。
- 401未经授权:API密钥无效或丢失。
- 429费率限制:请求太多。延迟后重试。
- 5xx API_错误:服务器响应正文错误。
文档下载
文档下载以base64编码的内容返回,元数据包括:
document_id:文档标识符content_type:MIME类型(例如,应用程序/pdf)content_length:文件大小(字节)content_base64:Base64编码文件内容
