KIMDIS

The Central Electronic Registry of Public Contracts (Κεντρικό Ηλεκτρονικό Μητρώο Δημοσίων Συμβάσεων): every step of Greek public procurement as the law requires it to be posted — the request for a purchase, the tender notice, the signed contract and the payment order — each with its ΑΔΑΜ code, the buying body, CPV items, amounts and the signed PDF.

Publisher
Ypourgeio Psifiakis Diakyvernisis — OPS ESIDIS (G.G. Pliroforiakon Systimaton & Psifiakis Diakyvernisis)
Licence
CC-BY-4.0
Attribution
Kentriko Ilektroniko Mitroo Dimosion Symvaseon — KIMDIS (eprocurement.gov.gr)

MCP server

https://agoramcp-server.vercel.app/gr/mcp/kimdis

HTTP API

https://agoramcp-server.vercel.app/gr/api/kimdis

Its own server, with the tools under their plain names. On Greece's server the same tools answer as kimdis_.

Tools

7 tools, each with the description a model is given, its arguments and the example it ships with. Over HTTP a tool answers at /gr/api/kimdis/{tool}; over MCP, as itself.

search_requests >Search purchase requests

Search the requests (πρωτογενή αιτήματα) with which Greek public bodies start a purchase: what they intend to buy, under which CPV codes, for how much, and the approval record that follows. Every Greek public purchase is posted to ΚΗΜΔΗΣ in four acts, each with an ΑΔΑΜ code: the request (REQ, what a body wants to buy and its budget), the notice (PROC, the tender or invitation to bid), the contract (SYMV, what was signed and for how much) and the payment (PAY, what was paid). Returns a page of 50 acts, newest posting first, each with its ΑΔΑΜ, title, buying body, amounts, CPV codes and a link to the signed PDF; get_document has the full record and get_document_text reads the PDF. Filters combine with AND. A request is posted twice — once as the request itself and once as its approval — and `kind` picks either or both. IMPORTANT: ΚΗΜΔΗΣ searches at most 180 days of posting dates per call — the last 180 by default, and the most recent 180 of a longer range. Read `coverage` for what was searched; its note says where to continue. Amounts cannot be filtered upstream; read `total` on each act instead. A query upstream has not seen before over a wide window can take 15-30 s the first time; the same query answers at once afterwards. Use search_organizations to turn a body's name into `organizationId`.

Arguments

titlestring, 2–100 characters
Words from the act's title. Case and accents are ignored; matched as a phrase.
organizationIdstring, matches ^\d+$
Only acts of this body, by its uid from search_organizations — the same uids Διαύγεια uses.
signerIdstring, matches ^\d+$
Only acts signed by this official, by the uid in `signer.id` on an act.
cpvstring, matches ^\d{8}-\d$
Only acts with an item under this CPV code, e.g. '33600000-6' for pharmaceuticals. Exact code, not a prefix.
contractTypestring, one of 9, 10, 12, 13, 14
Kind of contract: '9' Υπηρεσίες, '10' Έργα, '12' Μελέτες, '13' Προμήθειες, '14' Τεχνικές και λοιπές συναφείς επιστημονικές υπηρεσίες.
submittedFromstring, YYYY-MM-DD
Earliest posting date, inclusive. ΚΗΜΔΗΣ searches at most 180 days per call — see `coverage`.
submittedTostring, YYYY-MM-DD
Latest posting date, inclusive.
cancelledFromstring, YYYY-MM-DD
Only acts cancelled on or after this date — with cancelledTo, lists cancellations.
cancelledTostring, YYYY-MM-DD
Only acts cancelled on or before this date.
pageinteger, ≥ 0
Zero-based page number. Pages hold 50 acts; defaults to 0.
kindstring, one of initial, approval, all
'initial' the requests themselves, 'approval' their approval records, 'all' (default) both.

Example arguments

{
  "organizationId": "5001",
  "submittedFrom": "2026-08-01",
  "submittedTo": "2026-08-31",
  "kind": "initial"
}

search_notices >Search tender notices

Search the notices (προκηρύξεις, διακηρύξεις and προσκλήσεις) by which Greek public bodies invite bids: the tender, its estimated value, the award procedure, the CPV codes and the deadline for offers. This is where to answer 'which tenders are open for X?', 'what is the Ministry of Health buying this month?' or 'how much was tender Y estimated at?'. Every Greek public purchase is posted to ΚΗΜΔΗΣ in four acts, each with an ΑΔΑΜ code: the request (REQ, what a body wants to buy and its budget), the notice (PROC, the tender or invitation to bid), the contract (SYMV, what was signed and for how much) and the payment (PAY, what was paid). Returns a page of 50 acts, newest posting first, each with its ΑΔΑΜ, title, buying body, amounts, CPV codes and a link to the signed PDF; get_document has the full record and get_document_text reads the PDF. Filters combine with AND. IMPORTANT: ΚΗΜΔΗΣ searches at most 180 days of posting dates per call — the last 180 by default, and the most recent 180 of a longer range. Read `coverage` for what was searched; its note says where to continue. Amounts cannot be filtered upstream; read `total` on each act instead. A query upstream has not seen before over a wide window can take 15-30 s the first time; the same query answers at once afterwards. `deadlineFrom`/`deadlineTo` find tenders by when offers are due, which is how to list what is still open. Use search_organizations to turn a body's name into `organizationId`.

Arguments

titlestring, 2–100 characters
Words from the act's title. Case and accents are ignored; matched as a phrase.
organizationIdstring, matches ^\d+$
Only acts of this body, by its uid from search_organizations — the same uids Διαύγεια uses.
signerIdstring, matches ^\d+$
Only acts signed by this official, by the uid in `signer.id` on an act.
cpvstring, matches ^\d{8}-\d$
Only acts with an item under this CPV code, e.g. '33600000-6' for pharmaceuticals. Exact code, not a prefix.
contractTypestring, one of 9, 10, 12, 13, 14
Kind of contract: '9' Υπηρεσίες, '10' Έργα, '12' Μελέτες, '13' Προμήθειες, '14' Τεχνικές και λοιπές συναφείς επιστημονικές υπηρεσίες.
submittedFromstring, YYYY-MM-DD
Earliest posting date, inclusive. ΚΗΜΔΗΣ searches at most 180 days per call — see `coverage`.
submittedTostring, YYYY-MM-DD
Latest posting date, inclusive.
cancelledFromstring, YYYY-MM-DD
Only acts cancelled on or after this date — with cancelledTo, lists cancellations.
cancelledTostring, YYYY-MM-DD
Only acts cancelled on or before this date.
pageinteger, ≥ 0
Zero-based page number. Pages hold 50 acts; defaults to 0.
procedureTypestring, one of 1, 2, 4, 6, 7, 11, 12, 13, 18
Award procedure: '1' Ανοιχτή διαδικασία, '2' Κλειστή διαδικασία, '4' Ανταγωνιστικός διάλογος, '6' Απευθείας ανάθεση, '7' Ανταγωνιστική διαδικασία με διαπραγμάτευση, '11' (documented upstream, unused in recent notices), '12' Διαπραγμάτευση χωρίς προηγούμενη δημοσίευση, '13' Διαπραγμάτευση με προηγούμενη προκήρυξη διαγωνισμού (αρ. 266 ν. 4412/2016), '18' Διαδικασία άρθρου 128 ν. 4412/2016.
deadlineFromstring, YYYY-MM-DD
Only notices whose deadline for offers is on or after this date.
deadlineTostring, YYYY-MM-DD
Only notices whose deadline for offers is on or before this date.
amendmentsOnlyboolean
Only notices that amend an earlier notice. Defaults to false.
fundingReferencestring, up to 30 characters
Only notices funded under this public-investment programme reference (ΣΑ/ενάριθμος).

Example arguments

{
  "organizationId": "99221899",
  "submittedFrom": "2026-08-01",
  "submittedTo": "2026-08-31"
}

search_contracts >Search signed contracts

Search the contracts (συμβάσεις) Greek public bodies have signed: what was bought, from whom it was tendered, the award procedure, the value with and without VAT, the term, and the notice and award that led to it. This is where to answer 'what did body X contract for last month?' or 'how much did the contract for Y come to?'. Every Greek public purchase is posted to ΚΗΜΔΗΣ in four acts, each with an ΑΔΑΜ code: the request (REQ, what a body wants to buy and its budget), the notice (PROC, the tender or invitation to bid), the contract (SYMV, what was signed and for how much) and the payment (PAY, what was paid). Returns a page of 50 acts, newest posting first, each with its ΑΔΑΜ, title, buying body, amounts, CPV codes and a link to the signed PDF; get_document has the full record and get_document_text reads the PDF. Filters combine with AND. IMPORTANT: ΚΗΜΔΗΣ searches at most 180 days of posting dates per call — the last 180 by default, and the most recent 180 of a longer range. Read `coverage` for what was searched; its note says where to continue. Amounts cannot be filtered upstream; read `total` on each act instead. A query upstream has not seen before over a wide window can take 15-30 s the first time; the same query answers at once afterwards. `amendmentsOnly` lists modifications and extensions of earlier contracts. Use search_organizations to turn a body's name into `organizationId`.

Arguments

titlestring, 2–100 characters
Words from the act's title. Case and accents are ignored; matched as a phrase.
organizationIdstring, matches ^\d+$
Only acts of this body, by its uid from search_organizations — the same uids Διαύγεια uses.
signerIdstring, matches ^\d+$
Only acts signed by this official, by the uid in `signer.id` on an act.
cpvstring, matches ^\d{8}-\d$
Only acts with an item under this CPV code, e.g. '33600000-6' for pharmaceuticals. Exact code, not a prefix.
contractTypestring, one of 9, 10, 12, 13, 14
Kind of contract: '9' Υπηρεσίες, '10' Έργα, '12' Μελέτες, '13' Προμήθειες, '14' Τεχνικές και λοιπές συναφείς επιστημονικές υπηρεσίες.
submittedFromstring, YYYY-MM-DD
Earliest posting date, inclusive. ΚΗΜΔΗΣ searches at most 180 days per call — see `coverage`.
submittedTostring, YYYY-MM-DD
Latest posting date, inclusive.
cancelledFromstring, YYYY-MM-DD
Only acts cancelled on or after this date — with cancelledTo, lists cancellations.
cancelledTostring, YYYY-MM-DD
Only acts cancelled on or before this date.
pageinteger, ≥ 0
Zero-based page number. Pages hold 50 acts; defaults to 0.
amendmentsOnlyboolean
Only contracts that modify or extend an earlier contract. Defaults to false.

Example arguments

{
  "cpv": "33600000-6",
  "submittedFrom": "2026-08-01",
  "submittedTo": "2026-08-31"
}

search_payments >Search payment orders

Search the payment orders (εντολές πληρωμής) Greek public bodies post when money leaves the account: what was paid for, how much with and without VAT, the contract it settles, and the Διαύγεια commitment act behind it. This is where to answer 'what has body X actually paid for Y?' — a payment is the last act of a purchase, after the request, the notice and the contract. Every Greek public purchase is posted to ΚΗΜΔΗΣ in four acts, each with an ΑΔΑΜ code: the request (REQ, what a body wants to buy and its budget), the notice (PROC, the tender or invitation to bid), the contract (SYMV, what was signed and for how much) and the payment (PAY, what was paid). Returns a page of 50 acts, newest posting first, each with its ΑΔΑΜ, title, buying body, amounts, CPV codes and a link to the signed PDF; get_document has the full record and get_document_text reads the PDF. Filters combine with AND. IMPORTANT: ΚΗΜΔΗΣ searches at most 180 days of posting dates per call — the last 180 by default, and the most recent 180 of a longer range. Read `coverage` for what was searched; its note says where to continue. Amounts cannot be filtered upstream; read `total` on each act instead. A query upstream has not seen before over a wide window can take 15-30 s the first time; the same query answers at once afterwards. Use search_organizations to turn a body's name into `organizationId`.

Arguments

titlestring, 2–100 characters
Words from the act's title. Case and accents are ignored; matched as a phrase.
organizationIdstring, matches ^\d+$
Only acts of this body, by its uid from search_organizations — the same uids Διαύγεια uses.
signerIdstring, matches ^\d+$
Only acts signed by this official, by the uid in `signer.id` on an act.
cpvstring, matches ^\d{8}-\d$
Only acts with an item under this CPV code, e.g. '33600000-6' for pharmaceuticals. Exact code, not a prefix.
contractTypestring, one of 9, 10, 12, 13, 14
Kind of contract: '9' Υπηρεσίες, '10' Έργα, '12' Μελέτες, '13' Προμήθειες, '14' Τεχνικές και λοιπές συναφείς επιστημονικές υπηρεσίες.
submittedFromstring, YYYY-MM-DD
Earliest posting date, inclusive. ΚΗΜΔΗΣ searches at most 180 days per call — see `coverage`.
submittedTostring, YYYY-MM-DD
Latest posting date, inclusive.
cancelledFromstring, YYYY-MM-DD
Only acts cancelled on or after this date — with cancelledTo, lists cancellations.
cancelledTostring, YYYY-MM-DD
Only acts cancelled on or before this date.
pageinteger, ≥ 0
Zero-based page number. Pages hold 50 acts; defaults to 0.

Example arguments

{
  "organizationId": "5001",
  "submittedFrom": "2026-08-01",
  "submittedTo": "2026-08-31"
}

get_document >Get an act by ADAM

Fetch one act by its ΑΔΑΜ — a request (REQ), notice (PROC), contract (SYMV) or payment (PAY) — in full: the buying body, unit and signer, every item with its CPV code, quantity, unit price and VAT, the amounts, the award procedure and legal basis, funding, and `links` to the other acts of the same purchase and to the Διαύγεια acts it cites. Follow `links` to walk a purchase from request to payment: a payment names its contract, a contract its notice and award, a notice its approved requests. Award decisions (AWRD) are not served by the open-data API. Use the search tools when you do not have an ΑΔΑΜ, and get_document_text to read the signed PDF.

Arguments

adamstring, matches ^\d{2}(?:REQ|PROC|SYMV|PAY|AWRD)\d{9}$required
The act's ΑΔΑΜ, e.g. 26PROC019700906.

Example arguments

{
  "adam": "26PROC019700906"
}

get_document_text >Read an act's PDF

Read the text of the signed PDF behind an act — the tender document itself, the contract as signed, the payment order: the terms, the specifications, the tables of prices. The search tools and get_document return the registry's metadata; this is the only way to see what the act actually says. Text comes back page by page, 10 pages at a time by default and never more than 40,000 characters per call — read `nextPage` to continue a long tender. A scanned PDF has no text layer and comes back empty with a note saying so; the file itself is always at `documentUrl`.

Arguments

adamstring, matches ^\d{2}(?:REQ|PROC|SYMV|PAY|AWRD)\d{9}$required
The act's ΑΔΑΜ, e.g. 26PAY019700903.
fromPageinteger, ≥ 1
First page to return, 1-based. Defaults to 1.
maxPagesinteger, 1–50
Most pages to return, 1-50. Defaults to 10.

Example arguments

{
  "adam": "26PAY019700903",
  "maxPages": 2
}

search_organizations >Find a buying body

Find a Greek public body by name or VAT number (ΑΦΜ) and get the uid the search tools take as `organizationId`. ΚΗΜΔΗΣ keys its acts by the state's shared register of bodies — the same uids Διαύγεια uses, so a uid found here also works on Διαύγεια's tools and vice versa. Matching ignores case and accents. Covers the roughly 5,400 bodies currently active; `includeInactive` adds those dissolved or merged, which still appear on older acts.

Arguments

querystring, 2–120 charactersrequired
Part of the body's name in Greek, or its VAT number. Accents and case are ignored.
includeInactiveboolean
Include bodies that have been dissolved or merged. Defaults to false.
limitinteger, 1–100
Most bodies to return, 1-100. Defaults to 20.

Example arguments

{
  "query": "νοσοκομείο βόλου",
  "limit": 5
}