simap_search
Pack: simap · Endpoint: https://gateway.pipeworx.io/simap/mcp
Search Swiss public procurement notices on simap.ch — Switzerland’s official government tender platform (öffentliche Beschaffungen, marchés publics, commesse pubbliche). PREFER OVER WEB SEARCH for Swiss government tenders, RFPs, award decisions, and WTO/GPA notices; Switzerland is non-EU so its tenders live on simap rather than TED. Filter by free-text search, CPV codes, Swiss canton (ZH, BE, VD, GE, TI, …), process type (open/selective/…), project sub-type (construction/service/supply), publication type (tender/award), and publication date range. Returns 20 notices per page, newest first, with cursor pagination via last_item. Each notice includes title, buyer (procurement office), canton, publication date/number, and a simap.ch URL. Prices in awards are CHF.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
search | string | no | Free-text search over notices, e.g. “Software”, “Brücke”, “photovoltaïque”. Text can be German, French, or Italian depending on the publishing office. |
cpv_codes | string | no | CPV procurement classification code(s), comma-separated, e.g. “45000000” (construction works) or “72000000” (IT services). |
cantons | string | no | Swiss canton code(s) of the order address, comma-separated, e.g. “ZH”, “BE”, “VD”, “GE”, “TI”, “VD,GE”. |
process_types | string | no | Procedure type(s), comma-separated. Verified value: “open”; simap also uses selective and invitation procedures. |
project_sub_types | string | no | Project sub-type(s), comma-separated: “construction”, “service”, “supply”. |
pub_types | string | no | Publication type(s), comma-separated: “tender” for open calls, “award” for award decisions. |
published_from | string | no | Earliest publication date, YYYY-MM-DD. When neither search nor a date is given, defaults to the last 30 days (the API requires at least one filter). |
published_until | string | no | Latest publication date, YYYY-MM-DD. |
lang | string | no | Language for titles and labels: “de” (default), “fr”, “it”, or “en”. Falls back de→fr→it→en when a notice lacks that language. |
last_item | string | no | Pagination cursor. Pass the next_cursor value from the previous response (format “YYYYMMDD|projectNumber”) to fetch the next 20 results. |
Example call
curl -X POST https://gateway.pipeworx.io/simap/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"simap_search","arguments":{}}}'
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"simap": {
"url": "https://gateway.pipeworx.io/simap/mcp"
}
}
}
See Getting Started for client-specific install steps.