simap-mcp
An MCP (Model Context Protocol) server for interacting with simap.ch, Switzerland's public procurement platform.
Documentation
simap MCP Server
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.
Features
| 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 |
Prerequisites
- An MCP-compatible client — **Claude Desktop is the easiest** if you are not a developer.
- Node.js ≥ 22 — *only* for clients that do not bundle it. Claude Desktop ships with its own Node.js, so there is nothing to install. For every other client, get it from nodejs.org (pick the LTS version).
- No simap account, no API key, no payment — the simap API is public and read-only.
Installation & Configuration
Claude Desktop (recommended)
1. In Claude Desktop, open Settings → Developer → Edit Config. This opens the folder holding `claude_desktop_config.json`:
2. Open that file in a text editor and paste the block below. If the file already contains an `mcpServers` section, add only the `"simap"` entry inside it.
{
"mcpServers": {
"simap": {
"command": "npx",
"args": ["-y", "@digilac/simap-mcp"]
}
}
}3. Save the file, then fully quit Claude Desktop (macOS: ⌘Q — closing the window is not enough) and reopen it.
4. Check it worked: the simap tools now show up under the tools icon in the message box. Ask *"List the Swiss cantons in simap"* — Claude should answer with the 26 cantons.
The very first launch downloads the server, which takes a few seconds. If the tools do not appear, check Settings → Developer for the server status and logs.
LM Studio
LM Studio follows the same `mcp.json` notation. Open the Program tab in the right-hand sidebar, then Install → Edit mcp.json, and add:
{
"mcpServers": {
"simap": {
"command": "npx",
"args": ["-y", "@digilac/simap-mcp"]
}
}
}> LM Studio does not bundle Node.js — install it from nodejs.org first. Tender search leans on the model's ability to chain tool calls, so results depend a lot on which local model you load.
Code editors & developer tools
Claude Code, Cursor, VS Code, Windsurf
They all take the same snippet — only the file and the top-level key change:
| Client | Where | Top-level key |
|---|---|---|
| Claude Code | `claude mcp add simap -- npx -y @digilac/simap-mcp` | `mcpServers` |
| Cursor | `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (one project) | `mcpServers` |
| VS Code (Copilot) | `.vscode/mcp.json`, or the MCP: Open User Configuration command | `servers` |
| Windsurf | `~/.codeium/windsurf/mcp_config.json` | `mcpServers` |
{
"mcpServers": {
"simap": {
"command": "npx",
"args": ["-y", "@digilac/simap-mcp"]
}
}
}- Claude Code — add `--scope user` to enable it in every project, or `--scope project` to write a `.mcp.json` shared with your team. Claude Code does not read `mcpServers` from `settings.json`. Verify with `claude mcp list`.
- VS Code uses `servers` as the top-level key, not `mcpServers`.
- Cursor loads MCP servers only at startup — quit and reopen it fully.
Alternative: global install
npm install -g @digilac/simap-mcpThen point your client at the command directly:
{
"mcpServers": {
"simap": {
"command": "simap-mcp"
}
}
}Alternative: from source
git clone https://github.com/Digilac/simap-mcp.git
cd simap-mcp
npm install
npm run buildThen point your client at the absolute path:
{
"mcpServers": {
"simap": {
"command": "node",
"args": ["/absolute/path/to/simap-mcp/dist/index.js"]
}
}
}Usage
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:
- *"Show me new tenders published today in simap"*
- *"Find construction tenders in canton Vaud in simap"*
- *"Give me the details of this tender in simap"* (after a search)
- *"Search CPV codes for IT services in simap"*
Listed on
Contributing
Contributions are welcome! See CONTRIBUTING.md for development setup and commands, and ARCHITECTURE.md for architecture, internal patterns, and the full tool parameter reference.
simap API
This server uses the public API from simap.ch.
License
Frequently asked questions
What is simap-mcp?
simap-mcp is An MCP (Model Context Protocol) server for interacting with simap.ch, Switzerland's public procurement platform.
How do I install simap-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is simap-mcp open source?
Yes — it is hosted on GitHub at https://github.com/Digilac/simap-mcp and has 8 stars.
Related MCP tools
The go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.
MCP server that enables AI assistants to interact with Google Gemini CLI, leveraging Gemini's massive token window for large file analysis and codebase understanding
📦 Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Lan...
A desktop MCP client designed as a tool unitary utility integration, accelerating AI adoption through the Model Context Protocol (MCP) and enabling cross-vendor LLM API orchestration.
Open-source cross-agent memory layer for coding agents via MCP. Compatible with Claude Code, Codex, Cursor, Windsurf, Gemini CLI, Antigravity, OpenClaw, Hermes Agent, Oh-my-Pi, Pi, Copilot, Kiro, OpenCode, and Trae.
The TypeScript AI agent framework. ⚡ Assistants, RAG, observability. Supports any LLM: GPT-4, Claude, Gemini, Llama. Built for the Model Context Protocol to enh
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP