Swiss company data — Claude Code MCP server: registry, tenders
Gives your coding agent the Swiss commercial register, gazette notices, simap tenders, FINMA licences and a few more open datasets. Useful when you need to vet a counterparty or pull a list of firms.
claude mcp add --env ZEFIX_USER=<ZEFIX_USER> --env ZEFIX_PASSWORD=<ZEFIX_PASSWORD> --env SWISSCO_STATE=<SWISSCO_STATE> --env SWISSCO_INTERVAL=<SWISSCO_INTERVAL> --transport stdio swiss-company-data -- npx -y swissco-mcpWhat Swiss company data does
Six public sources sit behind the server: Zefix on LINDAS for the commercial register, Amtsblattportal for trade notices, simap.ch for public procurement, FINMA for banks and securities firms, GLEIF for LEI records and group structure, ARAMIS for federally funded research. None of them asks for a login. You can search firms by name or by the purpose written in the register, read one company's registry history, page through tenders for a canton, or follow a list of firms over time.
Installation runs npx -y swissco-mcp; Cursor and GitHub Copilot take an mcpServers config block instead. ZEFIX_USER and ZEFIX_PASSWORD stay optional — calls work without them. SWISSCO_STATE sets the state directory, SWISSCO_INTERVAL controls the check interval. If Zefix starts demanding authentication for some endpoints, those calls break without the two credentials.
Watching a list compares a fingerprint built from name, address and purpose. When a UID drops out of the LINDAS dataset, the server reports it as missing from the dataset rather than deleted, since only active entities are published there; a re-registration or a correction produces the same outcome. Check before you tell anyone a company was struck off.
What it helps with
- look up a counterparty by UID and read its register record
- search firms by the business purpose stated in the register
- pull gazette notices for one canton over a date range
- list simap tenders filtered by canton
- track changes across a file of company UIDs
Example prompts for the agent
- Search the Swiss register for firms whose purpose mentions metalworking in canton VD.
- Show the registry history for UID
CHE-444.420.929since 2024. - List the tenders published in canton ZG as a table.
How to install Swiss company data
Platform CLI
claude mcp add --env ZEFIX_USER=<ZEFIX_USER> --env ZEFIX_PASSWORD=<ZEFIX_PASSWORD> --env SWISSCO_STATE=<SWISSCO_STATE> --env SWISSCO_INTERVAL=<SWISSCO_INTERVAL> --transport stdio swiss-company-data -- npx -y swissco-mcpReplace <…> with your own values
Platform CLI
codex mcp add swiss-company-data --env ZEFIX_USER=<ZEFIX_USER> --env ZEFIX_PASSWORD=<ZEFIX_PASSWORD> --env SWISSCO_STATE=<SWISSCO_STATE> --env SWISSCO_INTERVAL=<SWISSCO_INTERVAL> -- npx -y swissco-mcpReplace <…> with your own values
Config file
{
"mcpServers": {
"swiss-company-data": {
"command": "npx",
"args": [
"-y",
"swissco-mcp"
],
"env": {
"ZEFIX_USER": "<ZEFIX_USER>",
"ZEFIX_PASSWORD": "<ZEFIX_PASSWORD>",
"SWISSCO_STATE": "<SWISSCO_STATE>",
"SWISSCO_INTERVAL": "<SWISSCO_INTERVAL>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"swiss-company-data": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"swissco-mcp"
],
"env": {
"ZEFIX_USER": "<ZEFIX_USER>",
"ZEFIX_PASSWORD": "<ZEFIX_PASSWORD>",
"SWISSCO_STATE": "<SWISSCO_STATE>",
"SWISSCO_INTERVAL": "<SWISSCO_INTERVAL>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e ZEFIX_USER=<ZEFIX_USER> -e ZEFIX_PASSWORD=<ZEFIX_PASSWORD> -e SWISSCO_STATE=<SWISSCO_STATE> -e SWISSCO_INTERVAL=<SWISSCO_INTERVAL> swiss-company-data npx -y swissco-mcpReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Swiss company data
How do I install Swiss company data in Claude Code?
Run claude mcp add swissco -- npx -y swissco-mcp. With environment variables: `claude mcp add --env ZEFIX_USER=<ZEFIX_USER> --env ZEFIX_PASSWORD=<ZEFIX_PASSWORD> --env SWISSCO_STATE=<SWISSCO_STATE> --env SWISSCO_INTERVAL=<SWISSCO_INTERVAL> --transport stdio swiss-company-data -- npx -y swissco-mcp`.
What does Swiss company data do?
It wires the agent to public Swiss company and procurement data: register search, gazette notices, tenders, licences. The upstream sources need no account.
Are the Zefix credentials required?
The server runs without them. Pass ZEFIX_USER and ZEFIX_PASSWORD when you want authenticated Zefix requests.