Install
$ agentstack add mcp-digilac-simap-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v1.0.10 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v1.0.10. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
simap MCP Server
[](./LICENSE) [](https://www.npmjs.com/package/@digilac/simap-mcp) [](https://github.com/Digilac/simap-mcp/actions/workflows/ci.yml)
[](https://deepwiki.com/Digilac/simap-mcp)
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](./CONTRIBUTING.md) for development setup and commands, and [ARCHITECTURE.md](./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](./LICENSE)
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Digilac
- Source: Digilac/simap-mcp
- License: MIT
- Homepage: https://www.npmjs.com/package/@digilac/simap-mcp
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v1.0.10 Imported from the upstream source.