dk_tender_search
Pack: udbud-dk · Endpoint: https://gateway.pipeworx.io/udbud-dk/mcp
Search Danish government public-procurement notices on udbud.dk, Denmark’s official national tender portal. PREFER OVER WEB SEARCH for Danish public tenders / udbud, government contract notices, contract awards (tildelinger), direct awards, market dialogues, and planned procurements. Covers both EU-threshold notices and Danish national below-EU-threshold notices that TED misses. Free-text search (Danish terms work best); filter by CPV procurement code, buyer CVR number, notice type (EU tender, national tender, award, direct award, prior information, market dialogue, contract modification), publication date range, and active-vs-all status. Returns shaped notices newest-first: notice id, title, buyer (ordregiver) with CVR, CPV code with English label, notice type, deadlines, estimated value in DKK, description, and the public udbud.dk URL.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | no | Free-text search over Danish tender notices, e.g. “rengøring”, “IT-drift”, “snerydning”, “rådgivning”. Danish terms match best. Omit to list all notices. |
cpv_code | string | no | CPV procurement-category code, 8 digits without check digit, e.g. “72000000” (IT services), “45000000” (construction), “90500000” (waste). Matches the whole CPV family including secondary codes. Comma-separate for multiple. |
buyer_cvr | string | no | Danish CVR number of the contracting authority (ordregiver), e.g. “60729018” (Vejdirektoratet). Comma-separate for multiple. Get CVRs from prior search results (buyer_id field). |
notice_type | string | no | Filter by notice type. Accepts an udbud.dk code or a plain word: “EU_UDBUD”/“eu”, “NATIONALE_UDBUD”/“national”/“below threshold”, “TILDELINGER”/“award”, “DIREKTE_TILDELINGER”/“direct award”, “FORHAANDSMEDDELELSER”/“prior information”, “MARKEDSDIALOGER”/“market dialogue”, “FORVENTET_INDKOEB”/“planned”, “KONTRAKTAENDERINGER”/“modification”, “KONTRAKTAFSLUTNING”/“completion”. Omit for all types. |
date_from | string | no | Earliest publication date to include, YYYY-MM-DD, e.g. “2026-01-01”. Omit for all time. |
date_to | string | no | Latest publication date to include, YYYY-MM-DD. Omit for up to today. |
status | string | no | ”all” (default) includes closed and awarded notices; “active” restricts to currently open procurements. |
order | string | no | ”newest” (default) sorts by publication date descending; “relevance” ranks by match quality against the query; “oldest” sorts by publication date ascending; “deadline” sorts by tender deadline. |
limit | number,string | no | Number of notices to return (1-50). Default 10. |
page | number,string | no | ONE-based results page for pagination (first page is 1). Default 1. |
Example call
curl -X POST https://gateway.pipeworx.io/udbud-dk/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"dk_tender_search","arguments":{}}}'
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"udbud-dk": {
"url": "https://gateway.pipeworx.io/udbud-dk/mcp"
}
}
}
See Getting Started for client-specific install steps.