Skip to main content
Glama

Ted Search Awards

ted_search_awards
Read-onlyIdempotent

Who WON EU public contracts — searches contract-AWARD notices in Tenders Electronic Daily (TED), the official journal of the EU (2.8M+ award notices, all member states, back to 2011). Each result names the winning supplier(s), the awarded value with its currency, the buyer and country, CPV category, and award publication date. Use for "who won the X contract in Spain", "recent IT contract awards in France", "awarded construction contracts over 10M EUR". Filter by winner name, buyer name, CPV category (plain English or code), buyer country, winner country, value range, date window. Covers above-threshold EU procurement; values are as published by the buyer, normally excluding VAT.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cpvNoCPV code (8-digit or a shorter prefix, widened to the branch). Comma-separate several; they are OR-ed.
pageNo1-based page (default 1)
sortNoOrdering: "newest" (default), "oldest", "value_high", "value_low".
buyerNoContracting authority name, matched partially ("Banedanmark", "Ville de Paris"). For a full buyer dossier use ted_buyer_profile instead.
limitNoPage size, 1-250 (default 25)
queryNoFree text searched across the full notice in any language (phrase first, then words-anywhere — same escalation as search_notices).
winnerNoWinning supplier name, matched partially ("Siemens" finds "Siemens Mobility A/S"). For a full supplier dossier use ted_supplier_history instead.
countryNoBuyer country (ISO 3166-1 alpha-3 — FRA, DEU, ITA, ESP). Comma-separate several; they are OR-ed.
date_toNoAward publication date to (YYYY-MM-DD)
categoryNoPlain-English category resolved to CPV codes ("construction", "IT services", "medical equipment" — same vocabulary as search_notices). Use `cpv` if you already know the code.
date_fromNoAward publication date from (YYYY-MM-DD)
value_maxNoAwarded value ceiling (in the notice's own currency)
value_minNoAwarded value floor (in the notice's own currency)
winner_countryNoWinner country (ISO 3166-1 alpha-3). Comma-separate several; they are OR-ed.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld; description adds meaningful context: result composition (winner, value, currency, buyer, country, CPV, date), coverage limits ('above-threshold EU procurement'), and value nuance ('normally excluding VAT'). No output schema exists, so the result-field disclosure is valuable; no contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single dense paragraph with every sentence adding value: core purpose, data scope, result contents, example queries, filter summary, and caveats. No tautology or repetition of schema; front-loaded with 'Who WON'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 14 parameters and no output schema, the description explains what each result contains, defines coverage, and includes real-world caveats (above-threshold, VAT exclusion). Combined with the fully documented schema, an agent has enough context to select, invoke, and interpret results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers 100% of 14 parameters with rich per-parameter descriptions including examples, OR-ing, partial matching, and cross-tool pointers. The description's filter summary ('winner name, buyer name, CPV category...') restates the schema rather than adding new semantics, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with 'Who WON EU public contracts' — a specific verb and resource (search contract-award notices in TED), with clear scope (2.8M+ notices, member states, back to 2011). It distinguishes itself from sibling search_notices by focusing on 'WON' and award notices, and from ted_buyer_profile/ted_supplier_history via targeted alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use cases ('Use for "who won the X contract in Spain"...') and redirects to alternatives ('For a full buyer dossier use ted_buyer_profile instead'; 'For a full supplier dossier use ted_supplier_history instead'). It does not explicitly state when not to use it versus search_notices, but the 'WON' framing makes the distinction clear and no misleading guidance is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose described in detail. Even tools like ask_pipeworx, ask_pipeworx_grounded, and deep_research are differentiated by hallucination resistance, account requirements, and use cases. Polymarket tools are each specialized (arbitrage, edges, fill risk, etc.). No two tools appear to do the same thing.

Naming Consistency5/5

All tool names follow snake_case consistently. They use descriptive verb-noun patterns (e.g., ask_pipeworx, bet_research, compare_entities, subscribe). No mixing of conventions or ambiguous names.

Tool Count4/5

32 tools is on the higher side but justified by the server's broad scope covering company research, prediction markets, data lookups, memory, subscriptions, and more. Each tool serves a distinct function, though the count might feel slightly heavy for a single server.

Completeness4/5

The toolset covers core workflows for company analysis, prediction market operations, data retrieval, and system management (memory, subscriptions). Minor gaps exist (e.g., no direct tool for non-company entity profiles beyond drugs), but the overall surface is comprehensive for the intended multi-purpose assistant.