vergabe-mcp
vergabe-mcp
Ein MCP-Server für oeffentlichevergabe.de, das deutsche Bundesportal für öffentliche Ausschreibungen. Deutschland veröffentlicht dort jede öffentliche Ausschreibung und bietet einen Bulk-Open-Data-Export an, der jedoch einen Tag hinterherhinkt, als tägliche ZIPs ausgeliefert wird und keine Filterung erlaubt – Sie laden alles herunter und sortieren selbst. Die eigene Such-API des Portals kann filtern (CPV-Code, Region, Fristfenster, das eForms-Flag „geeignet für Freiberufler“) und ist aktuell, sobald eine Bekanntmachung live geht, ist aber undokumentiert. Dieser Server kapselt sie, sodass jeder MCP-Client den Live-Feed mit echten Filtern durchsuchen und eine Bekanntmachung im Domänenmodell des Portals, als eForms-XML oder als OCDS abrufen kann. Anonym, kein API-Schlüssel, kein Konto.
Die reverse-engineerte API-Referenz befindet sich in docs/API.md – sie ist eigenständig nutzbar, wenn Sie die Endpunkte direkt statt über MCP aufrufen möchten.
Installation
Nichts zu installieren; führen Sie es mit npx aus.
Claude Code
claude mcp add vergabe -- npx vergabe-mcpClaude Desktop – in claude_desktop_config.json:
{
"mcpServers": {
"vergabe": {
"command": "npx",
"args": ["vergabe-mcp"]
}
}
}Jeder andere stdio-Client
npx vergabe-mcpStreamable HTTP, falls Ihr Client eine URL statt eines Subprozesses benötigt:
npx vergabe-mcp --http --port 3000Related MCP server: germany-tenders
Werkzeuge
Werkzeug | Was es tut |
| Durchsucht Lose mit flachen Parametern – Freitext, CPV-Präfixe, |
| Eine Bekanntmachung anhand der ID, als kuratierte |
| Die native |
| Löst einen CPV- oder NUTS-Code in seine deutsche oder englische Beschreibung auf. |
| Erstellt die Bulk-Open-Data-Export-URL für einen Tag oder Monat, mit den zugehörigen Hinweisen. |
Alle fünf sind schreibgeschützt; der Server schreibt nichts, speichert nichts auf der Festplatte und besitzt keine Anmeldedaten.
Ressourcen. vergabe://api-reference liefert das API-Dokument, sodass ein Client lesen kann, was das Backend tatsächlich unterstützt, bevor er eine Abfrage zusammenstellt. Vorlagen decken einzelne Bekanntmachungen ab – vergabe://notice/{noticeId}, .../eforms, .../ocds – und vergabe://codelist/{list}/{code}.
Prompt. find-solo-tenders (Argumente: keywords, cpv, maxDays) sucht mit den Freiberufler-/Selbstständigen-Flags und führt dann das Modell durch die Sichtung der Kandidaten: Personentage, die in der Beschreibung versteckt sind, ob die nahende Frist eine Aufforderung zur Teilnahme oder das Angebot selbst ist, und die Tatsache, dass ein leeres Wertfeld nichts bedeutet. Dieses Sichtungswissen wird als Prompt und nicht als Bewertungscode ausgeliefert, sodass Sie darüber diskutieren können.
Beispiel
Sie: Finden Sie offene IT-Ausschreibungen, die als für Freiberufler geeignet gekennzeichnet sind.
Das Modell ruft search_tenders mit cpv: ["72"], suitableFor: ["freelance"], onlyActive: true auf. Am 17.08.2026 sind das 30 offene Lose, darunter:
{
"noticeId": "7c70692d-dfb9-4b96-b777-4a5539eaee50",
"title": "Beschaffung einer Beratungsdienstleistung zur Fachberatung im Rahmen eines Identity and Access Management (IAM) Projektes für die Stadtwerke Bielefeld (SWB)",
"lotTitle": "Beratungsdienstleistung zur Fachberatung im Rahmen eines Identity and Access Management (IAM) Projektes",
"buyer": "Stadtwerke Bielefeld GmbH",
"cpv": "72260000",
"noticeType": "cn-standard",
"nature": "services",
"deadline": "2026-09-14T10:00:00+02:00",
"published": "2026-08-12T00:00:00+02:00"
}Anschließend ruft es get_tender für die interessanten auf, um die Beschreibung, den geschätzten Wert und die Ausschlussgründe zu lesen, bevor es Ihnen sagt, welche ein Gebot wert sind – dieses Urteil ist Aufgabe des Modells, und der Server bewertet bewusst nichts.
Beachten Sie die Form der Daten in diesem Ergebnis: Die Frist bei diesem ist deadlineReceiptRequests, eine Aufforderung zur Teilnahme, keine Angebotsfrist. Der Prompt find-solo-tenders existiert, weil Unterscheidungen wie diese entscheiden, ob eine Ausschreibung erreichbar ist.
Entwicklung
Node 20 oder neuer.
npm install
npm test # vitest, no network
npm run typecheck
npm run lint # biomeIntegrationstests greifen auf das Live-Portal zu und werden übersprungen, sofern Sie nicht explizit danach fragen:
VERGABE_LIVE=1 npm testCommits folgen Conventional Commits; release-please macht daraus einen Release-PR auf main – das Mergen dieses PRs erstellt den Release-Tag, schreibt das Changelog, veröffentlicht auf npm und hängt das Tarball an den GitHub-Release an. Der Commit-Typ bestimmt die Versionserhöhung.
Lizenz
MIT.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for German public procurement data (OCDS). Semantic search, tender matching, and company profiles — all from your local LLM105MIT
- Alicense-qualityCmaintenanceAccess official German government public procurement tenders via MCP, with keyless access.12MIT
- AlicenseAqualityAmaintenanceMCP server providing read access to Swiss public procurement data via the official simap.ch API, covering all cantons and the Confederation with intraday updates. It enables searching tenders, awards, construction codes, and procurement offices through natural language queries.9MIT

vartoofficial
Flicense-qualityBmaintenanceMCP server for Ukrainian public procurement (Prozorro) that exposes tools to search tenders, retrieve tender details and cards, list and read tender documents.
Related MCP Connectors
Germany public procurement MCP — official German government tenders (keyless).
MCP server for French (BOAMP) + EU (TED) public procurement data via TenderAPI.
Read-only MCP server for searching Japan government procurement bid information from the KKJ portal.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jocks-studio/vergabe-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server