public-tenders-es-eu
Öffentliche Ausschreibungen ES/EU
Normalisierte Suche über öffentliche Ausschreibungen, die auf TED (Tenders Electronic Daily, der offiziellen EU-Plattform für Vergabebekanntmachungen) veröffentlicht werden – Abgedeckt werden Spanien und der Rest der EU. NEXUS-Kandidat #16 – manueller Build, nicht FORGE-generiert, dasselbe Muster manueller Cloud-Run-Assets wie die Kandidaten #3/#4/#6/#8/#9/#13.
POST /search-public-tenders {"country": "ESP", "keyword": null, "cpv_prefix": null, "days_back": 30, "limit": 20}-- $0.01/Aufruf.MCP-Tool
search_public_tendersunter/mcp, gleiche Parameter – derzeit kostenlos, siehe „Bekannte Einschränkungen“.GET /health,GET /.well-known/agent-card.json,GET /openapi.json(enthältx-payment-info),GET /.well-known/402index-verify.txt(Verifikationsdatei für die 402index-Anspruchsprüfung).
Quelle: vom ursprünglichen Briefing gedreht, mit ausdrücklicher Freigabe (2026-08-23)
Das Aufgaben-Briefing nannte contrataciondelsectorpublico.gob.es/sindicacion/sindicacion_643/ (den spanischen nationalen PLACSP-ATOM-Sindikationsfeed) als „already grounded aus der vorherigen Sitzung“. Zu Beginn dieser Sitzung live über zwei unabhängige Abrufpfade verifiziert (curl, WebFetch, mit und ohne Browser-User-Agent): 403 Forbidden, und das eigene robots.txt der Domain ist für die gesamte Site Disallow: / – eine deklarierte, seitenweite Sperre, keine Ratenbegrenzung. Das würde sehr wahrscheinlich auch Cloud Run blockieren (eine Rechenzentrums-IP-Range, das übliche Ziel dieser Art von WAF-Regeln). Dem Nutzer wurde das gemeldet, bevor Code geschrieben wurde (nicht stillschweigend ersetzt) – der Nutzer entschied sich für den Pivot auf TED.
TED (Tenders Electronic Daily, api.ted.europa.eu) ist die eigene offizielle Such-API für öffentliche Vergabebekanntmachungen des EU-Amts für Veröffentlichungen – kostenlos, ohne Key, ohne dokumentierte Authentifizierung. In dieser Sitzung live und feldweise bestätigt (eine Drittanbieter-README hatte die Abfrage-Feldnamen zunächst falsch angegeben – z. B. wurde country-buyer behauptet, während die echte API nur buyer-country akzeptiert – daher wurde jedes Feld/Operationszeichen unten gegen die Antworten der echten API verifiziert, nicht aus zweiter Hand übernommen):
POST https://api.ted.europa.eu/v3/notices/searchmit einem JSON-Body ausquery(Expert-Search-String),fields(Array der eForms-Feldnamen, die zurückgegeben werden sollen),limit,scope("ACTIVE"oder"ALL").Abfragefelder live bestätigt:
publication-date>=YYYYMMDD(8-stellig, ohne Bindestriche),buyer-country=ESP(ISO-3166 alpha-3),FT~"phrase"(Volltext),AND,ORDER BYpublication-date DESC.Ausgabefelder live bestätigt:
publication-number,notice-title(mehrsprachiges Wörterbuch, Schlüssel z. B.spa/eng),buyer-name(mehrsprachiges Wörterbuch aus Listen),buyer-country,publication-date,classification-cpv(Liste der CPV-Codes),total-matching-notices(nicht bei jedem Bekanntmachungstyp vorhanden – z. B. haben Bekanntmachungen von Qualifikationssystemen keinen; das ist normal, kein Fehler),notice-type,links(pro Sprachehtml/pdf/xml-Detail-URLs).Echter Query getestet:
buyer-country=ESPallein ergab zum Zeitpunkt dieser Prüfung 26.314 Bekanntmachungen im BereichACTIVE; eine Kombination auspublication-date+buyer-countryergab 1.058 in einer 8-Tage-Fenster – echte, aktuelle Datenmenge, kein veralteter/leerer Endpunkt.
TED deckt bereits Spanien ab (jede Ausschreibung über der EU-Vergabeschwelle erscheint mit buyer-country=ESP) sowie den Rest der EU, also passt es mindestens so gut zum „España/UE“-Rahmen des ursprünglichen Briefings wie der blockierte nationale Unterschwellen-Feed – vermutlich besser, da es konstruktionsgemäß EU-weit ist und nicht blockiert. Umfangabweichung gegenüber der blockierten Quelle: TED enthält nur Bekanntmachungen über der EU-Vergabeschwelle (eine echte, nicht-triviale Hürde – Spaniens eigene Bekanntmachungen unterhalb der Schwelle, die allein der nationale Alvin register-Feed geliefert hätte, sind NICHT in TED enthalten). Dieses Asset erhebt nicht den Anspruch, diese abzudecken; total_matching_notices und das Feld source: "TED" in jedem Ergebnis machen die tatsächliche Abdeckung für einen Abrufer explizit, nicht durchsetzen, dass sie breiter wäre.
Related MCP server: LexSocket MCP Server
Zustand (db_constraint-Ausnahme)
Jedes verwandte manuelle Asset (url-metadata-api, agent-verification-api, document-conversion-api, new-x482-listings-feed, onchain-activity-index, x402-receipt-verifier) ist vollständig zustandslos – jeder Aufruf trifft seinen Upstream frisch, keine NEXUS-eigene Tabelle über das übliche Telemetrie-Trio traffic_events/revenue_events/mcp_call_events hinaus. Dies ist das erste der 8 manuellen/FORGE-Assets, das die software-setense Version casesgemäße Ausnahme benötigt: eine neue Tabelle, tenders_query_cache (Supabase-Migration add_tenders_query_cache_candidate16, Projekt ieduhdgfjdeffvzxvihhf), die nur von diesem Asset liest geschrieben wird.
Warum: TEDs eigene Dokumentation nennt zwar kein dokumentiertes Rate-Limit, bittet Anrufer aber um angemessenes Anfragevolume auf einer gemeinsam genutzten öffentlichen Ressource. Identische, wiederholte Abfragen (gleiches Land/Schlagwort/cpv_prefix/days_back/limit, stundenweise gebündelt) für 1 Stunde zu cachen ist ein fairer Umgang mit dieser Vorgabe und keine unnötige State – bei einem Cache-Treffer wird in der Antwort "cache_hit": true gesetzt, sodass der Abrufer sehen kann, wann dies passiert ist.
Das ist NICHT der Zustand, der das ursprüngliche PLACSP-Scraping-Design gebraucht hätte. Dieses Design (einen nicht filterbaren ATOM-Feed durchlaufen, „already gesehenen“ Angebots-IDs verfolgen, um Deltas zu erkennen – also das Muster des Katalog-Durchlauf-Caches von new-x482-listings-feed) gilt hier nicht: Der eigene Serverfilter publication-date>= von TED beantwortet bereits „Was ist neu seit X?“, ohne dass dieses Asset sich selbst konkrete Ausschreibungen merken müsste. Der einzige gespeicherte Zustand ist ein kurzlebiger Antwort-Cache, kein Ausschreibungsindex.
RLS: anon erhält für tenders_query_cache nur SELECT + INSERT – kein ./DELETE Privileg, dieselbe Insert-und-Hänge-Disziplin wie bei jeder anderen NEXUS-Telemetrietabelle. Ein „Overwrite“ des Caches ist eigentlich nur eine neue Zeile, die mit einem neueren cached_at versehen wird; die Nachschlage-Abfrage wählt immer die frischeste Zeile innerhalb des TTL-Fensters. Veraltete Zeilen, die älter als 1 Stunde TTL sind, werden nie gelöscht – das unbegrenzte Wachstum über das JT-Tag-Fenster ist vernachlässigbar (eine Zeile pro Einzelabfrage pro Stunde) und wird vorerst akzeptiert; eine echte Bereinigung bräuchte entweder einen geplanten Job oder eine DELETE-Recht, die dieses Assett zusätzlich nicht benötigt.
Deploy-Ziel: Cloud Run
Dieselbe Pipeline wie bei Kandidat #4/#3/#6/#8/#9/#13 – siehe skills/infra-deploy-ops.
# 1. First deploy -- PUBLIC_DOMAIN not known yet, every real request 421s until step 2.
./scripts/deploy_cloud_run.sh public-tenders-es-eu manual_assets/public-tenders-es-eu
# 2. Grab the printed *.run.app URL, then (only if it differs from env-vars.deploy.yaml's guess):
gcloud run services update public-tenders-es-eu --region us-central1 --project nexus-505016 \
--update-env-vars PUBLIC_DOMAIN=<the-real-domain>Bekannte Einschränkungen (von Absicht unbehoben – CLAUDE.md SS3, Zirka kein Zugang ohne Nachweis, dass er nötig ist)
MCP-Werkzeugaufrufe sind nicht kostenpflichtig. Gleiches Muster wie jedes Standman- mapp-anwendungsasset in dieser Codebase.
Nur Ausschreibungen mit Überschwelle der EU-Veröffentlichung. Siehe „Quelle“ oben – Spaniens unterhalb der Schwelle skala die veröffentlichen nationalen Ausschreibungen sind nicht in TED und nicht durch diesen Asseten abgedeckt.
cpv_prefixwird clientseitig gefiltert, nach dem Abruf. TEDs Query-Syntax unterstützt keine serverseitige CPV-Präfixsuche; dieses Asset holt bei gesetztemcpv_prefix(3xlimit, gekappt auf 50) über dar, also über mehr Daten, und filtert dann prozessintern. Ein Anrufer mit einem sehr engencpv_prefixgegenüber einem breitendays_back-Fenster könnte weniger echte Treffer erhalten als in TEDs Gesamt-Ergebnismenge, nach dem überfrachteten Rahmen existieren.Cache ist eine einfache 1-Stunden-TTL und wird bei neuen TED-Veröffentlichungen nicht invalid. Eine Abfrage, die in derselben Stunden-Block wiederholt wird, kann Ergebnisse liefern, die bis zu ~1 Stunde alt sind verglichen mit TED. Über
cache_hitin jeder Antwort offengelegt.Keine Ratenbegrenzung pro Aufrufer. Das ist für ein 7-Cross-Window für Wegwerf-Messungen fine.
Zeilen in
tenders_query_cachewerden nie gelöscht. Siehe „Zustand“ oben.
Qualitäts-Gate (2026-08-23, aus dem Design, nicht retrograd)
Gleicher Zwei-Agenten-Prozess wie die Kandidaten #3/#4/#6/#8/#9/#13 (Security-Linse; Funktionalitäts-, Qualitäts- und Käufer-Erfahrungs-Linse) – Ergebnisse werden unten ergänzt, sobald sie ausgeführt sind.
Measurement (Kandidat #16, 7-Tage-Fenster)
7-Tage-Fenster vom 2026-08-23 (tatsächliches Deploy-Datum) → Entscheidungspunkt 2026-08-30. Quelle der Wahrheit: traffic_events/revenue_events/mcp_call_events (asset_name = 'public-tenders-es-eu'), nicht Cloud-Run-Logs. Tag 7: Wenn kein echter Datenverkehr (Crawler herausfiltern), Cloud Run-Dienst anhalten/löschen (gcloud run services delete public-tenders-es-eu --region us-central1 --project nexus-505016).
This server cannot be installed
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
- AlicenseAqualityBmaintenanceExposes French and EU public procurement data (BOAMP + TED) as MCP tools for AI agents, enabling search for tenders, awards, and winner intelligence via typed filters.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables search and analysis of European public procurement tenders, including EU above-threshold (TED) and below-threshold from 11 national sources, with hybrid search and filtering.MIT
- AlicenseNot gradedqualityCmaintenanceAccess Spain public procurement tender notices from PLACSP without API keys.8MIT
- AlicenseNot gradedqualityCmaintenanceEnables searching and retrieving detailed information on EU grant calls and tenders from the EU Funding & Tenders Portal, including deadlines, budgets, and topic details.15MIT
Related MCP Connectors
Spain public procurement MCP — PLACSP tender notices (keyless).
Government tender search for AI agents. UK, EU and US procurement opportunities.
TED MCP — Tenders Electronic Daily (EU public procurement)
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/nexus-mcp-infra/public-tenders-es-eu'
If you have feedback or need assistance with the MCP directory API, please join our Discord server