Skip to main content
Glama

Diavgis — Greek Public Procurement

Search Greek Procurement Acts

search_tenders
Read-onlyIdempotent

Search Greek public-procurement acts across THREE cross-linked sources — Διαύγεια, ΚΗΜΔΗΣ (Central Electronic Public Procurement Registry) and EU TED. Filter by source (diavgeia|kimdis|ted), lifecycle status (request|tender|award|contract|payment), buyer or supplier ΑΦΜ (9-digit tax id), CPV code, EUR budget range, NUTS region, submission deadline (deadline_after=TODAY + status=tender ⇒ the OPEN tenders a supplier can still bid on), free-text q over the act title, and procurement signals (published facts from ΚΗΜΔΗΣ): direct_award (απευθείας ανάθεση), single_bidder (≤1 bid on the contract), cancelled. Returns a paginated envelope; 'next' is the next PAGE NUMBER or null. Natural-person counterparties are redacted. Do NOT sum amount_net across results to get spend — use rank_entities or spend_by_cpv, which count each procurement once.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNofree-text search over the act title
cpvNoCPV code (e.g. 79710000)
pageNo1-based page number; pagination DEPTH is capped per plan
yearNo4-digit issue year, e.g. 2026 — restricts to acts issued that year
regionNoNUTS region code prefix, e.g. EL30 (Attica), EL52 (Central Macedonia). Matches by prefix, so EL3 covers all of Attica.
sourceNofilter by data source
statusNo
buyer_afmNo9-digit buyer ΑΦΜ
cancelledNoonly acts the source marked as cancelled
has_chainNoonly acts linked into a reconstructed lifecycle chain (request→tender→award→contract→payment)
page_sizeNomax 200
budget_maxNomaximum amount_net in EUR
budget_minNominimum amount_net in EUR
price_onlyNoonly awards/contracts decided on lowest-price alone (award_criteria = Βάσει τιμής / Χαμηλότερη Τιμή), excluding most-economically-advantageous (MEAT) criteria
direct_awardNoonly direct awards (procedure = απευθείας ανάθεση) — a published ΚΗΜΔΗΣ fact
supplier_afmNo9-digit supplier ΑΦΜ
single_bidderNoonly contracts where ≤1 bid was submitted (maxBidsSubmitted; single bidder)
deadline_afterNoISO date (YYYY-MM-DD). Only acts whose submission deadline is on/after this date. Pass TODAY to get OPEN tenders — the ones a supplier can still bid on. Combine with status="tender".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
nextYesnext page NUMBER, or null when there are no more pages — not a URL
pageYes
totalYestotal acts matching the filters
page_sizeYes

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already carry readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, but the description adds three genuinely new behavioral facts beyond them: results come in a paginated envelope where 'next' is a page number or null, natural-person counterparties are redacted, and summing amount_net across results double-counts spend. These materially change how the agent should interpret and use the output.

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?

The description is long but dense and purpose-front-loaded: scope first, then filters, then behavioral warnings. The filter enumeration partly restates the well-covered schema, which adds length, but it embeds compound semantics and provenance details that keep nearly every sentence informative. No filler or repetition of annotations.

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?

For an 18-parameter, zero-required search tool with an output schema and seven siblings, the description covers all the non-obvious ground: cross-source scope, compound filter usage, pagination envelope shape, redaction behavior, and spend-aggregation routing. Since an output schema exists, return-value details are not the description's job, and nothing critical is left out.

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

Parameters4/5

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

Schema coverage is 94%, so the baseline is 3. The description earns an extra point by explaining the non-obvious parameter interplay — deadline_after=TODAY combined with status=tender identifies open tenders — and by clarifying that direct_award, single_bidder, and cancelled are published ΚΗΜΔΗΣ facts rather than arbitrary flags. Most individual parameter semantics, however, remain in the schema.

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 and resource: 'Search Greek public-procurement acts' across three named sources (Διαύγεια, ΚΗΜΔΗΣ, EU TED). The scope is precise, and the closing instruction to 'use rank_entities or spend_by_cpv' explicitly distinguishes it from sibling aggregation tools.

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

Usage Guidelines5/5

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

Explicitly names alternatives with the condition that selects them: 'Do NOT sum amount_net across results to get spend — use rank_entities or spend_by_cpv.' It also gives a concrete compound use case — deadline_after=TODAY + status=tender yields the OPEN tenders a supplier can still bid on — so an agent knows when and how to invoke it.

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
Disambiguation4/5

Each tool targets a distinct concern: entity resolution, entity profiles, counterparties, rankings, spend aggregates, search, act detail, lifecycle chains, expiring contracts, and quota. Minor overlap exists between get_act and get_chain since get_act can include lifecycle chain data, but the descriptions make the intended primary use clear.

Naming Consistency4/5

All names use snake_case and most follow a verb_noun pattern like find_entity, get_entity, search_tenders, and rank_entities. A few tools such as entity_counterparties and expiring_contracts are noun-phrase names, and spend_by_cpv uses a different structure, so the pattern is mostly consistent but not uniform.

Tool Count5/5

Ten tools is well-scoped for a Greek public procurement data API: the count is large enough to cover discovery, search, entity analytics, spend analytics, lifecycle detail, and quota management without feeling bloated. Each tool appears to earn its place with no obvious redundant duplicates.

Completeness5/5

The tool surface covers the full read-only procurement workflow: resolve names to tax IDs, profile entities, find counterparties, rank entities, search tenders with filters, inspect individual acts, follow lifecycle chains, monitor expiring contracts, and aggregate spend by CPV. There are no major missing operations for the stated purpose.