Skip to main content
Glama

Zefix MCP

Zefix Search on MCP Marketplace

⚠️ Unofficial MCP server for zefix.ch – Switzerland Central Business Name Index.
This project is not affiliated with or endorsed by the Federal Department of Justice and Police (FDJP) - Federal Office of Justice (FOJ) who are developing and maintaining zefix.ch.

Features and Use-cases

  • Allows your AI-assistant to search for companies incorporated in Switzerland by their name or UID (CHE-nnn.nnn.nnn) with optional filters by canton of incorporation, legal form, location, previous names, etc. (mimics all filters in Zefix GUI).

  • Equips your AI-assistant with full company details available in Zefix (business names and identifiers, purpose, address, auditors, change history, capital, names of legal representatives, merges & acquisitions) to build further automation workflows or answer business-specific questions.

Related MCP server: register-mcp

Sample questions MCP can answer

Company lookup

  • "Find if Google has a legal body in Switzerland and show me their registered address."

  • "Was ist der vollständige rechtliche Name und die UID des Unternehmens, das als Migros bekannt ist?"

  • "Recherche le CHE-169.865.482 et dis-moi tout ce que tu sais à son sujet."

Filtering & discovery

  • "List all active Treuhand companies headquartered in canton Schaffhausen."

  • "Finde Einzelunternehmen im Bereich Malerei, die irgendwo in der Grossregion Zürich eingetragen sind."

  • "Dresse une liste des adresses et des représentants légaux de toutes les banques en Romandie."

History & changes

  • "What is the new name of the company formerly known as 'SwissAir'?"

  • "Zeig mir die vollständige Namens- und Eigentümergeschichte von Credit Suisse."

  • "Y a-t-il des entreprises qui ont repris ou fusionné avec UBS AG ?"

Due diligence & research

  • "Who is listed as auditor for Zurich Insurance Group?"

  • "Ich stehe kurz vor der Unterzeichnung eines Vertrags mit Hans Müller als Vertreter von Lindt & Sprüngli – ist er dazu bevollmächtigt?"

  • "Vérifie que Bollinger est une entreprise active spécialisée dans la plomberie, et dis-moi depuis combien de temps elle existe et quel est son capital enregistré."

Requirements

  • MCP host application (Claude, LLM Studio, VSCode+GHCP/Cline, Cursor, Dive, LibreChat, DeepChat, Chainlit etc.)

  • LLM that supports Tool calling (GPT-4.1+ Claude Sonnet/Opus, Gemini, Llama 3.1+, Qwen3.5, etc.)

  • (optional) Node.js 24+ (for development or local run without npx)

Installation

As a Claude Desktop Extension (easiest)

  1. Go to the Releases page and download the latest zefix.mcpb file.

  2. Double-click it — Claude Desktop opens automatically.

  3. Click Install.

Restart Claude Desktop if you do not see zefix tool in the list of available tools.

Add to your MCP host config:

{
  "mcpServers": {
    "zefix": {
      "command": "npx",
      "args": ["-y", "zefix-mcp-unofficial"]
    }
  }
}

npx downloads, caches, and runs the package automatically. No local install required.

From source

git clone https://github.com/your-org/zefix-mcp-unofficial.git
cd zefix-mcp-unofficial
npm install
npm run build

Than add this section to config file of your MCP host application (syntax may vary, check documentation for your MCP host app):

{
  "mcpServers": {
    "zefix": {
      "command": "node",
      "args": ["/absolute/path/to/zefix-mcp-unofficial/dist/index.js"]
    }
  }
}

Tool reference

get_companies

Search the Zefix registry. All parameters except name_or_uid are optional.

Parameter

Type

Description

name_or_uid

string

Company name or UID (CHE-nnn.nnn.nnn).

language_key

string

Response language: en, de, fr, it. Default: en.

cantons

string[]

Filter by canton codes, e.g. ["ZH", "BE"].

locations

string[]

Filter by legal seat town names, e.g. ["Zurich", "Bern"].

legalForms

string[]

Filter by legal form, e.g. ["AG", "GmbH"].

exactSearch

boolean

Search from start of name (default: true). Set false for substring/wildcard (*) search.

phoneticSearch

boolean

Enable phonetic/fuzzy matching.

includeDeleted

boolean

Include deregistered companies (default: false).

includeFormerNames

boolean

Also search former company names (default: false).

Tips:

  • If you know the UID, use it — it will return the most accurate full-detail result.

  • If exactSearch: true returns no results, retry with exactSearch: false and phoneticSearch: true combination.

  • Results are returned in YAML format, with detail level depending on amount of found companies:

    • 1 result → full details including SOGC publication history;

    • 2–10 → detailed summaries, but without full history and list of legal representatives;

    • 11+ → name/UID/status list only.

  • Results are capped at 100 items.

  • The server communicates over stdio (MCP standard transport) — it won't print anything to the terminal when run directly.

  • When MCP server queries Zefix REST API at https://www.zefix.ch/ZefixREST/api/v1/ (public, no authentication required) it submits User-Agent: zefix-mcp-unofficial for transparency. You may want to change uf if using this MCP as part of your larger solution.


Development and Debugging

Build

npm run build
# Compiled output goes to dist/index.js

Inspect

Use the MCP Inspector to interactively call tools and inspect responses:

npx @modelcontextprotocol/inspector node dist/index.js

The first run will prompt you to install @modelcontextprotocol/inspector. After startup, open the URL shown in the terminal (usually http://localhost:5173) to access the inspector UI.

Workflow:

  1. Select the get_companies tool in the left panel.

  2. Fill in parameters (e.g. name_or_uid: "Berg Digital").

  3. Click Run and inspect the raw response.

Publishing a new release

Pushing a v* tag triggers the GitHub Actions release workflow, which runs two jobs in parallel:

Job

What it does

Where it lands

Publish to npm

npm run build, npm publish

npmjs.com

Publish Claude plugin

npm run build, npx @anthropic-ai/mcpb pack, uploads the .mcpb asset

GitHub Releases

# 1. Bump version in BOTH files (npm will reject publishing over an existing version):
#    - package.json  → "version": "x.y.z"
#    - manifest.json → "version": "x.y.z"

# 2. Commit, tag, push — the tag MUST point to the version-bump commit:
git add package.json manifest.json
git commit -m "chore: release vX.Y.Z"
git tag vX.Y.Z
git push && git push --tags

⚠️ Common mistake: creating the tag before editing package.json/manifest.json. CI publishes whatever version string is in package.json at the tagged commit — the tag name itself is ignored by npm. If you tagged too early, move the tag to the correct commit:

git tag -d vX.Y.Z                   # delete local tag
git push origin :refs/tags/vX.Y.Z   # delete remote tag
# edit package.json + manifest.json, then:
git add package.json manifest.json
git commit -m "chore: release vX.Y.Z"
git tag vX.Y.Z
git push && git push --tags

First-time setup (one-off):

  • npm token: create an Access token at npmjs.com → add it as a Repository secret named NPM_TOKEN in GitHub → Settings → Secrets and variables → Actions; token lifetime is 90 days (max) - update regularly.

  • GitHub releases: no extra setup needed — the workflow uses the built-in GITHUB_TOKEN with contents: write permission


License

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
3dRelease cycle
2Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zahhar/zefix-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server