@qune-tech/vergabe-mcp
v0.5.0
Published
Local MCP server for German public procurement search (Vergabe Dashboard). Semantic search, tender matching, and company profiles — queries and profiles are embedded locally; only vectors leave the machine.
Maintainers
Readme
@qune-tech/vergabe-mcp
Local MCP server for German public procurement search. Connects your AI assistant to the Vergabe Dashboard API for semantic search, tender matching, and company-profile management.
Your queries and company profiles never leave your machine — they are embedded locally and only the resulting vectors are sent. Data minimisation by design.
Quick Start
npx @qune-tech/vergabe-mcp --api-key sk_live_YOUR_KEY_HEREGet an API key
Sign up at vergabe-dashboard.qune.de and create an API key. API keys require an active Enterprise plan.
Configure your AI client
Claude Desktop
Edit claude_desktop_config.json:
{
"mcpServers": {
"vergabe": {
"command": "npx",
"args": ["-y", "@qune-tech/vergabe-mcp", "--api-key", "sk_live_YOUR_KEY_HERE"]
}
}
}Claude Code
Add .mcp.json to your project root:
{
"mcpServers": {
"vergabe": {
"command": "npx",
"args": ["-y", "@qune-tech/vergabe-mcp", "--api-key", "sk_live_YOUR_KEY_HERE"]
}
}
}Cursor
Settings > MCP Servers > Add:
- Command:
npx - Args:
-y @qune-tech/vergabe-mcp --api-key sk_live_YOUR_KEY_HERE
LM Studio
Settings > MCP > Add Server (STDIO):
- Name:
vergabe - Command:
npx - Arguments:
-y @qune-tech/vergabe-mcp --api-key sk_live_YOUR_KEY_HERE
Available Tools (11)
| Tool | Description |
|------|-------------|
| search_text | Semantic search across all tenders (query embedded locally) |
| list_releases | Filter and browse tenders by phase, CPV prefix, country, value range, deadline, buyer, procurement method |
| get_release | Raw eForms XML envelope for one OCID (optional notice_id selects a sibling) |
| linked_notices | A procurement's notice lineage (PIN→CN→CAN) as {ocid, notice_id} refs |
| get_index_info | API health/version, embedder status, and embedding-contract check |
| create_company_profile | Create a matching profile for your company (stored locally) |
| update_company_profile | Update an existing profile |
| get_company_profile | View profile details |
| list_company_profiles | List all your profiles |
| delete_company_profile | Delete a profile |
| match_tenders | Match a profile against all tenders by semantic similarity (vector embedded locally) |
How It Works
The npm package downloads the correct platform-native binary on install. No Node.js runtime dependency for the actual MCP server.
LLM <--stdio--> vergabe-mcp (local binary)
| Local: company profiles (SQLite) + sentence embedder (ONNX)
| HTTPS: vectors, OCIDs, filter values, API key
+--HTTPS--> Vergabe Dashboard API (/api/v1)- Company profiles are stored locally (never leave your machine).
- Text embeddings are computed locally (multilingual-e5-small ONNX model, ~118 MB, downloaded from huggingface.co on first run, cached afterwards).
- Only embedding vectors, the OCIDs you fetch, filter values, and your API key are sent to the API.
Supported Platforms
| Platform | Architecture | |----------|-------------| | Linux | x86_64 | | macOS | Apple Silicon (ARM64) | | Windows | x86_64 |
Requirements
- An API key from vergabe-dashboard.qune.de on an Enterprise plan
- ~120 MB disk space for the ONNX model (auto-downloaded on first run)
- Internet connection to reach the API
License
MIT
