🇨🇭 部分 瑞士公共数据MCP投资组合
🏛️ 注册mcp
   
瑞士联邦商业登记处(Zefix/Handelsregister)的MCP服务器和支持参考数据
______________________________________________________________________
概述
register-mcp 通过Zefix REST API提供对瑞士联邦商业注册中心的AI名称访问,无需身份验证:
| 来源 | 数据 | API |
|---|---|---|
| Zefix(商业注册) | 瑞士公司、法律形式、SHAB突变 | ZefixREST v1 |
| SHAB | 官方商业公报-突变出版物 | 嵌入Zefix |
专为瑞士公共行政用例设计:供应商验证、合同合作伙伴尽职调查、采购筛选和供应商入职——所有这些都是通过自然语言查询实现的。
锚点演示查询: *“我们想与苏黎世Lehrmittelverlag AG签署一份框架协议。该公司在商业注册中是否活跃,其声明的公司宗旨是什么,过去两年中是否发生了任何SHAB突变?”*
______________________________________________________________________
特性
- 🏛️ 6工具 用于公司搜索、验证和参考数据
- 🔍
zefix_verify_company--快速激活/溶解状态检查 - 🌐 双语输出 (Markdown/JSON)
- 🔓 不需要API密钥 --来自zefix.admin.ch的开放数据
- ☁️ 双重运输 --stdio(克劳德桌面)+SSE(云)
______________________________________________________________________
先决条件
- Python 3.11+
- 紫外线 (推荐)或pip
______________________________________________________________________
安装
# Clone the repository
git clone https://github.com/malkreide/register-mcp.git
cd register-mcp
# Install
pip install -e .
# or with uv:
uv pip install -e .或与 uvx (无永久性安装):
uvx register-mcp______________________________________________________________________
快速入门
# stdio (for Claude Desktop)
python -m register_mcp.server
# SSE (cloud deployment)
MCP_TRANSPORT=sse PORT=8000 python -m register_mcp.server立即在Claude Desktop中尝试:
*“苏黎世Lehrmittelverlag股份公司在商业登记处是否活跃?”* *“使用UID CHE-108.954.978查找公司”* *“列出所有瑞士法律形式”*
______________________________________________________________________
配置
克劳德桌面版
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"register": {
"command": "python",
"args": ["-m", "register_mcp.server"]
}
}
}或与 uvx:
{
"mcpServers": {
"register": {
"command": "uvx",
"args": ["register-mcp"]
}
}
}配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
云部署(SSE用于浏览器访问)
通过以下方式使用 浏览器中的claude.ai (例如,在没有本地软件的受管工作站上):
Render.com(推荐):
- 将存储库推/叉到GitHub
- 开 render.com:新Web服务→ 连接GitHub仓库
- 设置启动命令:
python -m register_mcp.server --http --port 8000 - 在claude.ai的设置下→ MCP服务器,添加:
https://your-app.onrender.com/sse
💡 *“stdio用于开发人员笔记本电脑,SSE用于浏览器。”*
______________________________________________________________________
可用工具
| 工具 | 说明 |
|---|---|
zefix_search_companies | 按名称、州、法律形式搜索公司 |
zefix_get_company | 内部EHRAID的完整公司简介 |
zefix_get_company_by_uid | 按UID查找公司(CHE xxx.xxx.xxx) |
zefix_verify_company | 快速激活/溶解状态检查 |
zefix_list_legal_forms | 所有带身份证的瑞士法律表格 |
zefix_list_municipalities | 拥有BFS ID的瑞士城市 |
示例用例
| 查询 | 工具 |
|---|---|
| *“苏黎世Lehrmittelverlag股份公司是否活跃?”* | zefix_verify_company |
| *“查找CHE-108.954.978”* | zefix_get_company_by_uid |
| *“在ZH州寻找名为Migros的公司”* | zefix_search_companies |
| *“列出所有瑞士法律形式”* | zefix_list_legal_forms |
| *“伯尔尼州城市展示”* | zefix_list_municipalities |
______________________________________________________________________
建筑
┌─────────────────┐ ┌──────────────────────────────┐ ┌──────────────────────────┐
│ Claude / AI │────▶│ register-mcp │────▶│ Zefix (Handelsregister) │
│ (MCP Host) │◀────│ (MCP Server) │◀────│ ZefixREST/api/v1 │
└─────────────────┘ │ │ └──────────────────────────┘
│ 6 Tools │
│ Stdio | SSE │
│ No authentication required │
└──────────────────────────────┘数据源特征
| 来源 | 协议 | 覆盖范围 | 授权 |
|---|---|---|---|
| Zefix(第1阶段) | REST/JSON | 瑞士公司、法律形式、SHAB | 无 |
| ZefixPublicREST(第2阶段) | REST/JSON | 签署人、资本、完整历史 | 基本授权(免费) |
| UID寄存器(第3阶段) | SOAP | MwSt、NOGA代码、交叉验证 | 公共(20个请求/分钟) |
______________________________________________________________________
分阶段实施
| 阶段 | API | 授权 | 状态 |
|---|---|---|---|
| 第一阶段 | ZefixREST/api/v1 | 没有 | 当前 |
| 第2阶段 | ZefixPublicREST/api/v1 | 基本身份验证(免费,电子邮件zefix@bj.admin.ch) | 计划中 |
| 第三期 | UID注册SOAP | 公共(20个请求/分钟) | 计划 |
第二阶段将增加:签署人详细信息、股本、完整的历史条目。 第三阶段将增加:MwSt状态、NOGA行业代码、交叉注册验证。
______________________________________________________________________
项目结构
register-mcp/
├── src/register_mcp/
│ ├── __init__.py # Package
│ └── server.py # 6 tools (Zefix + reference data)
├── tests/
│ └── test_server.py # Unit + integration tests (mocked HTTP)
├── docs/demo/
│ ├── demo.tape # vhs recording script → demo.gif
│ ├── demo.py # Standalone CLI demo (live Zefix API)
│ └── README.md # How to generate the demo GIF
├── .github/workflows/ci.yml # GitHub Actions (Python 3.11/3.12/3.13)
├── pyproject.toml
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md # This file (English)
└── README.de.md # German version______________________________________________________________________
已知限制
- 按州搜索而不使用名称过滤器可能会返回API错误(Zefix API限制)
- SHAB发布消息文本包含XML样式标记(
...) - 第1阶段API可能在重载情况下进行速率限制;短暂延迟后重试
- ZefixPublicREST(新API)需要注册:电子邮件zefix@bj.admin.ch
______________________________________________________________________
安全与限制
速率限制
| API | 限制 | 注释 |
|---|---|---|
| ZefixREST(第1阶段) | 未正式记录 | 在重负载下可能会节流——1-2秒后重试 |
| ZefixPublicREST(第2阶段) | 未正式记录 | 需要事先注册(免费) |
| UID注册SOAP(第3阶段) | 20次/分钟 | 硬限制,公开记录 |
数据隐私
- 只读访问 --所有工具携带
readOnlyHint: True;服务器不对任何API执行写入、删除或突变操作 - 无数据存储 --服务器充当无状态代理;除了当前请求之外,没有公司数据被持久化、缓存或记录
- 仅限公共注册数据 --Zefix Handelsregister是一个联邦公共注册机构(HRegV);返回的数据是合法的公共信息,而不是DSG/GDPR意义上的个人数据
- 无个人追踪 --服务器不会将用户身份、查询历史或会话数据传输到zefix.admin.ch
服务条款和数据来源
- Zefix API ToS: Zefix REST API的使用受 zefix.admin.ch使用条款。数据发布于 开放政府数据(OGD)瑞士 原则。
- SHAB: 瑞士官方商业公报-由联邦总理府(BK)出版。依法公开。
- 机构使用: 此服务器专为公共管理工作流中的只读查询而设计。不适合大规模收获或自动监控用例。
安全
- 不存储或传输凭据(阶段1)
- 第二阶段证书(
ZEFIX_USER,ZEFIX_PASSWORD)仅通过环境变量传递,从不进行硬编码 - 所有HTTP调用都只使用HTTPS
- 在进行任何API调用之前,通过Pydantic v2验证工具输入
______________________________________________________________________
演示
交互示例:
User: "Is Lehrmittelverlag Zürich AG active in the commercial register?"
→ Tool: zefix_verify_company(name="Lehrmittelverlag Zürich AG")
Claude: ✅ Lehrmittelverlag Zürich AG is ACTIVE in the Handelsregister.
UID: CHE-109.741.634 | Canton: ZH | Legal form: AG
Last SHAB mutation: 2024-06-15要在本地生成演示GIF:
# Install vhs (macOS/Linux)
brew install vhs # macOS
# or: go install github.com/charmbracelet/vhs@latest
# Generate
vhs docs/demo/demo.tape
# → outputs docs/demo/demo.gif______________________________________________________________________
测试
# Unit tests (no API key required)
PYTHONPATH=src pytest tests/ -m "not live"
# Integration tests (live API calls)
pytest tests/ -m "live"______________________________________________________________________
更新日志
看 更改日志.md
______________________________________________________________________
贡献
看 贡献.md
______________________________________________________________________
许可证
MIT许可证——见 许可证
______________________________________________________________________
作者
Hayal Oezkan· 马尔克雷德
______________________________________________________________________
学分及相关项目
- Zefix: Zefix.admin.ch --瑞士联邦商业登记处(BJ/FOJ)
- SHAB: 瑞士官方商业公报——突变出版物
- 协议: 模型上下文协议 --Anthropic/Linux基金会
- 相关: fedlex mcp --商业登记条例
- 相关: 苏黎世开放数据mcp --公司所在地+地理数据
- 相关: 瑞士统计局 --NOGA的行业统计数据
- 相关: 瑞士snb mcp --经济指标
- 文件夹: 瑞士公共数据MCP投资组合
