Mcp Server Zefix — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Server Zefix (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Look up any Swiss company directly from Claude.
An MCP server that connects Claude to Zefix, Switzerland's official company register (Handelsregister). Zefix is operated by the Federal Office of Justice and provides authoritative data from all 26 cantonal commercial registers -- company details, legal forms, audit firms, corporate history, and official gazette publications.
Connect directly -- no API key, no credentials, just the URL.
Claude.ai:
Settings > Customize > Connectors > Add custom connector:
https://mcp-server-zefix.contextfor.ai/mcpClaude Code:
claude mcp add --transport http zefix https://mcp-server-zefix.contextfor.ai/mcpclaude mcp add zefix -- uvx mcp-server-zefixOr add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"zefix": {
"command": "uvx",
"args": ["mcp-server-zefix"]
}
}
}| Tool | Description |
|---|---|
search_companies | Search by name (wildcards supported), filter by canton and legal form |
get_company_by_uid | Full company profile: address, purpose, audit firm, takeover history, branch offices, previous names |
get_company_by_chid | Same as above, using the CH-ID identifier |
get_company_structure | Head office and all branch offices in a table with full addresses. Works from any branch UID. |
get_company_publications | SHAB timeline: board changes, capital changes, mergers, address changes, and more |
list_legal_forms | All Swiss legal forms (AG, GmbH, Stiftung, etc.) with IDs for filtering |
All tools accept a language parameter (de, fr, it, en). Output labels use official Zefix terminology in the selected language.
A company lookup returns:
Works with zero configuration using the public Zefix API. For the official authenticated API, set these environment variables:
| Variable | Default | Description |
|---|---|---|
ZEFIX_BASE_URL | https://www.zefix.ch/ZefixREST/api/v1 | API base URL |
ZEFIX_USERNAME | _(none)_ | Username for ZefixPublicREST API |
ZEFIX_PASSWORD | _(none)_ | Password for ZefixPublicREST API |
To use the official API, request credentials from [email protected], then:
{
"mcpServers": {
"zefix": {
"command": "uvx",
"args": ["mcp-server-zefix"],
"env": {
"ZEFIX_BASE_URL": "https://www.zefix.admin.ch/ZefixPublicREST/api/v1",
"ZEFIX_USERNAME": "your-username",
"ZEFIX_PASSWORD": "your-password"
}
}
}
}git clone https://github.com/johnphilipp/mcp-server-zefix.git
cd mcp-server-zefix
uv sync --all-extras
uv run ruff check . # lint
uv run pytest tests/ -v # test (68 tests, all use fakes, no network)
npx @modelcontextprotocol/inspector uv --directory . run mcp-server-zefix # interactiveFollows Architecture Patterns with Python (Percival & Gregory):
models.py) -- frozen dataclasses (Company, LegalForm, ShabPublication), domain exceptions, no infrastructure importszefix_client.py) -- AbstractZefixClient protocol; HttpZefixClient translates HTTP to domain objects and httpx exceptions to domain exceptionsserver.py) -- handle_* functions accept the abstract client, never import httpxi18n.py) -- centralized label translations (de/fr/it/en) using official Zefix terminologyFakeZefixClient, a working in-memory implementation; test files never import httpxThe server supports remote deployment via Streamable HTTP transport. See Dockerfile, docker-compose.prod.yml, and Caddyfile for a Docker + Caddy setup with auto-HTTPS.
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.