Skip to main content
Glama

Diavgis — Greek Public Procurement

Get One Act

get_act
Read-onlyIdempotent

Full detail of one act by its id (Διαύγεια ΑΔΑ, ΚΗΜΔΗΣ 'kimdis:<ΑΔΑΜ>', or TED 'ted:'): canonical fields, resolved buyer/supplier entities, CPV codes with labels, and its cross-source lifecycle chain if linked. On ΚΗΜΔΗΣ contracts, commitment_ada carries the Διαύγεια ΑΔΑ of the budget-commitment decision the source declares (comma-separated when more than one). It is a pointer INTO Διαύγεια, not an act we necessarily hold — resolve it at diavgeia.gov.gr, not through this API — and it is deliberately NOT a chain edge: one annual commitment funds many unrelated contracts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
adaYesact id — ΑΔΑ, 'kimdis:<ΑΔΑΜ>' or 'ted:<number>'

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
actYes
cpvsYesCPV classifications with their official Greek labels
buyerYes
chainYes
supplierYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / act / properties / supplier_afm / description
      Previous value: -"null when the counterparty is a redacted natural person"New value: +"9-digit ΑΦΜ of a company supplier; a pseudonym \"Φ-XXXXXXXXXX\" for a natural-person contractor; null when the counterparty is a redacted natural person"
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the bar is lower — yet the description adds real behavioral context: what is returned (canonical fields, resolved entities, CPV labels, cross-source lifecycle chain) and a subtle trap that `commitment_ada` is a pointer, not a chain edge, and must be resolved externally. This is exactly the kind of non-obvious behavior that prevents wrong invocations.

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?

Front-loads the core purpose and return contents, then devotes the remaining sentences to the one genuinely non-obvious semantic caveat. Every sentence earns its place; nothing is filler.

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?

With an output schema present, the description need not describe return values, yet it does so briefly — mildly redundant. It is otherwise complete: id formats, return scope, and the critical commitment_ada caveat are all covered for a 1-parameter lookup tool.

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 coverage is 100% and the single parameter's schema description already lists the same id forms (ΑΔΑ, kimdis:<ΑΔΑΜ>, ted:<number>), so the description largely restates the schema. It adds only minor value by naming which source system each prefix maps to. Baseline 3 is appropriate when the schema does the heavy lifting.

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 ('Full detail of one act by its id') and enumerates the accepted id namespaces (Διαύγεια ΑΔΑ, kimdis:<ΑΔΑΜ>, ted:<number>). This clearly separates it from sibling retrieval tools like get_chain and search_tenders, which operate on chains or queries rather than a single id.

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 strong when-not guidance: the `commitment_ada` value is a pointer INTO Διαύγεια that must be resolved at diavgeia.gov.gr 'not through this API', and is explicitly 'NOT a chain edge'. It does not name a sibling alternative for retrieving linked acts (get_chain), but the usage context is otherwise clear.

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.