{"id":1739792,"recorded_at":"2026-11-01T05:12:52.808161Z","observed_at":"2026-11-01T05:12:52.808101Z","subject_kind":"endpoint","subject":"7bc5ee27-a0a9-48f7-848c-ddfbe577ae65","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":8,"tools":[{"description":"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.","inputSchema":{"properties":{"buyer":{"description":"Buyer slug or vergabeweiser.de/vergabestelle URL","type":"string"},"gewerk":{"description":"Trade slug from list_categories","type":"string"},"land":{"description":"Bundesland slug","type":"string"},"months":{"description":"Months from today, default 12","maximum":36,"minimum":1,"type":"integer"}},"type":"object"},"name":"expiring_contracts"},{"description":"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.","inputSchema":{"properties":{"name":{"description":"Name or its beginning, at least three characters","type":"string"},"type":{"description":"Only Vergabestellen (buyer) or only companies; both by default","enum":["buyer","company"],"type":"string"}},"required":["name"],"type":"object"},"name":"find_organisations"},{"description":"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.","inputSchema":{"properties":{"slug":{"description":"Slug from vergabeweiser.de/vergabestelle/{slug} or that URL","type":"string"}},"required":["slug"],"type":"object"},"name":"get_buyer"},{"description":"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.","inputSchema":{"properties":{"page":{"description":"Page of awards, 25 per page","minimum":1,"type":"integer"},"slug":{"description":"Slug from vergabeweiser.de/unternehmen/{slug} or that URL","type":"string"}},"required":["slug"],"type":"object"},"name":"get_company_awards"},{"description":"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.","inputSchema":{"properties":{"id":{"description":"Tender id (8–12 characters at the end of the URL) or the full vergabeweiser.de URL","type":"string"}},"required":["id"],"type":"object"},"name":"get_tender"},{"description":"Slugs of all trades (Gewerke) and Bundesländer for the other tools.","inputSchema":{"properties":{},"type":"object"},"name":"list_categories"},{"description":"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.","inputSchema":{"properties":{"gewerk":{"description":"Trade slug from list_categories, e.g. gebaeudereinigung","type":"string"},"kreis":{"description":"Kreis slug inside that Land, as in vergabeweiser.de/ausschreibungen/{gewerk}/{land}/{kreis}","type":"string"},"land":{"description":"Bundesland slug, e.g. bayern","type":"string"}},"required":["gewerk"],"type":"object"},"name":"market_stats"},{"description":"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.","inputSchema":{"properties":{"buyer_group":{"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","enum":["bund","bundeswehr","autobahn-gmbh","deutsche-bahn","fraunhofer","aok","deutsche-rentenversicherung","krankenhaeuser","hochschulen","polizei","stadtwerke","schulen","kitas","eu-weit"],"type":"string"},"gewerk":{"description":"Trade slug from list_categories, e.g. gebaeudereinigung","type":"string"},"land":{"description":"Bundesland slug from list_categories, e.g. bayern","type":"string"},"page":{"description":"Result page, 20 per page","maximum":50,"minimum":1,"type":"integer"},"place":{"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","type":"string"},"procedure":{"description":"tw: with Teilnahmewettbewerb, einladung: by invitation only","enum":["alle","tw","einladung"],"type":"string"},"query":{"description":"Free text in German: trade, subject, buyer name, optionally a place, e.g. \"Unterhaltsreinigung Schule München\"","type":"string"},"radius_km":{"description":"Radius around place in km, default 50. Goes before a radius written into place","enum":[10,25,50,100,200],"type":"integer"},"sort":{"description":"frist: next deadline first, neu: newest, wert: highest value, treffer: relevance","enum":["frist","neu","wert","treffer"],"type":"string"},"status":{"description":"offen: open (default), bald: deadline within 7 days, ergebnisse: awarded or ended, alle: all","enum":["offen","bald","ergebnisse","alle"],"type":"string"},"with_value":{"description":"Only tenders with an estimated value or award sum","type":"boolean"}},"type":"object"},"name":"search_tenders"}]},"body_sha256":"da4c4fd16ecbc8e01ee8a91c81fd6e9808ac16ec3cf066a972dae17430049ba9","prev_id":1295104,"leaf":"0x8d724ce25ebe181d74719e852018dcd5b6a917d24a53bacd700dc71510fea813","leaf_text":"{\"body\":\"da4c4fd16ecbc8e01ee8a91c81fd6e9808ac16ec3cf066a972dae17430049ba9\",\"id\":1739792,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793509972808101,\"prev\":1295104,\"subject\":\"7bc5ee27-a0a9-48f7-848c-ddfbe577ae65\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-11-01","leaves":302406,"root":"0x7fa2cba1cf3d6b35630896f5fe1a650adb307ea2c376e80a5f2d9276b7cb5ab3","chained":"0x577ff89ba012beeff3197bcff7fa86752074bdf54205a24359cc437be2a952a4","anchor_chain":"eip155:5042002","anchor_tx":"0x435bc1b9331471d72e1998f2e420983b5189d4da65ffbd6f27ef40daf5e1ea90","anchor_block":70262758},"proof":["0x8d72ab8ef10e5b8fdcea64df7ec35564f5f08abc2db3229dbf7ed3b240f4946f","0x1de3937dd8c14b3e3a51f27bc0c16372a856d8e555ab36befdc1f060857b3fa3","0x3dab8b8192f99a54fe09859efd936cfea10fa47486f01958fa1daec315713e4e","0xbbbce7bd50dce59429dd1c4af81e748b9b642857add1d9996e3cdf7b4786cdfa","0xd4192f0420ceeb820584aa6f82fbf76210d84caaaf179ea1edc5f3b3052b62a8","0x19bd2fbc3f00daaed0166d7e696cdd583a8c51bd51762758fb582a8d369c1b01","0xfc158607fe6a0f2907b41d08f130698a9e46a826d754459ae7cfd084642e1bd4","0xa7f9ae0a7e4762de60ce727fb69f2e7fefdcc02ceeda739c3abe772fd854c9a4","0x866585ca656af889d8bbe5fb0ebd0c087e0a5138365974dab9c308ea1ad77466","0x17ecc7466623f37f6a363e2f28f39a3340ff9b8bbc218753fe1ff5e012cb78aa","0x591aea021f7cf8b6c9f92a3c371a7c64cdf7150c58a37b14b2626a676a919f49","0x29d7a2a4df0d7fa79f3b537becdf01ca611b7c70fbde18f9fae82bb3e270cc73","0x6129eb29b7f3727c333751ed672fa6e4b231f839ed64750b5d1005800847c8dd","0x43a0d126875c656347b68ba3c0196959406aa8df8a7cd284fd2814ddd386322c","0x23107b06227fe01d939429fa5248f5555093c421dfc6b8bc6ba3518a65263d17","0xc2b1c84ef3531511a3d8d9db5ff9eeca2725a3782e7f9c4ac87fc0f1588349fa","0x0c618c42b286ad61acd8204aa6dcf024b8b041d3759aa585bf4e221abc39cb5d","0x6142ac48fda269c17791c79da99c2456ac6acfe98268f4d168a404fd6040c703","0x3315fd2757fdd435852cc277377234a3f3909a6d2a089d0e36f6d59aacfda910"]}