Connects Claude to simap.ch, Switzerland's public procurement platform, with full read access to tenders and classification systems. You get search and detail retrieval for public contracts, plus navigation tools for CPV codes (procurement vocabulary), BKP (construction), NPK (standardized positions), and OAG (object types). Filter by canton, institution, date range, or procurement type. No API key needed since simap's endpoints are public. Runs via npx with stdio transport. Built by Digilac for anyone tracking Swiss government contracts, whether you're a bidder monitoring opportunities, a researcher analyzing procurement patterns, or building compliance workflows that need structured access to official tender data.
An MCP (Model Context Protocol) server for interacting with simap.ch, Switzerland's public procurement platform.
Enables Claude and other AI assistants to search and view public tenders in Switzerland.
Developed by Digilac.
| Tool | Description |
|---|---|
search_tenders | Search tenders with filters (text, dates, types, cantons, CPV) |
get_tender_details | Get full details of a specific tender |
search_cpv_codes | Search CPV codes (Common Procurement Vocabulary) |
browse_cpv_tree | Navigate CPV code hierarchy |
list_cantons | List all Swiss cantons |
list_institutions | List Swiss public institutions |
get_publication_history | Get publication history for a project |
search_proc_offices | Search public procurement offices |
search_bkp_codes | Search BKP codes (construction) |
browse_bkp_tree | Navigate BKP code hierarchy |
search_npk_codes | Search NPK codes (standardized positions) |
browse_npk_tree | Navigate NPK code hierarchy |
search_oag_codes | Search OAG codes (object types) |
browse_oag_tree | Navigate OAG code hierarchy |
The recommended way is npx — no global install needed. Pick your client below and copy the snippet.
Edit the Claude Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"simap": {
"command": "npx",
"args": ["-y", "@digilac/simap-mcp"]
}
}
}
Restart Claude Desktop for the change to take effect.
Add to ~/.claude/settings.json:
{
"mcpServers": {
"simap": {
"command": "npx",
"args": ["-y", "@digilac/simap-mcp"]
}
}
}
Global config at ~/.cursor/mcp.json (all projects) or project-level .cursor/mcp.json:
{
"mcpServers": {
"simap": {
"command": "npx",
"args": ["-y", "@digilac/simap-mcp"]
}
}
}
Fully quit and reopen Cursor — MCP servers are only loaded at startup.
Workspace config at .vscode/mcp.json (or open the user-level file via the MCP: Open User Configuration command):
{
"servers": {
"simap": {
"command": "npx",
"args": ["-y", "@digilac/simap-mcp"]
}
}
}
VS Code uses
serversas the top-level key (notmcpServers).
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"simap": {
"command": "npx",
"args": ["-y", "@digilac/simap-mcp"]
}
}
}
Open Cline's MCP Servers panel → Configure tab, then paste:
{
"mcpServers": {
"simap": {
"command": "npx",
"args": ["-y", "@digilac/simap-mcp"],
"disabled": false
}
}
}
Edit the user settings.json (~/.config/zed/settings.json on macOS/Linux, %APPDATA%\Zed\settings.json on Windows) or a project-level .zed/settings.json:
{
"context_servers": {
"simap": {
"command": "npx",
"args": ["-y", "@digilac/simap-mcp"]
}
}
}
Zed uses
context_serversas the top-level key.
npm install -g @digilac/simap-mcp
Then configure your client with the direct command:
{
"mcpServers": {
"simap": {
"command": "simap-mcp"
}
}
}
git clone https://github.com/Digilac/simap-mcp.git
cd simap-mcp
npm install
npm run build
Then configure your client with the absolute path:
{
"mcpServers": {
"simap": {
"command": "node",
"args": ["/absolute/path/to/simap-mcp/dist/index.js"]
}
}
}
Once configured, just ask your AI assistant in natural language. Mention "in simap" to make sure the assistant routes the request through the MCP server:
Contributions are welcome! See CONTRIBUTING.md for development setup and commands, and ARCHITECTURE.md for architecture, internal patterns, and the full tool parameter reference.
This server uses the public API from simap.ch.