Diavgis — Greek Public Procurement
What this MCP does
Searches and analyzes Greek public procurement records, entities, contracts, awards, payments, suppliers, and procurement lifecycle relationships.
Tools
Input schema
{'type': 'object', 'required': ['afm'], 'properties': {'afm': {'type': 'string', 'description': '9-digit ΑΦΜ'}, 'limit': {'type': 'number', 'description': 'max 30, default 10'}}}
Output schema
{'type': 'object', 'required': ['afm', 'counterparties'], 'properties': {'afm': {'type': 'string'}, 'counterparties': {'type': 'array', 'items': {'type': 'object', 'required': ['afm', 'role', 'acts'], 'properties': {'afm': {'type': ['string', 'null']}, 'acts': {'type': 'number'}, 'name': {'type': ['string', 'null']}, 'role': {'enum': ['buyer', 'supplier'], 'type': 'string', 'description': 'the role the COUNTERPARTY plays'}, 'amount': {'type': ['number', 'null'], 'description': 'EUR summed over the shared acts'}}}}}}
Input schema
{'type': 'object', 'properties': {'h': {'enum': [0, 7, 30, 180], 'type': 'number', 'description': 'horizon in days; 0 = expiring today (free on every plan). Default 180.'}, 'cpv': {'type': 'string', 'description': 'CPV division, 2 digits (e.g. 33 for medical equipment)'}, 'region': {'type': 'string', 'description': 'NUTS code, e.g. EL30 for Attica'}, 'page_size': {'type': 'number', 'description': 'rows to return, 1-200 (default 50)'}}}
Output schema
{'type': 'object', 'required': ['data', 'page', 'page_size', 'total', 'next'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source'], 'properties': {'id': {'type': 'string'}, 'nuts': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'source': {'type': 'string'}, 'buyer_afm': {'type': ['string', 'null']}, 'amount_net': {'type': ['number', 'null'], 'description': 'EUR, excludes VAT'}, 'buyer_name': {'type': ['string', 'null']}, 'source_url': {'type': ['string', 'null']}, 'cpv_primary': {'type': ['string', 'null']}, 'contract_end': {'type': ['string', 'null'], 'description': 'ISO date the contract stops running'}, 'supplier_afm': {'type': ['string', 'null']}}}}, 'next': {'type': ['number', 'null'], 'description': 'next page NUMBER, or null at the end'}, 'page': {'type': 'number'}, 'total': {'type': 'number'}, 'page_size': {'type': 'number'}, 'horizon_days': {'type': 'number'}}}
Input schema
{'type': 'object', 'required': ['name'], 'properties': {'kind': {'enum': ['buyer', 'supplier', 'both'], 'type': 'string', 'description': 'Restrict to public bodies (buyer) or companies (supplier). Omit for all.'}, 'name': {'type': 'string', 'description': 'Full or partial name, e.g. "Δήμος Αθηναίων". Accents and case are ignored.'}, 'limit': {'type': 'number', 'description': '1-20, default 8'}}}
Output schema
{'type': 'object', 'required': ['query', 'matches'], 'properties': {'query': {'type': 'string'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['afm', 'name', 'kind'], 'properties': {'afm': {'type': 'string', 'description': 'pass this to get_entity / buyer_afm / supplier_afm'}, 'kind': {'enum': ['buyer', 'supplier', 'both'], 'type': 'string'}, 'name': {'type': 'string'}, 'last_seen': {'type': 'string'}, 'first_seen': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'required': ['ada'], 'properties': {'ada': {'type': 'string', 'description': "act id — ΑΔΑ, 'kimdis:<ΑΔΑΜ>' or 'ted:<number>'"}}}
Output schema
{'type': 'object', 'required': ['act', 'buyer', 'supplier', 'cpvs', 'chain'], 'properties': {'act': {'type': 'object', 'required': ['id', 'kind', 'issued_at', 'source', 'redacted'], 'properties': {'id': {'type': 'string', 'description': "canonical act id — Διαύγεια ΑΔΑ, 'kimdis:<ΑΔΑΜ>' or 'ted:<publication-number>'"}, 'ada': {'type': ['string', 'null'], 'description': 'Διαύγεια ΑΔΑ'}, 'adam': {'type': ['string', 'null'], 'description': 'ΚΗΜΔΗΣ ΑΔΑΜ'}, 'kind': {'enum': ['request', 'tender', 'award', 'contract', 'payment'], 'type': 'string', 'description': 'lifecycle stage'}, 'nuts': {'type': ['string', 'null'], 'description': 'NUTS region code'}, 'title': {'type': ['string', 'null']}, 'source': {'enum': ['diavgeia', 'kimdis', 'ted'], 'type': 'string'}, 'revoked': {'type': 'boolean'}, 'chain_id': {'type': ['string', 'null'], 'description': 'lifecycle chain this act belongs to, null if unlinked'}, 'currency': {'type': ['string', 'null']}, 'deadline': {'type': ['string', 'null'], 'description': 'tender submission deadline (YYYY-MM-DD)'}, 'redacted': {'type': 'boolean', 'description': 'true when the counterparty is a natural person (GDPR)'}, 'buyer_afm': {'type': ['string', 'null'], 'description': '9-digit ΑΦΜ of the contracting authority'}, 'cancelled': {'type': 'boolean'}, 'esidis_id': {'type': ['string', 'null'], 'description': 'ΕΣΗΔΗΣ system id when published'}, 'issued_at': {'type': 'string', 'description': 'ISO-8601 issue timestamp'}, 'amount_net': {'type': ['number', 'null'], 'description': 'EUR excluding VAT'}, 'bids_count': {'type': ['number', 'null'], 'description': 'bids submitted (ΚΗΜΔΗΣ maxBidsSubmitted)'}, 'buyer_name': {'type': ['string', 'null']}, 'source_url': {'type': ['string', 'null'], 'description': 'permalink to the authoritative source record'}, 'cpv_primary': {'type': ['string', 'null'], 'description': 'primary CPV code'}, 'amount_check': {'type': ['string', 'null'], 'description': 'JSON verdict when the published amount looks wrong, e.g. {"outcome":"scale_suspect","original":809100000}'}, 'amount_gross': {'type': ['number', 'null'], 'description': 'EUR including VAT'}, 'supplier_afm': {'type': ['string', 'null'], 'description': '9-digit ΑΦΜ of a company supplier; a pseudonym "Φ-XXXXXXXXXX" for a natural-person contractor; null when the counterparty is a redacted natural person'}, 'award_criteria': {'type': ['string', 'null']}, 'procedure_type': {'type': ['string', 'null'], 'description': 'Ν.4412 procedure as published (Απευθείας ανάθεση, Ανοιχτή διαδικασία, …)'}, 'award_procedure': {'type': ['string', 'null'], 'description': 'statutory exception (art. 32 ν.4412/2016) the buyer invoked to skip a competitive call. Published on ~100% of «negotiated without prior publication» / «competitive procedure with negotiation» / «competitive dialogue» acts and on ~0% of others — so null means NOT REQUIRED, not missing, except on those three procedures where it is a genuine anomaly.'}, 'contract_budget_net': {'type': ['number', 'null'], 'description': "the document's own approved budget — compare with amount_net to spot cumulative/typo figures"}}}, 'cpvs': {'type': 'array', 'items': {'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string'}, 'label': {'type': ['string', 'null']}}}, 'description': 'CPV classifications with their official Greek labels'}, 'buyer': {'type': ['object', 'null'], 'properties': {'afm': {'type': 'string'}, 'kind': {'type': 'string'}, 'name': {'type': 'string'}}}, 'chain': {'type': ['object', 'null'], 'properties': {'members': {'type': 'array', 'items': {'type': 'object', 'required': ['ada'], 'properties': {'ada': {'type': 'string'}, 'role': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'amount_net': {'type': ['number', 'null']}}}}, 'chain_id': {'type': 'string'}}}, 'supplier': {'type': ['object', 'null'], 'properties': {'afm': {'type': 'string'}, 'kind': {'type': 'string'}, 'name': {'type': 'string'}}}}}
Input schema
{'type': 'object', 'required': ['chain_id'], 'properties': {'chain_id': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['chain_id', 'members'], 'properties': {'members': {'type': 'array', 'items': {'type': 'object', 'required': ['ada'], 'properties': {'ada': {'type': 'string', 'description': 'act id of the member'}, 'kind': {'type': ['string', 'null']}, 'role': {'type': ['string', 'null']}, 'title': {'type': ['string', 'null']}, 'method': {'type': ['string', 'null'], 'description': 'how the link was made: id | fuzzy | cross | semantic | manual'}, 'source': {'type': ['string', 'null']}, 'currency': {'type': ['string', 'null']}, 'issued_at': {'type': ['string', 'null']}, 'amount_net': {'type': ['number', 'null']}, 'confidence': {'type': ['number', 'null']}}}}, 'chain_id': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['afm'], 'properties': {'afm': {'type': 'string', 'description': '9-digit ΑΦΜ'}}}
Output schema
{'type': 'object', 'required': ['afm', 'name', 'stats'], 'properties': {'afm': {'type': 'string'}, 'kind': {'type': 'string', 'description': 'buyer | supplier'}, 'name': {'type': 'string'}, 'stats': {'type': ['object', 'null'], 'properties': {'acts_as_buyer': {'type': 'number'}, 'spent_as_buyer': {'type': 'number', 'description': 'EUR committed as contracting authority'}, 'acts_as_supplier': {'type': 'number'}, 'received_as_supplier': {'type': 'number', 'description': 'EUR committed to this supplier'}}}, 'last_seen': {'type': ['string', 'null']}, 'first_seen': {'type': ['string', 'null']}}}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', 'required': ['plan', 'used', 'rate_per_min', 'max_page_size', 'max_pages', 'period_reset'], 'properties': {'plan': {'enum': ['free', 'pro', 'business'], 'type': 'string'}, 'used': {'type': 'number', 'description': 'calls consumed this period (REST + MCP share one counter)'}, 'limit': {'type': ['number', 'null'], 'description': 'monthly quota, null if unlimited'}, 'max_pages': {'type': 'number', 'description': 'pagination depth cap; deeper pages return an error, narrow with filters instead'}, 'remaining': {'type': ['number', 'null']}, 'pricing_url': {'type': 'string'}, 'period_reset': {'type': 'string', 'description': 'ISO date when used resets to 0'}, 'rate_per_min': {'type': 'number'}, 'max_page_size': {'type': 'number'}}}
Input schema
{'type': 'object', 'properties': {'by': {'enum': ['spend', 'single_bidder', 'direct_award'], 'type': 'string', 'description': 'default spend'}, 'role': {'enum': ['buyer', 'supplier'], 'type': 'string', 'description': 'default buyer'}, 'limit': {'type': 'number', 'description': 'max 15, default 15 — the published ranking holds the top 15'}}}
Output schema
{'type': 'object', 'required': ['role', 'by', 'results'], 'properties': {'by': {'enum': ['spend', 'single_bidder', 'direct_award'], 'type': 'string'}, 'role': {'enum': ['buyer', 'supplier'], 'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['afm'], 'properties': {'afm': {'type': ['string', 'null']}, 'name': {'type': ['string', 'null']}, 'total': {'type': ['number', 'null'], 'description': 'total acts for this entity in the ranked set'}, 'metric': {'type': ['number', 'null'], 'description': 'EUR when by=spend, otherwise a count of acts'}}}}}}
Input schema
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'free-text search over the act title'}, 'cpv': {'type': 'string', 'description': 'CPV code (e.g. 79710000)'}, 'page': {'type': 'number', 'description': '1-based page number; pagination DEPTH is capped per plan'}, 'year': {'type': 'string', 'description': '4-digit issue year, e.g. 2026 — restricts to acts issued that year'}, 'region': {'type': 'string', 'description': 'NUTS region code prefix, e.g. EL30 (Attica), EL52 (Central Macedonia). Matches by prefix, so EL3 covers all of Attica.'}, 'source': {'enum': ['diavgeia', 'kimdis', 'ted'], 'type': 'string', 'description': 'filter by data source'}, 'status': {'enum': ['request', 'tender', 'award', 'contract', 'payment'], 'type': 'string'}, 'buyer_afm': {'type': 'string', 'description': '9-digit buyer ΑΦΜ'}, 'cancelled': {'type': 'boolean', 'description': 'only acts the source marked as cancelled'}, 'has_chain': {'type': 'boolean', 'description': 'only acts linked into a reconstructed lifecycle chain (request→tender→award→contract→payment)'}, 'page_size': {'type': 'number', 'description': 'max 200'}, 'budget_max': {'type': 'number', 'description': 'maximum amount_net in EUR'}, 'budget_min': {'type': 'number', 'description': 'minimum amount_net in EUR'}, 'price_only': {'type': 'boolean', 'description': 'only awards/contracts decided on lowest-price alone (award_criteria = Βάσει τιμής / Χαμηλότερη Τιμή), excluding most-economically-advantageous (MEAT) criteria'}, 'direct_award': {'type': 'boolean', 'description': 'only direct awards (procedure = απευθείας ανάθεση) — a published ΚΗΜΔΗΣ fact'}, 'supplier_afm': {'type': 'string', 'description': '9-digit supplier ΑΦΜ'}, 'single_bidder': {'type': 'boolean', 'description': 'only contracts where ≤1 bid was submitted (maxBidsSubmitted; single bidder)'}, 'deadline_after': {'type': 'string', 'description': 'ISO 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
{'type': 'object', 'required': ['data', 'page', 'page_size', 'total', 'next'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'kind', 'issued_at', 'source', 'redacted'], 'properties': {'id': {'type': 'string', 'description': "canonical act id — Διαύγεια ΑΔΑ, 'kimdis:<ΑΔΑΜ>' or 'ted:<publication-number>'"}, 'ada': {'type': ['string', 'null'], 'description': 'Διαύγεια ΑΔΑ'}, 'adam': {'type': ['string', 'null'], 'description': 'ΚΗΜΔΗΣ ΑΔΑΜ'}, 'kind': {'enum': ['request', 'tender', 'award', 'contract', 'payment'], 'type': 'string', 'description': 'lifecycle stage'}, 'nuts': {'type': ['string', 'null'], 'description': 'NUTS region code'}, 'title': {'type': ['string', 'null']}, 'source': {'enum': ['diavgeia', 'kimdis', 'ted'], 'type': 'string'}, 'revoked': {'type': 'boolean'}, 'chain_id': {'type': ['string', 'null'], 'description': 'lifecycle chain this act belongs to, null if unlinked'}, 'currency': {'type': ['string', 'null']}, 'deadline': {'type': ['string', 'null'], 'description': 'tender submission deadline (YYYY-MM-DD)'}, 'redacted': {'type': 'boolean', 'description': 'true when the counterparty is a natural person (GDPR)'}, 'buyer_afm': {'type': ['string', 'null'], 'description': '9-digit ΑΦΜ of the contracting authority'}, 'cancelled': {'type': 'boolean'}, 'esidis_id': {'type': ['string', 'null'], 'description': 'ΕΣΗΔΗΣ system id when published'}, 'issued_at': {'type': 'string', 'description': 'ISO-8601 issue timestamp'}, 'amount_net': {'type': ['number', 'null'], 'description': 'EUR excluding VAT'}, 'bids_count': {'type': ['number', 'null'], 'description': 'bids submitted (ΚΗΜΔΗΣ maxBidsSubmitted)'}, 'buyer_name': {'type': ['string', 'null']}, 'source_url': {'type': ['string', 'null'], 'description': 'permalink to the authoritative source record'}, 'cpv_primary': {'type': ['string', 'null'], 'description': 'primary CPV code'}, 'amount_check': {'type': ['string', 'null'], 'description': 'JSON verdict when the published amount looks wrong, e.g. {"outcome":"scale_suspect","original":809100000}'}, 'amount_gross': {'type': ['number', 'null'], 'description': 'EUR including VAT'}, 'supplier_afm': {'type': ['string', 'null'], 'description': '9-digit ΑΦΜ of a company supplier; a pseudonym "Φ-XXXXXXXXXX" for a natural-person contractor; null when the counterparty is a redacted natural person'}, 'award_criteria': {'type': ['string', 'null']}, 'procedure_type': {'type': ['string', 'null'], 'description': 'Ν.4412 procedure as published (Απευθείας ανάθεση, Ανοιχτή διαδικασία, …)'}, 'award_procedure': {'type': ['string', 'null'], 'description': 'statutory exception (art. 32 ν.4412/2016) the buyer invoked to skip a competitive call. Published on ~100% of «negotiated without prior publication» / «competitive procedure with negotiation» / «competitive dialogue» acts and on ~0% of others — so null means NOT REQUIRED, not missing, except on those three procedures where it is a genuine anomaly.'}, 'contract_budget_net': {'type': ['number', 'null'], 'description': "the document's own approved budget — compare with amount_net to spot cumulative/typo figures"}}}}, 'next': {'type': ['number', 'null'], 'description': 'next page NUMBER, or null when there are no more pages — not a URL'}, 'page': {'type': 'number'}, 'total': {'type': 'number', 'description': 'total acts matching the filters'}, 'page_size': {'type': 'number'}}}
Input schema
{'type': 'object', 'properties': {'year': {'type': 'string', 'description': '4-digit year; omit for all-time'}}}
Output schema
{'type': 'object', 'required': ['year', 'divisions'], 'properties': {'year': {'type': 'string', 'description': "the year filtered on, or 'all'"}, 'divisions': {'type': 'array', 'items': {'type': 'object', 'required': ['cpv_division', 'acts', 'spend'], 'properties': {'acts': {'type': 'number'}, 'spend': {'type': 'number', 'description': 'EUR'}, 'cpv_division': {'type': ['string', 'null'], 'description': '2-digit CPV division'}}}}}}
Recent tool changes
Similar MCP servers
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
synter-ads
Manages cross-platform advertising campaigns, audiences, tracking, creative, landing pages, campaign audits, technology intellige…
Stratalize Finance
Provides financial, macroeconomic, banking, credit, commodities, M&A, ESG, labor, and regulatory benchmarks for analysis and plan…
Stratalize Healthcare
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Governance
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Oracle
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Intelligence
Provides vendor, market, SaaS, workforce, government contract, public company, regulatory, competitive, and AI-brand intelligence…
Stratalize Real Estate
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…