Copied to clipboard
TED-MCP RIIGIHANKED.EU

Every EU tender,
one question away.

Every public contract advertised across the 27 European Union member states, in one place — searchable by what your business actually does, with the deadlines that decide whether you can still bid. Search it here for free, or connect it to Claude, ChatGPT or your own agent and just ask.

Try: road construction in Estonia, software development, medical equipment in Germany

Endpoint: https://ted-mcp.eu/mcp 📋
tools/call · search_notices
● live
// prompt: "Active construction tenders in Germany > €500k"

{
  "tool": "search_notices",
  "arguments": {
    "cpv_codes": ["45000000"],
    "countries": ["DEU"],
    "value_eur_min": 500000,
    "scope": "ACTIVE"
  }
}

// typed structured response
{
  "total": 1284,
  "source": "ted-api-v3",
  "notices": [
    {
      "publication_number": "00676595-2024",
      "title": "Erweiterung Schulzentrum Nord",
      "total_value": 2450000,
      "deadline": "2026-09-15T12:00:00Z"
    }
  ]
}

Use it inside the assistant you already have.

One address is the whole setup — there is nothing to install and no API key to request. Below: the click-by-click version for Claude and ChatGPT, then the one-liners for coding agents.

In Claude
  1. Copy the address below.
  2. Open Settings, then Connectors, and choose “Add custom connector”.
  3. Paste the address and save.
  4. Start a new chat. A conversation that was already open will not pick up a connector added after it began, which looks exactly like the server being broken.
  5. Ask it something, such as which road construction tenders in Estonia close this month.
In ChatGPT

Custom connectors are not on the main settings screen. They sit behind developer mode, which exists only in the browser — not in the mobile app — and only on the paid plans. Turn it on under Settings, then “Security and login”, then “Developer mode”. You can then add the address below as a developer-mode app from the Plugins screen, choosing streamable HTTP as the transport.

Searching and reading notices is open to everyone. If you subscribe to riigihanked.eu, ask your assistant to sign you in — it has a tool for exactly that, and there is nothing else to set up.

In a coding agent https://ted-mcp.eu/mcp

Paste the prompt into your coding agent and it will connect itself — it carries the endpoint, the transport and the config-key quirks that differ between clients.

Or install in one click

In Claude Code, one plugin brings the server and the skill that drives it together:
/plugin marketplace add https://ted-mcp.eu/marketplace.json
/plugin install ted-mcp@ted-mcp

Everything TED publishes.

Ask in your own words and your assistant picks the right one. Each returns structured results validated against a JSON Schema, so it gets data it can act on rather than prose it has to guess at.

search_notices
Search notices by keyword, CPV sector code, country, contract value, or date range. cpv_codes[] · countries[] · value_eur_min/max · published_after · deadline_before · scope
get_notice
Full detail for one publication number, enriched with sector labels and buyer criteria. notice_id · lang · enrich · include_raw
get_notices_by_buyer
All notices published by a specific contracting authority — useful for profiling buyer procurement history. buyer_name · limit
search_upcoming_deadlines
Tenders closing within N days, sorted by urgency with exact days remaining computed. days · cpv_codes[] · countries[] · limit
list_cpv_codes
Resolve a sector described in natural language into official 8-digit CPV codes across 5 languages (EN, ET, FR, DE, IT). query · parent · lang · limit
health
Service status and upstream rate-limit budget remaining. check_ted
authenticate
Sign in to a riigihanked.eu subscription, or report which account this connection is using and what it unlocks. This is the whole sign-in — there is nothing to configure. no arguments

Instant CPV Code Resolver

Type any sector or industry in words to inspect its official 8-digit CPV code.

Ask in natural language. Get an exact tool call.

Your agent chooses the tool and parameters automatically. Here is how real user prompts map to live MCP calls.

User Prompt “Which Estonian IT tenders close in the next two weeks?”
{
  "tool": "search_upcoming_deadlines",
  "arguments": {
    "days": 14,
    "countries": ["EST"],
    "cpv_codes": ["72000000"]
  }
}
User Prompt “What tenders has the City of Helsinki published?”
{
  "tool": "get_notices_by_buyer",
  "arguments": {
    "buyer_name": "Helsingin kaupunki",
    "limit": 20
  }
}
User Prompt “Find the CPV sector code for dental equipment, in Estonian.”
{
  "tool": "list_cpv_codes",
  "arguments": {
    "query": "dental",
    "lang": "et"
  }
}
// → 33130000: Hambaravi ja sellega seotud erialade instrumendid
User Prompt “Summarise notice 00676595-2024 for an interested bidder.”
{
  "tool": "get_notice",
  "arguments": {
    "notice_id": "00676595-2024",
    "enrich": true
  }
}

Frequently Asked Questions

Everything you need to know about TED MCP, data licensing, rate limits, and supported clients.

How do I connect an AI agent to EU procurement data?
Add the MCP server at https://ted-mcp.eu/mcp to your client. In Claude Code, run: claude mcp add --transport http ted-mcp https://ted-mcp.eu/mcp. In Cursor, VS Code, Claude Desktop, ChatGPT, Manus, Windsurf, Zed, Cline, or Goose, paste the same URL as a remote streamable HTTP MCP server. No API key, account, or bridge package is required.
Does TED MCP require an API key or registration?
Not to find and read notices: searching, notice detail, a buyer's notices, deadlines and CPV lookup are free, with no account and no API key. Buyer profiles, market analytics, legal-basis lookup, saved projects and the AI tools are for riigihanked.eu subscribers, who sign in with OAuth 2.1 through your MCP client.
Which countries and procurement notices are covered?
All 27 EU member states plus EEA participating countries. Around 520,000 procurement notices are published each year above EU thresholds, and 9,454 CPV sector codes are indexed with multilingual labels in English, Estonian, French, German, and Italian.
Can I reuse this procurement data commercially?
Yes. Notices published in the Supplement to the Official Journal of the European Union are freely reusable for commercial and non-commercial purposes under Commission Decision 2011/833/EU on the reuse of Commission documents.
What is the difference between TED MCP and national procurement portals?
TED carries high-value tenders above mandatory European Union thresholds. Low-value tenders below thresholds are published nationally. For Estonian domestic notices, visit riigihanked.eu . To read a notice's raw eForms XML there is a viewer at viz.riigihanked.eu.