Command Palette

Search for a command to run...

UnylyUnyly
Browse all

SIMAP Swiss Procurement

FreeNot checked

Access Swiss public procurement data from SIMAP.ch for tender search and analysis.

GitHubEmbed

About

Access Swiss public procurement data from SIMAP.ch for tender search and analysis.

README

GitHub License NPM Version GitHub Actions Workflow Status NPM Downloads Ask DeepWiki

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

  • Node.js ≥ 22 (LTS or newer).
  • An MCP-compatible client (Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, Cline, Zed, …).
  • No simap account or API key required — the simap API is public and read-only.

Installation & Configuration

The recommended way is npx — no global install needed. Pick your client below and copy the snippet.

Claude Desktop

Edit the Claude Desktop configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "simap": {
      "command": "npx",
      "args": ["-y", "@digilac/simap-mcp"]
    }
  }
}

Restart Claude Desktop for the change to take effect.

Other clients

Claude Code (CLI)

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "simap": {
      "command": "npx",
      "args": ["-y", "@digilac/simap-mcp"]
    }
  }
}
Cursor

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.

VS Code (GitHub Copilot)

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 servers as the top-level key (not mcpServers).

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "simap": {
      "command": "npx",
      "args": ["-y", "@digilac/simap-mcp"]
    }
  }
}
Cline (VS Code extension)

Open Cline's MCP Servers panel → Configure tab, then paste:

{
  "mcpServers": {
    "simap": {
      "command": "npx",
      "args": ["-y", "@digilac/simap-mcp"],
      "disabled": false
    }
  }
}
Zed

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_servers as the top-level key.

Alternative: Global install
npm install -g @digilac/simap-mcp

Then configure your client with the direct command:

{
  "mcpServers": {
    "simap": {
      "command": "simap-mcp"
    }
  }
}
Alternative: From source
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"]
    }
  }
}

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

MIT

from github.com/digilac/simap-mcp

Install SIMAP Swiss Procurement in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install simap-swiss-procurement

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add simap-swiss-procurement -- npx -y @digilac/simap-mcp

Step-by-step: how to install SIMAP Swiss Procurement

FAQ

Is SIMAP Swiss Procurement MCP free?

Yes, SIMAP Swiss Procurement MCP is free — one-click install via Unyly at no cost.

Does SIMAP Swiss Procurement need an API key?

No, SIMAP Swiss Procurement runs without API keys or environment variables.

Is SIMAP Swiss Procurement hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install SIMAP Swiss Procurement in Claude Desktop, Claude Code or Cursor?

Open SIMAP Swiss Procurement on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare SIMAP Swiss Procurement with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs