ted-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TED_API_URL | No | Override the TED API URL for testing. Default: TED v3 search endpoint. | |
| TED_MCP_HOST | No | HTTP bind address. Default: 127.0.0.1 | 127.0.0.1 |
| TED_MCP_PORT | No | HTTP bind port. Default: 8000 | 8000 |
| TED_MCP_TOKEN | No | Required for HTTP transport. Minimum 24 characters. Used for authentication. | |
| TED_MCP_TRANSPORT | No | Transport mode: stdio or http. Default: stdio. | stdio |
| TED_MCP_ALLOWED_HOSTS | No | Comma-separated hostnames for DNS-rebinding protection. Recommended for HTTP. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_tendersA | Search EU public tenders with simple filters. keywords: full-text terms, OR-combined (e.g. ["NIS2", "cybersecurity audit"]). countries: buyer countries, ISO alpha-3 or alpha-2 (e.g. ["ROU", "DE"]). cpv_codes: 8-digit CPV codes, e.g. 72000000 (IT services), 48000000 (software packages). published_since / published_until: YYYY-MM-DD. notice_types: e.g. ["cn-standard"] (contract notices) or ["can-standard"] (award notices). scope: ACTIVE (open now), LATEST, or ALL (archive). Returns total match count plus normalised notices (title, buyer, country, CPV, value, URL). |
| count_tendersA | Count matching notices without listing them (cheap demand signal). Same filters as search_tenders. Defaults to scope ALL so date ranges count the archive. Tip: compare the same filters across two date windows to see if demand is rising. |
| search_noticesA | Run a raw TED expert-search query (advanced). Example: 'FT ~ kubernetes AND buyer-country IN (DEU AUT) AND publication-date>=20260801 SORT BY publication-date DESC' fields: TED field names to return (defaults to a standard set). Unknown fields are rejected by TED. Use check_query first if unsure about syntax. |
| check_queryB | Validate TED expert-search syntax without returning notices. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
The four tools have mostly distinct purposes: simple search, raw expert search, count-only, and syntax validation. search_tenders and search_notices overlap in domain but are differentiated by simple vs. advanced query modes, so misselection is possible but unlikely.
All tool names follow a consistent snake_case verb_noun pattern: search_tenders, search_notices, count_tenders, check_query. The naming is predictable and readable.
Four tools are well-scoped for a search-focused API: two search modes, a count utility, and a query validator. Each tool earns its place without redundancy or bloat.
The server covers discovery, advanced querying, counting, and query validation for EU tenders, which is strong for a read-only search domain. A minor gap is the absence of a direct notice-detail retrieval tool by ID, though returned URLs partially mitigate this.