Skip to main content
Glama

It Tender Search

it_tender_search
Read-onlyIdempotent

Search ITALIAN public-sector tenders and contract notices from ANAC (Autorità Nazionale Anticorruzione), the national anti-corruption authority that runs Italy's public-procurement notice register (the "cig" dataset — one notice per CIG, Codice Identificativo Gara). ANAC exposes no live search of its own, so this answers from a locally refreshed recent-window copy (see data_as_of and the window fields in the response). Filter by free-text keyword (matched against the Italian title and CPV category description), CPV code or prefix (e.g. "45" for construction, "72000000" for IT services), buyer name substring (Italian spelling, e.g. "Comune di Milano", "ASL", "Regione"), Italian province code, and a publish-date range. Returns compact shaped notices: CIG, title, buyer, province/region, contract type, amount (EUR), status, CPV, publish date, offer deadline, and outcome if communicated. Call it_tender_detail with a CIG for the full record.

Input Schema

NameRequiredDescriptionDefault
cpvNoCPV classification code or numeric prefix, e.g. "45" (construction works), "72000000" (IT services).
buyerNoContracting-authority (buyer) name, partial match, Italian spelling, e.g. "Comune di Roma", "ASL Napoli", "Ministero".
limitNoMax notices to return (default 20, max 100). Newest-first.
queryNoKeyword(s), case-insensitive, matched against the Italian notice title and CPV category description, e.g. "ospedale", "pulizia", "software", "manutenzione strade".
date_toNoLatest PUBLISH date, YYYY-MM-DD. Defaults to the newest date in the loaded window (see window_to in any response), which can trail today by months because ANAC publishes monthly bulk files.
provinceNoItalian province name as ANAC records it, e.g. "MILANO", "ROMA", "NAPOLI" (case-insensitive exact match).
date_fromNoEarliest PUBLISH date, YYYY-MM-DD. Defaults to 90 days before date_to.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing a critical behavioral trait: ANAC exposes no live search, so results come from a 'locally refreshed recent-window copy' whose window can trail today by months due to monthly bulk files. This staleness caveat, plus newest-first ordering and a limit max of 100, is exactly the context not conveyed by readOnlyHint/idempotentHint.

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

Conciseness4/5

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

Front-loads the identity of the source and dataset, then filters, then returned fields, then routing. Dense and mostly waste-free, though the prose runs long and duplicates some schema content, keeping it just short of ideal.

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 no output schema, the description lists the returned fields (CIG, title, buyer, province/region, contract type, amount, status, CPV, publish date, deadline, outcome) and covers staleness, defaults, and sibling routing. Nothing an agent needs to call and interpret it is missing.

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 baseline is 3. The description largely restates what the schema already documents (CPV prefix examples, buyer substring, province match, date range), adding little semantic detail beyond the existing parameter descriptions.

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?

States a specific verb+resource ('Search ITALIAN public-sector tenders and contract notices from ANAC') and even explains the underlying dataset ('one notice per CIG'). It explicitly distinguishes itself from the sibling it_tender_detail, so an agent can route without opening either schema.

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?

Gives clear filtering context (keyword, CPV, buyer, province, date range) and names the alternative: 'Call it_tender_detail with a CIG for the full record.' The condition selecting the sibling is explicit, but there is no explicit statement of when NOT to use this tool (e.g. for non-Italian procurement or bulk export needs).

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.