
Swiss and Austrian company register facts and owner-maintained listings, each with its source.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user wants the register facts of one company that search_companies returned: call it with that result's id. It returns legal form, UID (Switzerland) or Firmenbuch number (Austria), seat, status, founding or registration date and trade. For legal persons it adds the registered purpose, and for Swiss legal persons the capital and former names. For listings maintained by the owner it also returns the owner's short description, website and public phone number. An average star rating with the number of reviews is included when the company has reviews. When the registers list the company, it also gives the LEI, the latest register entries of a legal person (SHAB publications in Switzerland, Firmenbuch entries in Austria), supervision by FINMA, a SECO licence for staff leasing or placement, and a Swissmedic registration for medical devices; a register that does not list the company is not mentioned, and its absence says nothing. Do not guess an id: get it from search_companies first.
The id of a result from search_companies, e.g. "ch:CHE123456789", "at:123456a" or "l:firmen-slug".
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http firmen-directory https://mcp.firmen.directory/mcp
Use this when the user wants the register facts of one company that search_companies returned: call it with that result's id. It returns legal form, UID (Switzerland) or Firmenbuch number (Austria), seat, status, founding or registration date and trade. For legal persons it adds the registered purpose, and for Swiss legal persons the capital and former names. For listings maintained by the owner it also returns the owner's short description, website and public phone number. An average star rating with the number of reviews is included when the company has reviews. When the registers list the company, it also gives the LEI, the latest register entries of a legal person (SHAB publications in Switzerland, Firmenbuch entries in Austria), supervision by FINMA, a SECO licence for staff leasing or placement, and a Swissmedic registration for medical devices; a register that does not list the company is not mentioned, and its absence says nothing. Do not guess an id: get it from search_companies first.
| Argument | Type | Description |
|---|---|---|
| id* | string | The id of a result from search_companies, e.g. "ch:CHE123456789", "at:123456a" or "l:firmen-slug". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^(ch:CHE\\d{9}|at:\\d{6}[a-z]|l:[a-z0-9-]{1,120})$",
"maxLength": 140,
"minLength": 3,
"description": "The id of a result from search_companies, e.g. \"ch:CHE123456789\", \"at:123456a\" or \"l:firmen-slug\"."
}
},
"additionalProperties": false
}Use this when the user asks about a company in Switzerland, Austria or Germany: whether it exists or is still registered, its legal form, UID or Firmenbuch number, seat or former name, or when they want companies of a trade in a town, postcode, canton or Bundesland they name. It searches the FIRMEN.directory company directory: commercial-register entries for Switzerland (Zefix) and Austria (Firmenbuch), plus listings maintained by business owners in Switzerland, Austria and Germany. Each result has company-level facts (legal form, UID or Firmenbuch number, seat, trade), a link to the profile and the id for get_company. Listings maintained by the owner also carry the owner's short description; results may carry an average star rating with the number of reviews, and the distance for searches near the user. Do not use it to find persons, owners or officers, for contact details of register entries, for insolvency or deletion lists, or for credit information: the directory has none of these.
| Argument | Type | Description |
|---|---|---|
| name | string | Company name or part of it, at least 3 letters, e.g. "Muster Treuhand". |
| page | integer | Result page, 1–3. Default 1. |
| limit | integer | Number of results, 1–8. Default 5. |
| place | string | Town or postcode of the company's seat, e.g. "Frauenfeld", "Zürich" or "8400": the town under its local name in Latin letters, whatever language the user writes in ("Zürich" for "Zurigo", "Genève" for "Ginevra"). This is the search area, not the user's own location. |
| trade |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 7, 2026.
| string |
| Trade or line of business as a German word, e.g. "Elektriker", "Treuhand", "Restaurant". Translate it when the user writes in another language: "Sanitär" for "plumber", "plombier" or "idraulico". |
| region | string | Swiss canton (name or code, e.g. "Thurgau", "TG"), Austrian Bundesland (e.g. "Tirol") or German Land, when the user names one. |
| country | string | Restrict to one country when the user names it. |
| near_user | boolean | True only when the user asks for companies near them and names no place. The coarse location the host provides is used; never ask the user for coordinates. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"name": {
"type": "string",
"maxLength": 80,
"description": "Company name or part of it, at least 3 letters, e.g. \"Muster Treuhand\"."
},
"page": {
"type": "integer",
"maximum": 3,
"minimum": 1,
"description": "Result page, 1–3. Default 1."
},
"limit": {
"type": "integer",
"maximum": 8,
"minimum": 1,
"description": "Number of results, 1–8. Default 5."
},
"place": {
"type": "string",
"maxLength": 60,
"description": "Town or postcode of the company's seat, e.g. \"Frauenfeld\", \"Zürich\" or \"8400\": the town under its local name in Latin letters, whatever language the user writes in (\"Zürich\" for \"Zurigo\", \"Genève\" for \"Ginevra\"). This is the search area, not the user's own location."
},
"trade": {
"type": "string",
"maxLength": 60,
"description": "Trade or line of business as a German word, e.g. \"Elektriker\", \"Treuhand\", \"Restaurant\". Translate it when the user writes in another language: \"Sanitär\" for \"plumber\", \"plombier\" or \"idraulico\"."
},
"region": {
"type": "string",
"maxLength": 40,
"description": "Swiss canton (name or code, e.g. \"Thurgau\", \"TG\"), Austrian Bundesland (e.g. \"Tirol\") or German Land, when the user names one."
},
"country": {
"enum": [
"CH",
"AT",
"DE"
],
"type": "string",
"description": "Restrict to one country when the user names it."
},
"near_user": {
"type": "boolean",
"description": "True only when the user asks for companies near them and names no place. The coarse location the host provides is used; never ask the user for coordinates."
}
},
"additionalProperties": false
}