German Public Procurement Data (OCDS) — Semantic Search, Tender Matching, Company Profiles MCP Server

MCP server for German public procurement data — semantic search and tender matching for Claude, GPT, Cursor, and LM Studio

Remote serverstreamable-httpGo

What is the German Public Procurement Data (OCDS) — Semantic Search, Tender Matching, Company Profiles MCP server?

MCP server for German public procurement data — semantic search and tender matching for Claude, GPT, Cursor, and LM Studio. Exposed over MCP by the german public procurement data (ocds) — semantic search, tender matching, company profiles mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.

What it actually does

Local MCP server for German public procurement search. Connects your AI assistant (Claude, GPT, etc.) to the Vergabe Dashboard API for semantic search, tender matching, and company-profile management.

Its toolset

Everything the assistant can do here goes through one of these:

  • 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)

Configuration

You will need one environment variable: VERGABE_API_KEY. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • An API key from vergabe-dashboard.qune.de on the Pro plan (€99/month) - ~120 MB disk space for the ONNX model (downloaded automatically on first run) - Internet connection to reach the API

Adding it to your client

Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.

When to reach for it

This sits in the AI and media services group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. German Public Procurement Data (OCDS) — Semantic Search, Tender Matching, Company Profiles's toolset — search_text, list_releases, get_release and 8 more — is a fair guide to whether it matches your workflow. It is maintained by qune-tech; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Caveats

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 11 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch German Public Procurement Data (OCDS) — Semantic Search, Tender Matching, Company Profiles.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the german public procurement data (ocds) — semantic search, tender matching, company profiles mcp server does with a few real requests.

Available tools

ToolWhat it does
search_textSemantic search across all tenders (query embedded locally)
list_releasesFilter and browse tenders by phase, CPV prefix, country, value range, deadline, buyer, procurement method
get_releaseRaw [eForms](https://vergabe-dashboard.qune.de/wissen/eforms/) XML envelope for one OCID (optional notice_id selects a sibling)
linked_noticesA procurement's notice lineage (PIN→CN→CAN) as {ocid, notice_id} refs
get_index_infoAPI health/version, embedder status, and embedding-contract check
create_company_profileCreate a matching profile for your company (stored locally)
update_company_profileUpdate an existing profile
get_company_profileView profile details
list_company_profilesList all your profiles
delete_company_profileDelete a profile
match_tendersMatch a profile against all tenders by semantic similarity (vector embedded locally)

How to install the German Public Procurement Data (OCDS) — Semantic Search, Tender Matching, Company Profiles MCP server

Using the binary directly:
```json
{
  "mcpServers": {
    "vergabe": {
      "command": "vergabe-mcp",
      "args": ["--api-key", "sk_live_YOUR_KEY_HERE"]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • An API key from vergabe-dashboard.qune.de on the Pro plan (€99/month) - ~120 MB disk space for the ONNX model (downloaded automatically on first run) - Internet connection to reach the API
VariableDescriptionRequired
VERGABE_API_KEYCredential the server authenticates with.Yes

Example prompts to try

  • Use German Public Procurement Data (OCDS) — Semantic Search, Tender Matching, Company Profiles to search text.
  • Use German Public Procurement Data (OCDS) — Semantic Search, Tender Matching, Company Profiles to list releases.
  • Use German Public Procurement Data (OCDS) — Semantic Search, Tender Matching, Company Profiles to get release.

Frequently asked questions

Only embedding vectors (384 floats), the OCIDs you fetch, filter values, and your API key are sent to the API. Your query and profile text stay local.