Vergabeweiser MCP
An official MCP server operated by Vergabeweiser that provides AI agents with access to German public tender data. It supports searching for tenders, retrieving specific tender details, finding organizations, and accessing market statistics. The server is free to use and does not require user registration.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://vergabeweiser.de/mcpWhat you can do with it
- Search for open tenders by keyword, location, and status
- Retrieve detailed tender information including deadlines and winners
- Find public procurement agencies or companies by name
- Get market statistics for specific trades or regions
Source and maintenance
Protocol and capabilities
- Server
- Vergabeweiser 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 8 advertised
- Resources
- 0 advertised
- Resource templates
- 0 advertised
- Prompts
- 0 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
8 advertised
search_tenders — Ausschreibungen suchen
Search German public tenders like vergabeweiser.de/suche. Free text in German may contain a trade and a place ("Gebäudereinigung Rosenheim", "Dach 25 km um 90402"). Returns 20 results per page with deadline, buyer, place, estimated value and the page URL. result.framework_max is the ceiling of a framework agreement, never an award sum.
{
"type": "object",
"properties": {
"land": {
"type": "string",
"description": "Bundesland slug from list_categories, e.g. bayern"
},
"page": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Result page, 20 per page"
},
"sort": {
"enum": [
"frist",
"neu",
"wert",
"treffer"
],
"type": "string",
"description": "frist: next deadline first, neu: newest, wert: highest value, treffer: relevance"
},
"place": {
"type": "string",
"description": "Place: city, postcode or its first digits, Kreis or Bundesland (name or code), e.g. \"Rosenheim\", \"90402\", \"904\", \"Bayern\", \"BY\". Also as people write it: with a radius (\"München 25 km\", \"50 km um München\"), with words around it (\"Raum Stuttgart\", \"Nürnberg und Umgebung\"), postcode and city (\"80331 München\"), the Stadt or Landkreis of a name (\"Fürth Stadt\", \"München Land\"), part of a city (\"Berlin-Mitte\" = Berlin), a list (\"Köln/Bonn\" = Köln). \"Deutschland\" and \"bundesweit\" mean no place. A name several places share usually means the larger town (\"Halle\" = Halle (Saale)) or the Landkreis of that name (\"Harburg\"); another one with its Kreis, Land or qualifier: \"Halle (Landkreis Holzminden)\", \"Halle (Westf.)\", \"Halle NRW\", \"Auerbach (Oberpfalz)\". understood.place in the result says how it was read, understood.unknown_place that it was not"
},
"query": {
"type": "string",
"description": "Free text in German: trade, subject, buyer name, optionally a place, e.g. \"Unterhaltsreinigung Schule München\""
},
"gewerk": {
"type": "string",
"description": "Trade slug from list_categories, e.g. gebaeudereinigung"
},
"status": {
"enum": [
"offen",
"bald",
"ergebnisse",
"alle"
],
"type": "string",
"description": "offen: open (default), bald: deadline within 7 days, ergebnisse: awarded or ended, alle: all"
},
"procedure": {
"enum": [
"alle",
"tw",
"einladung"
],
"type": "string",
"description": "tw: with Teilnahmewettbewerb, einladung: by invitation only"
},
"radius_km": {
"enum": [
10,
25,
50,
100,
200
],
"type": "integer",
"description": "Radius around place in km, default 50. Goes before a radius written into place"
},
"with_value": {
"type": "boolean",
"description": "Only tenders with an estimated value or award sum"
},
"buyer_group": {
"enum": [
"bund",
"bundeswehr",
"autobahn-gmbh",
"deutsche-bahn",
"fraunhofer",
"aok",
"deutsche-rentenversicherung",
"krankenhaeuser",
"hochschulen",
"polizei",
"stadtwerke",
"schulen",
"kitas",
"eu-weit"
],
"type": "string",
"description": "Only tenders of a buyer group: bund (federal bodies incl. Bundeswehr and Autobahn GmbH), bundeswehr, autobahn-gmbh, deutsche-bahn, fraunhofer, aok, deutsche-rentenversicherung, krankenhaeuser (hospitals), hochschulen (universities), polizei, stadtwerke; by title: schulen (schools), kitas; eu-weit: only tenders with an EU-wide notice"
}
}
}{
"title": "Ausschreibungen suchen",
"readOnlyHint": true,
"idempotentHint": true
}get_tender — Ausschreibung abrufen
One tender: description, all deadlines (Bieterfragen, Teilnahmeantrag, Angebotsfrist), procedure, lots, result with winners, sums and number of offers, link to the documents on the buyer's platform and to the original notice. result.framework_max is the ceiling of a framework agreement for all call-offs, not an award sum: never report it as the contract value or a firm's share. Do not add up awards[].amount, result.sum is the sum: amount_is_shared_ceiling marks an amount several winners share, never that winner's own sum, amount_covers_several_lots a bid over several lots.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Tender id (8–12 characters at the end of the URL) or the full vergabeweiser.de URL"
}
}
}{
"title": "Ausschreibung abrufen",
"readOnlyHint": true,
"idempotentHint": true
}find_organisations — Vergabestelle oder Firma nach Namen finden
Find contracting authorities (Vergabestellen) and companies by name or its beginning, e.g. "Stadt Köln", "Fraunhofer", "WISAG". Returns name, city, slug and page URL for get_buyer and get_company_awards, the most active first. Only organisations with a page in the index; sole traders are never listed.
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Name or its beginning, at least three characters"
},
"type": {
"enum": [
"buyer",
"company"
],
"type": "string",
"description": "Only Vergabestellen (buyer) or only companies; both by default"
}
}
}{
"title": "Vergabestelle oder Firma nach Namen finden",
"readOnlyHint": true,
"idempotentHint": true
}get_buyer — Vergabestelle abrufen
A contracting authority (Vergabestelle): contact data from one of its notices (no persons; may belong to a law firm or central purchasing body that runs procedures for it, for a procedure use the contact in its notice), platforms, open tenders, recent awards, offers per award, frequent winners, trades and contracts that end soon.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Slug from vergabeweiser.de/vergabestelle/{slug} or that URL"
}
}
}{
"title": "Vergabestelle abrufen",
"readOnlyHint": true,
"idempotentHint": true
}get_company_awards — Zuschläge eines Unternehmens
Contracts won by a company (legal entities with a page on vergabeweiser.de/unternehmen only, never sole traders): totals, buyers, Länder, trades and the awards, 25 per page, with the company's published sum. firm_shared_max: an amount the notice gives alike for several winners of the procedure (usually a shared framework ceiling); not counted as the company's sum or share.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page of awards, 25 per page"
},
"slug": {
"type": "string",
"description": "Slug from vergabeweiser.de/unternehmen/{slug} or that URL"
}
}
}{
"title": "Zuschläge eines Unternehmens",
"readOnlyHint": true,
"idempotentHint": true
}market_stats — Marktzahlen
Market of one trade in Germany, a Bundesland or a Kreis: tenders in the last 12 months, open now, median offers per award, share with a single offer, typical award sums (quartiles) and frequent winners.
{
"type": "object",
"required": [
"gewerk"
],
"properties": {
"land": {
"type": "string",
"description": "Bundesland slug, e.g. bayern"
},
"kreis": {
"type": "string",
"description": "Kreis slug inside that Land, as in vergabeweiser.de/ausschreibungen/{gewerk}/{land}/{kreis}"
},
"gewerk": {
"type": "string",
"description": "Trade slug from list_categories, e.g. gebaeudereinigung"
}
}
}{
"title": "Marktzahlen",
"readOnlyHint": true,
"idempotentHint": true
}expiring_contracts — Auslaufende Verträge
Awarded service and supply contracts whose term ends within the next months according to the notice (end date or duration, without renewals), with winner, renewals and offers. A new tender is likely but not certain. Needs at least gewerk, land or buyer.
{
"type": "object",
"properties": {
"land": {
"type": "string",
"description": "Bundesland slug"
},
"buyer": {
"type": "string",
"description": "Buyer slug or vergabeweiser.de/vergabestelle URL"
},
"gewerk": {
"type": "string",
"description": "Trade slug from list_categories"
},
"months": {
"type": "integer",
"maximum": 36,
"minimum": 1,
"description": "Months from today, default 12"
}
}
}{
"title": "Auslaufende Verträge",
"readOnlyHint": true,
"idempotentHint": true
}list_categories — Gewerke und Länder
Slugs of all trades (Gewerke) and Bundesländer for the other tools.
{
"type": "object",
"properties": {}
}{
"title": "Gewerke und Länder",
"readOnlyHint": true,
"idempotentHint": true
}Prompts
0 advertised
Resources
0 advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 2094 ms
- 95th percentile latency
- 2094 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 2094 ms · metadata changed · 8 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http vergabeweiser-mcp https://vergabeweiser.de/mcpCodex
codex mcp add vergabeweiser-mcp --url https://vergabeweiser.de/mcpCursor
{
"mcpServers": {
"vergabeweiser-mcp": {
"url": "https://vergabeweiser.de/mcp"
}
}
}Cline
{
"mcpServers": {
"vergabeweiser-mcp": {
"type": "streamableHttp",
"url": "https://vergabeweiser.de/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"vergabeweiser-mcp": {
"type": "http",
"url": "https://vergabeweiser.de/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http vergabeweiser-mcp https://vergabeweiser.de/mcpClaude Desktop
{
"mcpServers": {
"vergabeweiser-mcp": {
"url": "https://vergabeweiser.de/mcp"
}
}
}Windsurf
{
"mcpServers": {
"vergabeweiser-mcp": {
"serverUrl": "https://vergabeweiser.de/mcp"
}
}
}Let your agent find its tools
Find servers like Vergabeweiser MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run Vergabeweiser MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.