MCP (Model Context Protocol) server providing access to Swedish public procurement data, combining Upphandlingsmyndigheten APIs with TED (EU Tenders Electronic Daily).
- Website Search - Search all content on upphandlingsmyndigheten.se
- Question Portal - Q&A about public procurement from experts
- LOV Search - Freedom of Choice (Valfrihetssystem) announcements
- Criteria Search - Sustainability criteria for procurement
- Criteria Categories - Product/service categories with criteria
- TED Search - Search EU procurement notices (Swedish only)
- Automatically filters to Swedish notices (CY=SWE)
- Supports freetext and expert query syntax
- Access to 24,000+ Swedish procurement notices
npm install
npm run buildAdd to Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"upphandlingsmyndigheten": {
"command": "node",
"args": ["/path/to/upphandlingsmyndigheten-mcp/dist/index.js", "--stdio"]
}
}
}Deploy to Render, Railway, or any Node.js host:
npm install
npm run build
npm startThe server runs on port 3000 by default (configurable via PORT env var).
GET /- Server infoGET /health- Health checkPOST /mcp- MCP JSON-RPC endpoint
| Tool | Description |
|---|---|
uhm_overview |
Get overview of all available APIs |
uhm_search_website |
Search website content |
uhm_search_questions |
Search Q&A portal |
uhm_search_lov |
Search LOV announcements |
uhm_search_criteria |
Search sustainability criteria |
uhm_get_criteria_categories |
List all criteria categories |
uhm_search_ted |
Search TED EU procurement notices (Swedish only) |
- Use Swedish search terms for best results
- Example queries: "direktupphandling", "ramavtal", "LOU", "hemtjänst"
// Basic search - returns all Swedish notices
{ "limit": 10 }
// Freetext search
{ "query": "IT", "limit": 10 }
// Expert query syntax
{ "query": "TD=works", "limit": 10 }
// Search archived notices
{ "query": "bygg", "scope": "ARCHIVE", "limit": 10 }Scope options: ACTIVE (default), ARCHIVE, ALL
MIT