mcpField
Z
Zefix Search

Zefix Search

Local
github.com/zahharSearch5Updated 17w ago

About Zefix Search

Zefix Search is an unofficial MCP server for searching Switzerland’s Central Business Name Index. It supports company-name or UID lookup, registry filters, and access to company details and history for research and due diligence.

Key features

  1. 01Search by company name or UID
  2. 02Filter by canton, location, and legal form
  3. 03Search former names and deregistered companies
  4. 04Retrieve company details and change history

Use cases

  1. 01Verify a Swiss company’s registered details
  2. 02Find companies by region and legal form
  3. 03Review company representatives, auditors, or history

MCP support

It exposes the `get_companies` tool to MCP clients, querying the public Zefix REST API without authentication. Search results include company registry details, with the amount of detail varying by result count.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"zefix": {
"command": "npx",
"args": [
"-y",
"zefix-mcp-unofficial"
]
}
}
}
Run commandnpx -y zefix-mcp-unofficial

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmzefix-mcp-unofficial

Tools

1

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
name_or_uidstringYesName (without legal form suffixes like 'AG' or 'GmbH') or UID of the company to search for. If UID is known ('CHE-nnn.nnn.nnn' or similar) – use it to get full details about the company.
language_keystringNoResponse language (allowed ISO-639-1 codes: en, de, fr, it).
cantonsarrayNoOptional list of Swiss canton ISO-3166-2 codes: ZH - Zurich BE - Bern LU - Lucerne UR - Uri SZ - Schwyz OW - Obwalden NW - Nidwalden GL - Glarus ZG - Zug FR - Fribourg SO - Solothurn BS - Basel-Stadt BL - Basel-Landschaft SH - Schaffhausen AR - Appenzell Ausserrhoden AI - Appenzell Innerrhoden SG - St. Gallen GR - Graubünden AG - Aargau TG - Thurgau TI - Ticino VD - Vaud VS - Valais NE - Neuchâtel GE - Geneva JU - Jura
locationsarrayNoOptional list of legal seat town or other locality names (case-insensitive).
legalFormsarrayNoOptional list of legal forms, e.g., 'AG', 'GmbH', 'Sole proprietorship' (case-insensitive).
includeDeletedbooleanNoWhen true, includes deleted/deregistered companies in the results. Default: false.
includeFormerNamesbooleanNoWhen true, also searches within former company names. Default: false.
exactSearchbooleanNoIf True (default, preferred): searches from the start of the business name. Prefer using exact search for more accurate results. Fallback to 'False' if no results are found.If False: searches anywhere in the business name. Wildcard (*) supported for greater flexibility.
phoneticSearchbooleanNoSearches for similar sounding words. Enable it when audio input is used or when exact search did not find any result. Default: false.

Details

From the project README

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.

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.

Via npx (recommended for all other MCP hosts)

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.

ParameterTypeDescription
name_or_uidstringCompany name or UID (CHE-nnn.nnn.nnn).
language_keystringResponse language: en, de, fr, it. Default: en.
cantonsstring[]Filter by canton codes, e.g. ["ZH", "BE"].
locationsstring[]Filter by legal seat town names, e.g. ["Zurich", "Bern"].
legalFormsstring[]Filter by legal form, e.g. ["AG", "GmbH"].
exactSearchbooleanSearch from start of name (default: true). Set false for substring/wildcard (*) search.
phoneticSearchbooleanEnable phonetic/fuzzy matching.
includeDeletedbooleanInclude deregistered companies (default: false).
includeFormerNamesbooleanAlso 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:

JobWhat it doesWhere it lands
Publish to npmnpm run build, npm publishnpmjs.com
Publish Claude pluginnpm run build, npx @anthropic-ai/mcpb pack, uploads the .mcpb assetGitHub 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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.