Skip to main content
Glama

award_history

Read-onlyIdempotent

Free during beta. Who won past public contracts, at what price, against how many bidders, and by which procedure (open call, prior consultation, direct award). Filter by buyer, winner, CPV sector and region. For Portugal covers every public contract (Portal BASE), incl. small direct awards. Returns summary stats, top winners and recent awards.

Input Schema

NameRequiredDescriptionDefault
buyerNoPart of the contracting authority's name
limitNoMax results, default 10, max 25
sinceNoISO date, e.g. 2024-01-01
regionNoPlace name: district or municipality (e.g. 'Lisboa', 'Sintra'). Matches the work location or the buyer's name; most precise for Portugal.
winnerNoPart of the winning company's name
countriesNoISO 3166-1 alpha-2 country codes where the work is performed, e.g. ["PT","ES"]
cpv_prefixesNoCPV code prefixes; '45' = construction, '72' = IT services, '3021' = computers

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / region
      Added value: +{
      +  "description": "Place name: district or municipality (e.g. 'Lisboa', 'Sintra'). Matches the work location or the buyer's name; most precise for Portugal.",
      +  "maxLength": 100,
      +  "type": "string"
      +}
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, openWorldHint=false), so the bar is lower, and the description still adds real behavioral context: it is 'Free during beta', it discloses data completeness ('For Portugal covers every public contract (Portal BASE), incl. small direct awards'), and it previews the return shape (summary stats, top winners, recent awards). It does not mention rate limits or latency, but the coverage and cost disclosures are substantive.

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?

Four sentences, zero filler, and the substantive claim (who won past contracts, at what price, against how many bidders, by which procedure) is front-loaded ahead of the filter and coverage details. 'Free during beta' leads slightly awkwardly but earns its place as cost information.

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

Completeness4/5

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

There is no output schema, so the description carries the burden of describing returns and does so at a useful summary level ('summary stats, top winners and recent awards'). Combined with the annotation-covered read-only profile and the coverage note, an agent has enough to invoke correctly; only the exact response fields and pagination remain unspecified.

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?

Schema description coverage is 100%, so the schema already documents all seven parameters with formats and examples, making 3 the baseline. The description names four of the filters (buyer, winner, CPV sector, region) but adds no syntax or semantics beyond what the schema provides, and omits countries/since/limit entirely.

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

Purpose4/5

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

States a specific verb+resource ('past public contracts', who won, at what price, how many bidders, which procedure) and enumerates the return content, so the agent knows exactly what this retrieves. It never names a sibling, but the 'past' framing implicitly separates it from forward-looking tools like search_tenders or expiring_contracts, so it falls just short of 5.

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

Usage Guidelines3/5

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

Usage is only implied: the past-awards framing and the Portugal coverage note suggest when this is the right tool, but there is no explicit 'use this when...' statement, no exclusions, and no named alternative such as search_tenders or competitor_profile. 'Filter by buyer, winner, CPV sector and region' describes capability rather than when-to-use.

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.

Resources