瑞士商业注册数据服务

提供通过Zefix REST API和UID Webservice访问瑞士公司注册数据的MCP服务器。

  • by ishumilin
  • JavaScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 ishumilin/schwaizer-zefix-mcp

使用说明

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工具

  1. zefix_search公司 -搜索使用Zefix API的瑞士公司。
  2. zefix_get_company_by_uid -通过UID从Zefix获取详细的公司信息,并可选择UID Webservice扩展。
  3. zefix_get-daily_注册 -从SOGC获取特定日期的所有公司注册和出版物。
  4. zefix_get_公司_出版物 -按UID获取特定公司的所有SOGC出版物。

UID Web服务工具

  1. uid高级搜索 -使用UID Webservice进行高级公司搜索。
  2. uid_validate_uid -验证瑞士UID。
  3. uid_validate_vat_number -验证瑞士增值税号码。
  4. 用户指南_公司_详细信息 -仅使用UID Webservice获取详细的公司信息。

API组合工具

  1. 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上打开一个问题