Zefix MCP Server
An MCP server for interacting with the Swiss Commercial Register via Zefix REST API and UID Webservice, enabling company search, validation, SOGC publications, and due diligence reports.
README
<div align="center"> <img src="logo.png" alt="Schwaizer Logo" width="100"/> <h1>Schwaizer</h1> <h2>MCP Server: Zefix & UID Webservice</h2> <p> <strong>An unofficial MCP server for interacting with the Swiss Commercial Register.</strong> </p> <p> <em>This is a community project by Schwaizer and is not an official implementation by the Swiss government.</em> </p> </div>
About Schwaizer
SHAPING SWITZERLAND'S AI FUTURE Empowering Swiss businesses and society through responsible AI adoption. Founded in 2025, Schwaizer is a non-profit organization dedicated to accelerating the responsible adoption of artificial intelligence across Switzerland.
Website: https://www.schwaizer.ch
Zefix MCP Server
MCP (Model Context Protocol) server providing access to Swiss Company Registry data through Zefix REST API and UID Webservice.
Features
Dual API Integration
- Zefix REST API: Fast company searches and SOGC (Official Gazette) tracking
- UID Webservice: Rich company data including NOGA codes, VAT details, and commercial register information
Available Tools (9 tools)
Zefix API Tools
- zefix_search_companies - Search for Swiss companies using the Zefix API.
- zefix_get_company_by_uid - Get detailed company information from Zefix by UID, with optional UID Webservice enrichment.
- zefix_get_daily_registrations - Get all company registrations and publications from SOGC for a specific date.
- zefix_get_company_publications - Get all SOGC publications for a specific company by UID.
UID Webservice Tools
- uid_advanced_search - Advanced company search using the UID Webservice.
- uid_validate_uid - Validate a Swiss UID.
- uid_validate_vat_number - Validate a Swiss VAT number.
- uid_get_company_details - Get detailed company information using only the UID Webservice.
Combined API Tools
- generate_due_diligence_report - Generate a comprehensive due diligence report combining data from both Zefix and UID Webservice.
Installation
npm install
Configuration
Copy .env.example to .env and configure:
# 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
Usage
Running the Server
npm start
Example Tool Calls
Search for companies (Zefix)
{
"name": "zefix_search_companies",
"arguments": {
"name": "Migros",
"canton": "ZH",
"activeOnly": true
}
}
Get company details (Zefix + UID)
{
"name": "zefix_get_company_by_uid",
"arguments": {
"uid": "CHE-123.456.789",
"enrichWithUidData": true
}
}
Validate UID (UID Webservice)
{
"name": "uid_validate_uid",
"arguments": {
"uid": "CHE-123.456.789"
}
}
Generate due diligence report (Zefix + UID)
{
"name": "generate_due_diligence_report",
"arguments": {
"uid": "CHE-123.456.789",
"includePublications": true
}
}
Get daily registrations (Zefix)
{
"name": "zefix_get_daily_registrations",
"arguments": {
"date": "2025-11-15"
}
}
API Documentation
Zefix REST API
- Base URL:
https://www.zefix.admin.ch/ZefixPublicREST/api/v1 - Authentication: Basic Auth
- SOGC publications:
- Per-company publications are returned via
GET /api/v1/company/uid/{uid}in thesogcPub[]field of the company payload (there is noGET /api/v1/sogc/uid/{uid}endpoint). - Daily publications are available via
GET /api/v1/sogc/bydate/{date}.
- Per-company publications are returned via
UID Webservice
- Public Services URL:
https://www.uid-wse.admin.ch/V5.0/PublicServices.svc?wsdl - Protocol: SOAP
- Authentication: None required for Public Services
Data Sources
- Zefix: Federal Commercial Register (Handelsregister)
- UID Register: Federal Business and Enterprise Register
- SOGC/SHAB: Swiss Official Gazette of Commerce
Caching
The server implements intelligent caching:
- Search results: 30 minutes
- Company details: 1 hour
- SOGC data: 6 hours
- UID/VAT validation: 1-24 hours
- Reference data: 24 hours
Error Handling
All tools include comprehensive error handling:
- Input validation with Zod schemas
- API error handling with retries
- Graceful fallbacks when enrichment fails
- Detailed error messages in responses
Development
Project Structure
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
Running Tests
npm test
Linting
npm run lint
Scripts
Helper scripts (for local development and manual checks):
scripts/describe-wsdl.mjs— Inspect/describe UID Webservice WSDL structurescripts/test-uid-search.mjs— Exercise UID search endpoints with sample queriesscripts/test-uid-search-variants.mjs— Try multiple UID search variants
Run examples:
node scripts/describe-wsdl.mjs
node scripts/test-uid-search.mjs "CHE-123.456.789"
node scripts/test-uid-search-variants.mjs "Migros"
License
MIT
Support
For issues with:
- Zefix API: Contact Zefix support zefix@bj.admin.ch
- UID Webservice: Contact uid@bfs.admin.ch
- This MCP Server: Open an issue on GitHub
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.