# TED EU MCP

> TED EU connects your AI agent to the European Union’s official public procurement database (Tenders Electronic Daily). Find government contracts across all 27 member states by country, specific industry sector (CPV codes), contract value range, or keyword search. Your agent handles the complex filtering and data retrieval process automatically.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Tags:** public-procurement, eu-tenders, government-contracts, cpv-codes, market-intelligence, bid-opportunities

## Description

**TED EU connects your AI agent directly to the European Union’s official public procurement database, the Tenders Electronic Daily. You don't gotta waste time navigating those clunky government portals anymore; your agent handles all the complex filtering and data retrieval automatically.**

Your machine can pull opportunities from all 27 member states using six distinct mechanisms.

**Searching for Contracts:**
*   **Broad Keyword Search (`search_tenders`):** If you're just starting out or don't know where to look, this tool runs a wide query. You feed it general terms—say, 'software' or 'hospital equipment'—and your agent searches across the entire database for any match in any EU member state.
*   **Filtering by Country (`search_by_country`):** Need results only from Germany or Italy? Just give your agent the two-letter ISO code (like DE or IT), and it instantly narrows the massive result set down to that single country's tenders. You don't sift through irrelevant national listings.
*   **Targeting Specific Industries (`search_by_cpv`):** Don't want random contracts? The system lets you filter by Common Procurement Vocabulary (CPV) codes. This means you can nail down the search to precise sectors, whether it’s medical devices, IT services, or civil engineering. You get exactly the industry you're tracking.
*   **Constraining by Budget (`search_by_value`):** If your client only has cash for a certain range, this tool keeps it real. You set minimum and maximum financial values in Euros, and your agent filters out anything that doesn't fit your required budget window. It saves you from wading through overpriced junk.
*   **Checking the Latest Deals (`list_recent_tenders`):** To stay current, you can have your agent monitor only newly published opportunities. This function defaults to listing notices published in the last seven days, so you don't miss anything fresh that just dropped into the market.

**Drilling Down and Deep Data Retrieval:**
*   **Full Details Pull (`get_tender`):** When you find a promising notice ID, this tool pulls everything. It doesn't give you fluff; it gives you deep data—including specific lot breakdowns, the exact award criteria they’re using, timelines, and contact info. You get the whole picture for one tender.

**What This Means For Your Workflow:**

Instead of manually logging into multiple national sites and running five different searches just to see if a contract matches your needs, you tell your agent what you need once. It runs the series of queries—whether it's combining a keyword search with a country filter *and* a budget constraint—and hands you a curated list. You can let it check for new listings every morning, or drill down immediately on a specific contract ID that looks promising. This isn't just searching; this is automated intelligence gathering for public contracts across the entire EU zone.

## Tools

### search_tenders
Performs a broad search across all 27 EU member states using keywords and general filters.

### get_tender
Retrieves full details for one specific notice ID, including lots, award criteria, and contacts.

### search_by_country
Filters all EU public tenders by country using its two-letter ISO code (e.g., IT, DE).

### search_by_cpv
Finds tenders matching a specific industry sector using Common Procurement Vocabulary codes.

### search_by_value
Filters the tender list to only show contracts that meet your required minimum or maximum financial value.

### list_recent_tenders
Lists new tenders published within the last 7 days to keep you current on opportunities.

## Prompt Examples

**Prompt:** 
```
Find recent tenders for software development in France.
```

**Response:** 
```
Found 8 active tenders matching 'software development' in France:
1. FR-2025/S-089-234567 — "Cloud migration platform" — Ministry of Finance — €2.4M — Deadline: April 28
2. FR-2025/S-091-345678 — "Healthcare records system" — CHU Bordeaux — €890K — Deadline: May 5
3. FR-2025/S-092-456789 — "Transport management SaaS" — SNCF — €1.7M — Deadline: May 12
Showing 3 of 8. Want me to get full details on any of these?
```

**Prompt:** 
```
Show me construction tenders worth over 5 million euros.
```

**Response:** 
```
Found 15 tenders in CPV 45000000 (Construction) above €5M:
1. DE-2025/S-087-123456 — "Highway A3 expansion Cologne-Frankfurt" — €47M — Deadline: April 20
2. ES-2025/S-088-234567 — "Hospital Universitario renovation" — €12.3M — Deadline: May 1
3. IT-2025/S-090-345678 — "Metro Line C extension Rome" — €89M — Deadline: May 15
Showing 3 of 15. Filter by country or narrow the value range?
```

**Prompt:** 
```
What new tenders were published this week?
```

**Response:** 
```
342 new tenders published in the last 7 days. Top sectors:
• IT Services (CPV 72): 48 notices
• Construction (CPV 45): 67 notices
• Medical Equipment (CPV 33): 31 notices
• Transport (CPV 60): 22 notices
Top countries: Germany (71), France (54), Spain (38), Italy (42). Want me to drill into a specific sector or country?
```

## Capabilities

### Search by Keyword
Run broad searches across the entire database using general terms like 'software' or 'hospital'.

### Filter by Country Code
Limit your search results to a single EU member state using its two-letter ISO code.

### Target Specific Sectors (CPV)
Filter contracts down to precise industry sectors using standard Common Procurement Vocabulary codes.

### Constrain by Budget
Search only for tenders that fall within a specific minimum or maximum contract value in Euros.

### Monitor New Listings
Check the latest published opportunities, typically focusing on notices from the last week.

### Pull Full Contract Details
Fetch deep data—including lot breakdowns and award criteria—for a specific tender notice ID.

## Use Cases

### Identifying a new market for IT services in France
A consultant needs to find potential clients. They ask their agent: 'Find all recent tenders for software development in France.' The agent runs `search_by_cpv` (using the relevant code) combined with `search_by_country` (FR), giving them immediate, actionable results.

### Checking for major construction projects over €10M
A firm needs to assess large-scale infrastructure bids. They tell their agent: 'Show me all tenders over 10 million euros in the construction sector.' The agent uses `search_by_value` and `search_by_cpv` simultaneously, bypassing thousands of irrelevant small jobs.

### Tracking a specific competitor's activities
An analyst wants to monitor if a rival is bidding on healthcare technology in Italy. They run a focused query: 'Search for tenders using keywords 'radiology system' in Italy.' The agent uses `search_tenders` combined with `search_by_country` (IT) and keyword matching.

### Deep dive on one promising contract
The initial search finds a specific ID for an energy project. Instead of copying the ID to another website, they ask their agent: 'Get all details for this tender.' The agent runs `get_tender`, providing immediate access to lots and award criteria.

## Benefits

- Stop manually browsing clunky portals. Your agent uses `search_tenders` to find contract notices across all 27 EU states based on natural language input.
- Target your search precisely using industry codes. Running `search_by_cpv` lets you focus only on, say, 'Medical Equipment' (CPV 33000000), ignoring everything else.
- Filter out irrelevant budget sizes. Use `search_by_value` to ensure the tenders you see match your company's capacity and size requirement.
- Stay ahead of deadlines by monitoring new posts. Running `list_recent_tenders` gives you a focused list of what’s been published in the last week.
- Go deep on specific opportunities. If one listing looks promising, use `get_tender` to pull the full data—including award criteria and contact info.

## How It Works

The bottom line is that your AI client handles all the complex filtering logic; you just ask what contracts you need.

1. Tell your agent exactly what you need: specify the country, sector (CPV), or value range.
2. The agent uses the appropriate tool (e.g., `search_by_cpv` with '33000000' and a value).
3. You get back a list of matching tenders, and you can ask the agent to use `get_tender` for full details on any specific result.

## Frequently Asked Questions

**How do I search for tenders by country using the search_by_country tool?**
You pass the two-letter ISO code directly to `search_by_country`. For example, if you want Italian bids, your agent uses 'IT'. This limits results immediately to that member state.

**Can I combine multiple filters? Which tools should I use together?**
Yes. You can chain them through natural language. A good query is: 'Find tenders matching CPV 45000000 AND over €1M.' The agent handles the intersection of `search_by_cpv` and `search_by_value`.

**What's the difference between search_tenders and list_recent_tenders?**
`search_tenders` is for keyword/criteria searching across all time. `list_recent_tenders` specifically focuses on monitoring new opportunities published in the last 7 days, making it better for tracking current market activity.

**Do I need to know CPV codes to use search_by_cpv?**
While you should know them for precision, your agent can often help interpret common sectors. The tool requires the standardized code (e.g., 72000000) to function correctly.

**How do I get full details using the get_tender tool?**
You must first use another search tool to obtain a specific Notice ID. Once you have that unique ID, pass it directly to `get_tender` for the detailed breakdown.

**What should I do if my searches using `search_tenders` fail due to rate limits?**
You'll need a dedicated TED API Key. While basic searches work anonymously, high-volume usage requires the key to increase your call quota. Check the developer documentation for setup details.

**Does the data returned by `search_by_country` include tenders outside of EU member states?**
No, it only includes official public procurement notices published through TED. This means the search results are strictly limited to the 27 EU member states and associated bodies.

**When I run `get_tender`, what specific data points can I expect regarding lots and award criteria?**
The tool returns structured details covering multiple facets. You'll get the full description, defined lots, detailed award criteria, timelines, and contact information for the contracting authority.

**Do I need an API key to use TED?**
No! The TED Search API allows anonymous access for basic queries. An API key only increases your rate limits for high-volume usage. You can start searching tenders immediately without any credentials. If you need higher throughput, get a free key at developer.ted.europa.eu.

**How can I find IT contracts over 500K EUR in Germany?**
Combine tools: use `search_by_cpv` with code 72000000 (IT services) or `search_by_country` with code DE, then ask your agent to filter by value. Or use `search_by_value` with min_value 500000 and max_value 10000000. Your agent cross-references the results to show only German IT contracts above your threshold.

**Is TED data limited to EU countries only?**
TED primarily covers the 27 EU member states, but it also includes notices from EEA countries (Norway, Iceland, Liechtenstein), EU candidate countries, and some international organizations. All tools return data across this full scope. The `search_by_country` tool supports ISO codes for all covered territories.