sophymarine/openregistry
GitHub: sophymarine/openregistry
OpenRegistry 是一个通过 MCP 协议实时访问多国官方公司注册处数据的服务,为 AI 智能体提供原始、未经修改的企业信息。
Stars: 4 | Forks: 1
# OpenRegistry 注册中心
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.sophymarine%2Fopenregistry)
[](https://glama.ai/mcp/servers/sophymarine/openregistry)
[](https://cursor.directory/plugins/openregistry)
[](https://www.pulsemcp.com/servers/sophymarine-openregistry)
[](https://smithery.ai/servers/sophymarine/openregistry)
[](https://x.com/sophymarine)
[](https://www.apache.org/licenses/LICENSE-2.0)
通过 MCP 实时直接访问 30 个官方政府注册处未修改的数据和原始备案文件。
工具:搜索公司、获取资料、高级职员、股东、抵押品、备案文件和财务报表文档。
涵盖英国公司注册处、爱尔兰公司注册局、法国 RNE、西班牙 BORME、意大利 InfoCamere、挪威 Brreg、波兰 KRS、荷兰 KVK、比利时 KBO、瑞士 Zefix、芬兰、捷克、韩国、台湾、新西兰、开曼群岛、澳大利亚、加拿大等更多地区。
提供免费层级;付费密钥可获得更高配额和访问深度。
[](https://openregistry.sophymarine.com)
[](https://glama.ai/mcp/servers/sophymarine/openregistry)
OpenRegistry 是您 AI 智能体实时连接 30 个国家公司注册处的热线——包括英国公司注册处、法国 RNE、德国商事登记册、意大利 InfoCamere(通过欧盟 BRIS)、西班牙 BORME、波兰 KRS、韩国 OpenDART、加拿大 CBCA、美国 10 个州等等。
**我们返回的是注册处自身的原始响应——未经修改。** 每个字段名、每个状态值、每个原始备案文件字节(XHTML iXBRL / PDF / XBRL)都严格按政府系统输出保留。标识符和司法管辖区路由让您能够重建任何记录的政府 URL。无聚合商标注、无字段重命名、无文档重新渲染、无 AI 重新解释、无陈旧缓存。
**在单条提示中跨司法管辖区链式查询**——一家英国有限公司 → 其卢森堡 SARL → 其开曼 LP → 泽西信托 → 最终受益个人,全部在一次对话中完成。遍历 30 个司法管辖区的所有权结构,揭露任何公司背后的真实个人。
托管端点:**`https://openregistry.sophymarine.com/mcp`**
由 [Sophymarine](https://sophymarine.com) 提供的平台。
## 六大支柱
| | |
|---|---|
| **1. 实时** | 每次工具调用都是在您提问的那一刻,对上游政府注册处 API 的实时查询。 |
| **2. 直连政府** | 无聚合器、无第三方数据仓库、无夜间抓取。您的 AI 直接与英国公司注册处、法国 INSEE、德国 Registerportal、韩国 FSS OpenDART 对话。 |
| **3. 未修改且源可追溯** | 每个字段名、每个状态码、每个原始备案字节都原样返回。注册处自身的标识符被保留,因此任何响应都可追溯至政府记录。企业级添加了预先合成的 `source_url` / `registry_url` / `data_license` 字段。 |
| **4. 零陈旧** | 没有我们控制的缓存层可能变得陈旧。政府记录更新的瞬间您就能看到。与提供 6-24 小时旧快照的商业数据提供商形成对比。 |
| **5. 稳定** | 生产级可靠性,运行在 Cloudflare Workers 的全球边缘网络,并为有状态注册处维护了每个司法管辖区的热工作池。 |
| **6. 跨境** | 在单条提示中链式查询 30 个注册处。无需离开对话即可遍历英国有限公司 → 卢森堡 SARL → 开曼 LP → 个人。 |
## OpenRegistry 的区别
| | OpenRegistry | OpenCorporates | 直接使用公司注册处 API | Bureau van Dijk Orbis |
|---|:---:|:---:|:---:|:---:|
| 覆盖范围 | **30 个国家注册处** | ~140 个,主要从上游源聚合 | 仅限英国 | ~4.3 亿家公司,聚合数据 |
| 数据新鲜度 | **实时** — 每次调用都访问上游 | 抓取并缓存(延迟数小时至数天) | 实时 | 7 天至季度刷新 |
| 字段形状 | **原始上游负载** + 统一信封 | 规范化为 OC 自己的架构 | 每个注册处自己的 CH 架构 | BvD 自己的架构 |
| 源标识符保留 | **是** — 可从响应重建注册处 URL | OC ID 是主键;回溯映射有损 | 原生 | BvD ID 是主键 |
| 备案 PDF / iXBRL 字节 | **原样返回** | 仅返回元数据;完整字节需付费 | 原生 | 需付费 |
| 跨境链式遍历 | **单条 MCP 提示,≤30 个司法管辖区** | 跨国家手动 ID 拼接 | 超出范围(仅限英国) | 仅限 BvD 主导的实体 |
| 身份验证 | **OAuth 2.1 + DCR** | API 密钥(需注册) | API 密钥(需注册) | 按席位许可,**$30k–$50k+/年** |
| 自助免费层级 | **免费层:30 请求/分钟,6 个核心工具,所有司法管辖区** | 仅限非商业用途,有速率限制 | 免费,单一司法管辖区 | 无 |
| 为 AI 智能体设计 | **MCP 原生,基于可流式传输 HTTP 的 JSON-RPC** | REST;无 MCP 包装器 | REST;无 MCP 包装器 | REST;无 MCP 包装器 |
**一句话总结。** OpenCorporates 和 BvD 是*聚合器*,重新塑造并缓存数据;直接使用公司注册处 API 是单一司法管辖区。OpenRegistry 是 AI 智能体与原始政府 API 之间的中间层——原始、实时、多国家,免费层无需 API 密钥。
在 OpenRegistry 有意不提供数据的地方(CJEU C-37/20 案后法定限制访问的实益所有权登记册:德国、西班牙、意大利、荷兰、卢森堡、奥地利、马耳他、葡萄牙),响应中会携带一个结构化的 `alternative_url`,指向仅限反洗钱义务实体访问的法定门户。我们不会假装拥有我们没有的数据。
## 快速示例调用
三个最常用工具的完整 请求→响应 示例。全部三个都可在免费层重现。调用是通过 `https://openregistry.sophymarine.com/mcp` 进行的基于 MCP 可流式传输 HTTP 的 JSON-RPC;为简洁起见,我们展示工具名称 + 参数 + 解包后的响应。
### 1. `search_companies` — 查找一家英国公司
```
// Request
{
"name": "search_companies",
"arguments": { "jurisdiction": "GB", "query": "Monzo Bank", "limit": 5 }
}
// Response (truncated to 1 result)
{
"jurisdiction": "GB",
"count": 5,
"results": [
{
"jurisdiction": "GB",
"company_id": "09446231",
"company_name": "MONZO BANK LIMITED",
"status": "active",
"incorporation_date": "2015-02-06",
"registered_address": "Broadwalk House, 5 Appold Street, London, England, EC2A 2AG",
"jurisdiction_data": {
"company_number": "09446231",
"company_status": "active",
"company_type": "ltd",
"date_of_creation": "2015-02-06",
"title": "MONZO BANK LIMITED",
"address_snippet": "Broadwalk House, 5 Appold Street, London, England, EC2A 2AG",
"kind": "searchresults#company",
"links": { "self": "/company/09446231" }
// ... 20+ verbatim CH fields
}
}
]
}
```
### 2. `get_persons_with_significant_control` — 查询已知公司的英国 PSC
```
// Request
{
"name": "get_persons_with_significant_control",
"arguments": { "jurisdiction": "GB", "company_id": "OC404063" }
}
// Response
[
{
"jurisdiction": "GB",
"psc_id": "...",
"name": "[REDACTED — UK CH residential-address suppression]",
"kind": "individual-person-with-significant-control",
"nature_of_control": ["ownership-of-shares-25-to-50-percent"],
"notified_on": "2024-08-15",
"is_active": true,
"jurisdiction_data": {
"etag": "...",
"natures_of_control": ["ownership-of-shares-25-to-50-percent"],
"notified_on": "2024-08-15",
"country_of_residence": "United Kingdom",
"date_of_birth": { "month": 7, "year": 1985 },
"address": { "country": "United Kingdom" },
"links": { "self": "/company/OC404063/persons-with-significant-control/individual/..." }
// ... full CH PSC record
}
}
]
```
### 3. `fetch_document` — 原始 iXBRL 年度账目字节
```
// Request — get the document_id from list_filings or get_financials first
{
"name": "fetch_document",
"arguments": { "document_id": "MzQ0MTUyNDU5N2FkaXF6a2N4", "max_bytes": 5000000 }
}
// Response (metadata + base64-encoded body)
{
"jurisdiction": "GB",
"document_id": "MzQ0MTUyNDU5N2FkaXF6a2N4",
"content_type": "application/xhtml+xml",
"size_bytes": 348721,
"encoding": "base64",
"content": "PCFET0NUWVBFIGh0bWwgUFVCTElDIC...",
// signed proxy URL for human download / out-of-band fetch
"proxy_url": "https://openregistry.sophymarine.com/document/gb/MzQ0MTUyNDU5N2FkaXF6a2N4/content?token=..."
}
```
`content` 是公司注册处发送的**原始 iXBRL 字节**——您的 AI 智能体可以按需解析或重新渲染。我们不会重新编码、规范化标签或将数据提取到我们自己的架构中。传递 `format: "png"`(需要浏览器渲染)则返回扫描 PDF 的逐页栅格化渲染。
## 配额、错误和退避
OpenRegistry 通过结构化响应呈现三种不同的失败类型,以便 AI 智能体可以据此进行分支判断。
### 速率限制
对匿名用户按 IP 限制,对登录用户按用户限制。跨境**扇出上限**是一个单独的计数器,限制调用者在滚动的 60 秒窗口内通过 `search_companies` 可以访问多少个*不同*的司法管辖区。
当您超过任一限制时,响应为 HTTP `429`:
```
{
"jsonrpc": "2.0",
"error": {
"code": -32000,
"message": "rate-limited",
"data": {
"reason": "rate-limited",
"retry_after_ms": 12400,
"scope": "ip" // or "user" or "fanout"
}
}
}
```
HTTP 层还会设置标准的 `Retry-After: 13` 头(秒,向上取整)。**请严格遵守 `retry_after_ms`** —— 在此之上进行指数退避是不必要的;限制窗口是固定滚动的,而非自适应的。扇出上限 (`scope: "fanout"`) 是一个 60 秒的滚动窗口——您最早的国家一离开窗口,您就可以访问新的国家。Pro 层上限为 10 个不同国家 / 60 秒,Max 层为 30 个,企业层无限制。
### 法定限制访问(CJEU C-37/20 及类似情况)
在 CJEU C-37/20 案后,一些实益所有权登记册(德国、西班牙、意大利、荷兰、卢森堡、奥地利、马耳他、葡萄牙)以及《开曼实益所有权透明度法》后,其访问权限受到限制,仅限反洗钱义务实体。我们不会代理这些数据——工具会返回 HTTP `501` 并附带结构化指引:
```
{
"jurisdiction": "DE",
"error": "not_proxied_by_design",
"reason": "CJEU-C-37-20",
"alternative_url": "https://www.transparenzregister.de",
"alternative_access": "AML-obliged entities only (banks, lawyers, notaries, etc.)",
"human_message": "The German Transparency Register is statutorily gated since 22 Nov 2022."
}
```
这是一个*设计*响应,而非暂时性失败——重试无济于事。`alternative_url` 是合格实体可注册以获得访问权限的法定门户。
### 上游错误和工具级结构化 501
当上游注册处自身出现故障时,我们原样呈现其错误并带有结构化包装:
```
{
"jurisdiction": "ES",
"error": "upstream_error",
"upstream_status": 524,
"human_message": "Spain BORME upstream timed out (Madrid bulletin renderer slow). Retry in 30-60s.",
"retry_after_ms": 45000
}
```
当上游注册处未暴露所请求的概念时,某些工具也会返回 `501` 并附带**替代工具**建议(例如,捷克政党没有标准意义上的高级职员——请改用 `source="rpsh"` 调用 `search_specialised_records`):
```
{
"error": "alternative_tool_required",
"alternative_tool": "search_specialised_records",
"alternative_args": { "jurisdiction": "CZ", "source": "rpsh", "...": "..." },
"human_message": "Czech political parties register is exposed via the RPSH sub-source."
}
```
### 推荐的客户端退避策略
| 错误 | 操作 |
|---|---|
| `429 rate-limited` | 休眠 `retry_after_ms`,然后重试一次。 |
| `429 fanout` | 不要重试相同的调用;将下一个请求路由到您在该窗口内已访问过的国家。 |
| `501 not_proxied_by_design` | 不要重试。向用户展示 `alternative_url`。 |
| `501 alternative_tool_required` | 使用 `alternative_tool` + `alternative_args` 重新发出请求。 |
| `5xx upstream_error` | 如果存在则休眠 `retry_after_ms`,否则休眠 30 秒。最多重试 3 次。 |
| `4xx not_found` | 不要重试。使用 `search_companies` 重新搜索以发现有效的 ID。 |
参考退避实现在每个框架集成指南中发布,位于 [`/docs/integrations`](https://openregistry.sophymarine.com/docs/integrations/langchain)。
## 开箱即用的技能
我们发布了 10 个针对最常见 OpenRegistry 工作流的专业 Claude 智能体技能。将它们放入您的 Claude Code 项目的 `.claude/skills/` 目录或任何兼容 Claude 的智能体中——按意图调用。
| # | 技能 | 单条提示的预期结果 |
|---|---|---|---|
| 1 | [**KYC 与跨境尽职调查**](./skills/kyc-cross-border-due-diligence/SKILL.md) | 完整法定档案:资料 + 董事 + 最终受益人 + 股东 + 抵押品 + 最新账目 |
| **2 ⭐** | [**跨境最终受益人链式遍历器**](./skills/ubo-cross-border-chain-walker/SKILL.md) | **遍历跨境所有权链,直至触及真实个人** |
| 3 | [**董事搜索与 PEP 筛选**](./skills/director-search-pep-screening/SKILL.md) | 某人经营过的所有公司 + 联合董事网络 |
| 4 | [**实时公司账目与 XBRL 财务数据**](./skills/live-company-accounts-xbrl/SKILL.md) | 最新法定账目,机器可读的 XBRL / iXBRL / PDF + 关键数据 |
| 5 | [**公司备案监控与事件警报**](./skills/corporate-filing-monitor/SKILL.md) | 某时间窗口内的重大备案,已分类并标记 |
| 6 | [**全球公司名称可用性检查**](./skills/global-company-name-availability/SKILL.md) | 某名称在 10 多个国家是否可注册? |
| 7 | [**行业与竞争对手公司搜索**](./skills/industry-competitor-search/SKILL.md) | N 个司法管辖区内某行业的所有公司,已排名 + 增强 |
| 8 | [**空壳公司探测器**](./skills/shell-company-detector/SKILL.md) | 标记 1 位董事 + 无账目 + 海外办公地址的空壳公司(反洗钱信号) |
| 9 | [**凤凰公司雷达**](./skills/phoenix-company-radar/SKILL.md) | 检测注销后重生的欺诈模式(相同董事、相同地址) |
| 10 | [**行业守门人列表**](./skills/sector-gatekeeper-list/SKILL.md) | 所有 CIMA / FCA / BaFin / FSS 持牌的受监管实体 |
查看 [`skills/README.md`](./skills/README.md) 了解技能包概述。
### 相同的 10 个工作流,也作为 MCP 提示词
上述每个技能也由 MCP 服务器作为命名的**提示词**提供——因此任何兼容 MCP 的客户端(Claude Desktop、Cursor、Cline、Goose、Zed 等)无需安装技能文件即可在其提示词选择器中显示它们。调用 `prompts/list` 以发现它们,调用 `prompts/get` 以调用。相同名称:`kyc_cross_border_due_diligence`, `ubo_cross_border_chain_walker`, `director_search_pep_screening`, `live_company_accounts_xbrl`, `corporate_filing_monitor`, `global_company_name_availability`, `industry_competitor_search`, `shell_company_detector`, `phoenix_company_radar`, `sector_gatekeeper_list`。
## 连接
OpenRegistry 适用于所有主要支持 MCP 的客户端。同一个 `https://openregistry.sophymarine.com/mcp` 端点适用于所有客户端。
### Claude 桌面版
设置 → 连接器 → 添加自定义连接器 → 粘贴 `https://openregistry.sophymarine.com/mcp`。
对于没有连接器 UI 的旧版本,添加到 `claude_desktop_config.json`:
```
{
"mcpServers": {
"openregistry": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://openregistry.sophymarine.com/mcp"]
}
}
}
```
### Claude 代码版
```
claude mcp add --transport http openregistry https://openregistry.sophymarine.com/mcp
```
在 Claude Code 2.1.1+ 版本上,您也可以使用 JSON 格式:
```
claude mcp add-json openregistry '{"type":"http","url":"https://openregistry.sophymarine.com/mcp"}'
```
### Gemini CLI
通过此仓库中的 [`gemini-extension.json`](./gemini-extension.json) 清单一键安装:
```
gemini extensions install https://github.com/sophymarine/openregistry
```
或手动添加到 `~/.gemini/settings.json`(Gemini 使用 `httpUrl`,而不是 `url`):
```
{
"mcpServers": {
"openregistry": {
"httpUrl": "https://openregistry.sophymarine.com/mcp"
}
}
}
```
### ChatGPT
仅限 Plus / Pro / Business / Enterprise / Education 计划(免费层不提供开发者模式)。
1. 设置 → 应用与连接器 → 高级设置 → 启用**开发者模式**。
2. 在连接器页面,点击**创建**并粘贴 `https://openregistry.sophymarine.com/mcp`。
参见 OpenAI 的[开发者模式帮助文章](https://help.openai.com/en/articles/12584461-developer-mode-apps-and-full-mcp-connectors-in-chatgpt-beta)。
### Perplexity
仅限 Pro / Max / Enterprise 计划。设置 → 连接器 → 添加自定义远程连接器 → 粘贴 URL → 选择 OAuth。适用于常规聊天、Comet 浏览器和计算机智能体工作流。([变更日志 2026-03-13](https://www.perplexity.ai/changelog/what-we-shipped---march-13-2026)。)
### Cursor
[](https://cursor.com/en/install-mcp?name=openregistry&config=eyJ1cmwiOiJodHRwczovL29wZW5yZWdpc3RyeS5zb3BoeW1hcmluZS5jb20vbWNwIn0%3D)
或手动添加到 `~/.cursor/mcp.json`:
```
{
"mcpServers": {
"openregistry": {
"url": "https://openregistry.sophymarine.com/mcp"
}
}
}
```
### VS Code (1.101+,Copilot 智能体模式)
[](https://insiders.vscode.dev/redirect/mcp/install?name=openregistry&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fopenregistry.sophymarine.com%2Fmcp%22%7D) [](https://insiders.vscode.dev/redirect/mcp/install?name=openregistry&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fopenregistry.sophymarine.com%2Fmcp%22%7D&quality=insiders)
或手动添加到 `.vscode/mcp.json`(工作区)或用户设置 → MCP。VS Code 使用 `servers`(不是 `mcpServers`)并需要 `type: "http"`:
```
{
"servers": {
"openregistry": {
"type": "http",
"url": "https://openregistry.sophymarine.com/mcp"
}
}
}
```
### Microsoft 365 Copilot(Word / Excel / PowerPoint / Teams / Outlook)
通过 Microsoft Copilot Studio 智能体路径进行组织级部署。需要 Microsoft 365 Copilot 许可证。
1. 在 **Microsoft Copilot Studio** 中,打开或创建一个智能体 → **工具** → **添加工具** → **新工具** → **模型上下文协议**。
2. 粘贴 `https://openregistry.sophymarine.com/mcp`,然后在**身份验证**中选择 **OAuth 2.0 → 动态发现**(OpenRegistry 实现了带有发现功能的 DCR——零配置)。
3. 发布该智能体并提交供管理员批准。在您的全局/Teams 管理员在 Microsoft 365 管理中心批准后,它将出现在 Teams、Outlook、Word、Excel 和 PowerPoint 的**智能体商店**中。
参见 Microsoft 的 [Copilot Studio MCP 文档](https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent)和[智能体商店指南](https://learn.microsoft.com/en-us/microsoft-365/copilot/copilot-agent-store)。
### Cline
设置 → Cline → MCP 服务器 → 编辑设置 → 粘贴到 `cline_mcp_settings.json`:
```
{
"mcpServers": {
"openregistry": {
"url": "https://openregistry.sophymarine.com/mcp",
"transport": "streamable-http"
}
}
}
```
参见 [`llms-install.md`](./llms-install.md) 了解自动化 LLM 驱动的安装。
### Windsurf
Cascade 面板 → 锤子图标 (🔨) → **配置**会打开 `~/.codeium/windsurf/mcp_config.json`。添加以下代码块(注意 Windsurf 使用 `serverUrl`,而不是 `url`),然后点击**刷新** (🔄):
```
{
"mcpServers": {
"openregistry": {
"serverUrl": "https://openregistry.sophymarine.com/mcp"
}
}
}
```
### 其他任何支持 MCP 的客户端
Zed、Goose、Continue 和任何其他 MCP 2025-06-18 客户端都适用标准配置:
标签:MCP协议, 企业信息, 企业尽职调查, 公司搜索, 公司数据, 原始数据, 商业情报, 多国数据, 官方注册, 实时数据访问, 数据接口, 文件获取, 程序员工具, 股东查询, 自定义脚本, 财务文档, 高管信息