Schwaizer
MCP Server: Zefix & UID Webservice
An unofficial MCP server for interacting with the Swiss Commercial Register.
This is a community project by Schwaizer and is not an official implementation by the Swiss government.
______________________________________________________________________
关于Schwaizer
塑造瑞士人工智能的未来 通过负责任的人工智能采用,赋予瑞士企业和社会权力。 Schwaizer成立于2025年,是一家非营利组织,致力于在瑞士加速负责任地采用人工智能。
网站:https://www.schwaizer.ch
______________________________________________________________________
Zefix MCP服务器
MCP(模型上下文协议)服务器,通过Zefix REST API和UID Web服务提供对瑞士公司注册数据的访问。
特性
API双重集成
- Zefix REST API:快速公司搜索和SOGC(官方公报)跟踪
- UID Web服务:丰富的公司数据,包括NOGA代码、增值税详细信息和商业注册信息
可用工具(9个工具)
Zefix API工具
- zefix_search公司 -搜索使用Zefix API的瑞士公司。
- zefix_get_company_by_uid -通过UID从Zefix获取详细的公司信息,并可选择UID Webservice扩展。
- zefix_get-daily_注册 -从SOGC获取特定日期的所有公司注册和出版物。
- zefix_get_公司_出版物 -按UID获取特定公司的所有SOGC出版物。
UID Web服务工具
- uid高级搜索 -使用UID Webservice进行高级公司搜索。
- uid_validate_uid -验证瑞士UID。
- uid_validate_vat_number -验证瑞士增值税号码。
- 用户指南_公司_详细信息 -仅使用UID Webservice获取详细的公司信息。
API组合工具
- generate_due_diligence_report -结合Zefix和UID Webservice的数据生成一份全面的尽职调查报告。
安装
npm install配置
复制 .env.example 到 .env 并配置:
# Zefix REST API Credentials (required for Zefix tools)
# Note: Credentials must be requested from Federal Registry of Commerce
ZEFIX_USERNAME=your_username
ZEFIX_PASSWORD=your_password
# UID Webservice (no auth needed for Public Services)
UID_PUBLIC_URL=https://www.uid-wse.admin.ch/V5.0/PublicServices.svc?wsdl
# Optional settings
CACHE_ENABLED=true
CACHE_TTL=3600
LOG_LEVEL=info用法
运行服务器
npm start工具调用示例
搜索公司(Zefix)
{
"name": "zefix_search_companies",
"arguments": {
"name": "Migros",
"canton": "ZH",
"activeOnly": true
}
}获取公司详细信息(Zefix+UID)
{
"name": "zefix_get_company_by_uid",
"arguments": {
"uid": "CHE-123.456.789",
"enrichWithUidData": true
}
}验证UID(UID Web服务)
{
"name": "uid_validate_uid",
"arguments": {
"uid": "CHE-123.456.789"
}
}生成尽职调查报告(Zefix+UID)
{
"name": "generate_due_diligence_report",
"arguments": {
"uid": "CHE-123.456.789",
"includePublications": true
}
}获取每日注册(Zefix)
{
"name": "zefix_get_daily_registrations",
"arguments": {
"date": "2025-11-15"
}
}API 文档
Zefix REST API
- 基本URL:
https://www.zefix.admin.ch/ZefixPublicREST/api/v1 - 身份验证:基本身份验证
- SOGC出版物:
- 每家公司的出版物通过以下方式退回 GET /api/v1/company/uid/{uid} 在 sogcPub[] 公司有效载荷字段(没有 GET /api/v1/sogc/uid/{uid} 端点)。 - 每日出版物可通过 GET /api/v1/sogc/bydate/{date}.
UID Web服务
- 公共服务URL:
https://www.uid-wse.admin.ch/V5.0/PublicServices.svc?wsdl - 协议:SOAP
- 身份验证:公共服务不需要身份验证
数据源
- Zefix:《联邦商业登记簿》(Handelsregister)
- UID注册:联邦商业和企业登记处
- SOGC/SHAB:瑞士官方商业公报
缓存
服务器实现智能缓存:
- 搜索结果:30分钟
- 公司详情:1小时
- SOGC数据:6小时
- UID/VAT验证:1-24小时
- 参考数据:24小时
错误处理
所有工具都包括全面的错误处理:
- 使用Zod模式进行输入验证
- API错误处理(重试)
- 当浓缩失败时,优雅的倒退
- 响应中的详细错误消息
发展
项目结构
zefix-mcp-server/
├── src/
│ ├── index.js # MCP server entry point
│ ├── config.js # Configuration
│ ├── api/
│ │ ├── zefix-client.js # Zefix REST client
│ │ ├── uid-client.js # UID SOAP client
│ │ └── schemas.js # Validation schemas
│ ├── tools/
│ │ ├── company-search.js # Search tools
│ │ ├── validation.js # Validation tools
│ │ ├── sogc.js # SOGC tools
│ │ └── due-diligence.js # Due diligence tool
│ └── utils/
│ ├── logger.js # Logging
│ ├── cache.js # Caching
│ └── formatting.js # Formatting utilities
├── .env # Environment variables
├── package.json
└── README.md运行测试
npm test代码检查
npm run lint脚本
辅助脚本(用于本地开发和手动检查):
scripts/describe-wsdl.mjs--检查/描述UID Web服务WSDL结构scripts/test-uid-search.mjs--使用示例查询练习UID搜索端点scripts/test-uid-search-variants.mjs--尝试多种UID搜索变体
运行示例:
node scripts/describe-wsdl.mjs
node scripts/test-uid-search.mjs "CHE-123.456.789"
node scripts/test-uid-search-variants.mjs "Migros"许可证
麻省理工学院
支持
对于以下问题:
- Zefix API:联系Zefix支持zefix@bj.admin.ch
- UID Web服务:联系方式uid@bfs.admin.ch
- 此MCP服务器:在GitHub上打开一个问题
