{"name":"agoramcp","version":"0.1.0","description":"MCP servers over Greek open government data.","countries":[{"country":"gr","name":"Greece","description":"Every public registry agoramcp mounts for Greece, in one server.","endpoint":"/gr/mcp","api":"/gr/api","sources":[{"id":"athens","name":"Δήμος Αθηναίων","prefix":"athens_","license":"Not stated — no dataset records a licence (see `licence` on every result)","attribution":"Δήμος Αθηναίων (opendata.cityofathens.gr) και η υπηρεσία που δημοσιεύει το κάθε σύνολο δεδομένων","tools":["athens_search_datasets","athens_get_dataset","athens_list_organizations","athens_list_tags","athens_list_facets","athens_query_resource","athens_read_resource"]},{"id":"datagov","name":"data.gov.gr","prefix":"datagov_","license":"Per dataset (ν. 4305/2014 open-data framework; see `licence` on every result)","attribution":"data.gov.gr και ο φορέας που δημοσιεύει το κάθε σύνολο δεδομένων (named on every result)","tools":["datagov_search_datasets","datagov_get_dataset","datagov_list_organizations","datagov_list_tags","datagov_list_facets","datagov_query_resource","datagov_read_resource"]},{"id":"diavgeia","name":"Διαύγεια","prefix":"diavgeia_","license":"CC-BY-4.0","attribution":"Πρόγραμμα ΔΙΑΥΓΕΙΑ (diavgeia.gov.gr)","tools":["diavgeia_search_decisions","diavgeia_search_decisions_advanced","diavgeia_get_decision","diavgeia_get_decision_text","diavgeia_get_decision_history","diavgeia_list_decision_types","diavgeia_get_decision_type","diavgeia_search_organizations","diavgeia_get_organization","diavgeia_list_organization_units","diavgeia_get_unit","diavgeia_list_organization_signers","diavgeia_get_signer","diavgeia_list_positions","diavgeia_list_thematic_categories","diavgeia_list_dictionaries","diavgeia_search_dictionary"]},{"id":"kimdis","name":"ΚΗΜΔΗΣ","prefix":"kimdis_","license":"CC-BY-4.0","attribution":"Κεντρικό Ηλεκτρονικό Μητρώο Δημοσίων Συμβάσεων — ΚΗΜΔΗΣ (eprocurement.gov.gr)","tools":["kimdis_search_requests","kimdis_search_notices","kimdis_search_contracts","kimdis_search_payments","kimdis_get_document","kimdis_get_document_text","kimdis_search_organizations"]},{"id":"mitos","name":"ΜΗΤΟΣ","prefix":"mitos_","license":"CC-BY-SA-4.0","attribution":"Εθνικό Μητρώο Διοικητικών Διαδικασιών «Μίτος» (mitos.gov.gr)","tools":["mitos_search_procedures","mitos_get_procedure","mitos_list_life_events","mitos_list_audiences","mitos_list_recent_procedures","mitos_search_organizations","mitos_get_organization"]},{"id":"noa","name":"Σεισμοί — Γεωδυναμικό Ινστιτούτο ΕΑΑ","prefix":"noa_","license":"CC-BY-4.0","attribution":"Γεωδυναμικό Ινστιτούτο, Εθνικό Αστεροσκοπείο Αθηνών — Ελληνικό Ενοποιημένο Σεισμολογικό Δίκτυο (eida.gein.noa.gr)","tools":["noa_search_earthquakes","noa_get_earthquake","noa_list_recent_earthquakes"]},{"id":"vies","name":"VIES — Έλεγχος ΑΦΜ","prefix":"vies_","license":"Not stated — each answer is relayed live from a member state's own VAT register","attribution":"VIES — European Commission, DG TAXUD (ec.europa.eu/taxation_customs/vies)· τα ελληνικά στοιχεία προέρχονται από το μητρώο ΦΠΑ της ΑΑΔΕ","tools":["vies_check_vat_number","vies_list_member_states"]}]}],"sources":[{"key":"gr/athens","country":"gr","id":"athens","name":"Δήμος Αθηναίων","description":"The City of Athens open-data portal: 460+ datasets on the city itself — daily visitor counts from the Smart Neighbourhood WiFi network, parks and green space, street furniture and GIS layers, traffic and municipal services — with the tabular ones queryable in place.","publisher":"Δήμος Αθηναίων — Πύλη Ανοικτών Δεδομένων (opendata.cityofathens.gr)","license":"Not stated — no dataset records a licence (see `licence` on every result)","attribution":"Δήμος Αθηναίων (opendata.cityofathens.gr) και η υπηρεσία που δημοσιεύει το κάθε σύνολο δεδομένων","upstreamUrl":"https://opendata.cityofathens.gr","endpoint":"/gr/mcp/athens","api":"/gr/api/athens","tools":[{"name":"search_datasets","title":"Search opendata.cityofathens.gr datasets","description":"Search the datasets catalogued on opendata.cityofathens.gr — the City of Athens' own catalogue of 460+ datasets: daily WiFi visitor counts per Smart Neighbourhood station, parks and green space, GIS layers of the city, traffic and municipal services. Returns each dataset's slug, title, publishing body, licence, themes, formats and whether its rows can be queried here; get_dataset lists its files. `text` searches titles and descriptions (Solr: quote a phrase, AND/OR between words; a bare word matches anywhere). Filters combine with AND: `organization` takes the slug from list_organizations, `tag` an exact tag from list_tags, `format` a file format such as 'CSV' or 'GeoJSON', `licence` a licence id from list_facets, `theme` one of the EU data themes. Most datasets are geospatial layers (WMS, GeoJSON); `queryableOnly` keeps those whose rows are in the datastore and can be filtered with query_resource. A catalogue entry is a description of data, not the data: to read rows, pick a resource from get_dataset and use query_resource (datastore) or read_resource (the file).","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"description":"Words from the title or description. Case and accents are ignored.","type":"string","minLength":1,"maxLength":200},"organization":{"description":"Slug of the publishing body, from list_organizations, e.g. 'chania'.","type":"string","minLength":1,"maxLength":100},"tag":{"description":"An exact tag, from list_tags.","type":"string","minLength":1,"maxLength":100},"format":{"description":"A file format the dataset has a resource in: 'CSV', 'XLSX', 'GeoJSON', 'WMS', …","type":"string","minLength":1,"maxLength":40},"licence":{"description":"A licence id, e.g. 'cc-by', 'odc-odbl', 'other-open', 'notspecified'. list_facets with 'licence' lists them.","type":"string","minLength":1,"maxLength":120},"theme":{"description":"EU data theme: 'AGRI' Agriculture, fisheries, forestry and food, 'ECON' Economy and finance, 'EDUC' Education, culture and sport, 'ENER' Energy, 'ENVI' Environment, 'GOVE' Government and public sector, 'HEAL' Health, 'INTR' International issues, 'JUST' Justice, legal system and public safety, 'REGI' Regions and cities, 'SOCI' Population and society, 'TECH' Science and technology, 'TRAN' Transport.","type":"string","enum":["AGRI","ECON","EDUC","ENER","ENVI","GOVE","HEAL","INTR","JUST","REGI","SOCI","TECH","TRAN"]},"queryableOnly":{"description":"Only datasets with at least one resource in the datastore. Applied to each page after the search, so a page may come back short. Defaults to false.","type":"boolean"},"sort":{"description":"'relevance' (default), 'modified' newest first, or 'title'.","type":"string","enum":["relevance","modified","title"]},"page":{"description":"Zero-based page number. Defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991},"size":{"description":"Datasets per page, 1-100. Defaults to 20.","type":"integer","minimum":1,"maximum":100}},"additionalProperties":false},"example":{"text":"πάρκα","size":5}},{"name":"get_dataset","title":"Get a dataset and its files","description":"Fetch one dataset from opendata.cityofathens.gr by its slug or id: the full description, publisher and contact, licence, tags, EU theme, update frequency, coverage, and every resource (file or service) it publishes — each with its format, size, URL, and whether it is `queryable` (loaded into the datastore, so query_resource can filter its rows) or only downloadable. This is the step between finding a dataset and reading it: pick the resource, then query_resource for a queryable one or read_resource for a CSV/JSON file.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dataset":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[a-z0-9_-]+$","description":"The dataset's slug from search_datasets (`name`), or its UUID."}},"required":["dataset"],"additionalProperties":false},"example":{"dataset":"wifi-highest-visitors-all-stations"}},{"name":"list_organizations","title":"List publishing bodies","description":"List the bodies that publish on opendata.cityofathens.gr — ministries, regions, municipalities, agencies — with the slug `organization` on search_datasets takes and how many datasets each has, most first. `query` narrows by name (case and accents ignored). Bodies with no datasets are left out unless `includeEmpty` is set.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"description":"Part of the body's name, in Greek or as the slug.","type":"string","minLength":1,"maxLength":100},"includeEmpty":{"description":"Include bodies registered with no datasets. Defaults to false.","type":"boolean"},"limit":{"description":"Most bodies to return, 1-500. Defaults to 50.","type":"integer","minimum":1,"maximum":500}},"additionalProperties":false},"example":{"limit":5}},{"name":"list_tags","title":"Find tags","description":"Find the tags datasets on opendata.cityofathens.gr carry, by part of the word — the exact spelling `tag` on search_datasets needs. Tags are free text from thousands of publishers, so the same idea appears in several spellings and cases; match the one you find.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":100,"description":"Part of a tag. Case-insensitive; accents must match."},"limit":{"description":"Most tags to return. Defaults to 50.","type":"integer","minimum":1,"maximum":500}},"required":["query"],"additionalProperties":false},"example":{"query":"wifi","limit":10}},{"name":"list_facets","title":"Count datasets by licence, format, theme…","description":"How the catalogue on opendata.cityofathens.gr divides up: the datasets under each licence, file format, EU data theme, update frequency, dataset type or high-value-dataset category, most first. The values are what search_datasets takes for `licence`, `format` and `theme`. Licences matter here: this catalogue carries many, some non-commercial, and each dataset's own applies.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"facet":{"type":"string","enum":["licence","format","theme","frequency","hvd","type"],"description":"'licence', 'format', 'theme', 'frequency', 'hvd' (high-value-dataset category) or 'type' (dataset type)."}},"required":["facet"],"additionalProperties":false},"example":{"facet":"theme"}},{"name":"query_resource","title":"Query a resource's rows","description":"Read rows from a resource opendata.cityofathens.gr has loaded into its datastore — the ones get_dataset marks `queryable` — with filters, full-text search, sorting and paging done upstream. Returns the columns with their types, the matching row count and a page of records. `filters` is a JSON object of exact column matches, e.g. {\"Demos\": \"ΑΘΗΝΑΙΩΝ\"}; `text` matches any column; `sort` is 'column asc' or 'column desc'; `fields` picks columns. Column names are the publisher's, as the first call shows them. Not every resource is queryable — a resource that is not gets a not-found error; use read_resource on the file instead.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"resourceId":{"type":"string","pattern":"^[0-9a-f-]{36}$","description":"The resource's UUID, from get_dataset."},"text":{"description":"Full-text search across all columns.","type":"string","minLength":1,"maxLength":200},"filters":{"description":"JSON object of column → exact value, e.g. {\"Demos\":\"ΑΘΗΝΑΙΩΝ\"}.","type":"string","minLength":2,"maxLength":2000},"fields":{"description":"Comma-separated column names to return. Defaults to all.","type":"string","minLength":1,"maxLength":1000},"sort":{"description":"'column asc' or 'column desc'; several separated by commas.","type":"string","minLength":1,"maxLength":200},"limit":{"description":"Rows to return, 1-1000. Defaults to 50.","type":"integer","minimum":1,"maximum":1000},"offset":{"description":"Rows to skip. Defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["resourceId"],"additionalProperties":false},"example":{"resourceId":"1cdccaf9-c11b-4393-b3c7-cf9d3f78ad0f","filters":"{\"neighbourhood_name\":\"ΙΠΠΟΚΡΑΤΕΙΟ\"}","sort":"date desc","limit":5}},{"name":"read_resource","title":"Read a resource's file","description":"Fetch the file behind a resource on opendata.cityofathens.gr that is not in the datastore and read it here: a CSV (any delimiter, UTF-8 or Windows-1253) comes back as columns and rows, a JSON or GeoJSON file as its document with arrays paged. Files over 8 MB, spreadsheets, PDFs, map services and pages that turn out to be HTML are refused with the URL, which is what to hand the user then. Prefer query_resource where get_dataset marks the resource queryable — it filters upstream; this reads the whole file to show a slice.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"resourceId":{"type":"string","pattern":"^[0-9a-f-]{36}$","description":"The resource's UUID, from get_dataset."},"offset":{"description":"Rows (or array items) to skip. Defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"description":"Rows (or array items) to return, 1-500. Defaults to 50.","type":"integer","minimum":1,"maximum":500}},"required":["resourceId"],"additionalProperties":false},"example":{"resourceId":"e1c5f7de-feef-43af-bbec-f8247a47f2ee","limit":3}}]},{"key":"gr/datagov","country":"gr","id":"datagov","name":"data.gov.gr","description":"The national open-data catalogue: 22,000+ datasets from 370 ministries, regions, municipalities and agencies — geospatial layers, statistics, registers, budgets, measurements — each with its publisher, licence and files, and the rows of the tabular ones queryable in place.","publisher":"Υπουργείο Ψηφιακής Διακυβέρνησης — Εθνικός Κατάλογος Ανοικτών Δεδομένων (data.gov.gr)","license":"Per dataset (ν. 4305/2014 open-data framework; see `licence` on every result)","attribution":"data.gov.gr και ο φορέας που δημοσιεύει το κάθε σύνολο δεδομένων (named on every result)","upstreamUrl":"https://data.gov.gr","endpoint":"/gr/mcp/datagov","api":"/gr/api/datagov","tools":[{"name":"search_datasets","title":"Search data.gov.gr datasets","description":"Search the datasets catalogued on data.gov.gr — the national catalogue of 22,000+ datasets from ministries, regions, municipalities and agencies: geospatial layers, statistics, registers, budgets, measurements. Returns each dataset's slug, title, publishing body, licence, themes, formats and whether its rows can be queried here; get_dataset lists its files. `text` searches titles and descriptions (Solr: quote a phrase, AND/OR between words; a bare word matches anywhere). Filters combine with AND: `organization` takes the slug from list_organizations, `tag` an exact tag from list_tags, `format` a file format such as 'CSV' or 'GeoJSON', `licence` a licence id from list_facets, `theme` one of the EU data themes. Most datasets are geospatial layers (WMS, GeoJSON); `queryableOnly` keeps those whose rows are in the datastore and can be filtered with query_resource. A catalogue entry is a description of data, not the data: to read rows, pick a resource from get_dataset and use query_resource (datastore) or read_resource (the file).","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"description":"Words from the title or description. Case and accents are ignored.","type":"string","minLength":1,"maxLength":200},"organization":{"description":"Slug of the publishing body, from list_organizations, e.g. 'chania'.","type":"string","minLength":1,"maxLength":100},"tag":{"description":"An exact tag, from list_tags.","type":"string","minLength":1,"maxLength":100},"format":{"description":"A file format the dataset has a resource in: 'CSV', 'XLSX', 'GeoJSON', 'WMS', …","type":"string","minLength":1,"maxLength":40},"licence":{"description":"A licence id, e.g. 'cc-by', 'odc-odbl', 'other-open', 'notspecified'. list_facets with 'licence' lists them.","type":"string","minLength":1,"maxLength":120},"theme":{"description":"EU data theme: 'AGRI' Agriculture, fisheries, forestry and food, 'ECON' Economy and finance, 'EDUC' Education, culture and sport, 'ENER' Energy, 'ENVI' Environment, 'GOVE' Government and public sector, 'HEAL' Health, 'INTR' International issues, 'JUST' Justice, legal system and public safety, 'REGI' Regions and cities, 'SOCI' Population and society, 'TECH' Science and technology, 'TRAN' Transport.","type":"string","enum":["AGRI","ECON","EDUC","ENER","ENVI","GOVE","HEAL","INTR","JUST","REGI","SOCI","TECH","TRAN"]},"queryableOnly":{"description":"Only datasets with at least one resource in the datastore. Applied to each page after the search, so a page may come back short. Defaults to false.","type":"boolean"},"sort":{"description":"'relevance' (default), 'modified' newest first, or 'title'.","type":"string","enum":["relevance","modified","title"]},"page":{"description":"Zero-based page number. Defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991},"size":{"description":"Datasets per page, 1-100. Defaults to 20.","type":"integer","minimum":1,"maximum":100}},"additionalProperties":false},"example":{"text":"σχολεία","format":"CSV","size":5}},{"name":"get_dataset","title":"Get a dataset and its files","description":"Fetch one dataset from data.gov.gr by its slug or id: the full description, publisher and contact, licence, tags, EU theme, update frequency, coverage, and every resource (file or service) it publishes — each with its format, size, URL, and whether it is `queryable` (loaded into the datastore, so query_resource can filter its rows) or only downloadable. This is the step between finding a dataset and reading it: pick the resource, then query_resource for a queryable one or read_resource for a CSV/JSON file.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dataset":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[a-z0-9_-]+$","description":"The dataset's slug from search_datasets (`name`), or its UUID."}},"required":["dataset"],"additionalProperties":false},"example":{"dataset":"scholikes-monades-dimoy-naypaktias"}},{"name":"list_organizations","title":"List publishing bodies","description":"List the bodies that publish on data.gov.gr — ministries, regions, municipalities, agencies — with the slug `organization` on search_datasets takes and how many datasets each has, most first. `query` narrows by name (case and accents ignored). Bodies with no datasets are left out unless `includeEmpty` is set.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"description":"Part of the body's name, in Greek or as the slug.","type":"string","minLength":1,"maxLength":100},"includeEmpty":{"description":"Include bodies registered with no datasets. Defaults to false.","type":"boolean"},"limit":{"description":"Most bodies to return, 1-500. Defaults to 50.","type":"integer","minimum":1,"maximum":500}},"additionalProperties":false},"example":{"query":"δήμος","limit":10}},{"name":"list_tags","title":"Find tags","description":"Find the tags datasets on data.gov.gr carry, by part of the word — the exact spelling `tag` on search_datasets needs. Tags are free text from thousands of publishers, so the same idea appears in several spellings and cases; match the one you find.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":100,"description":"Part of a tag. Case-insensitive; accents must match."},"limit":{"description":"Most tags to return. Defaults to 50.","type":"integer","minimum":1,"maximum":500}},"required":["query"],"additionalProperties":false},"example":{"query":"νερ","limit":10}},{"name":"list_facets","title":"Count datasets by licence, format, theme…","description":"How the catalogue on data.gov.gr divides up: the datasets under each licence, file format, EU data theme, update frequency, dataset type or high-value-dataset category, most first. The values are what search_datasets takes for `licence`, `format` and `theme`. Licences matter here: this catalogue carries many, some non-commercial, and each dataset's own applies.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"facet":{"type":"string","enum":["licence","format","theme","frequency","hvd","type"],"description":"'licence', 'format', 'theme', 'frequency', 'hvd' (high-value-dataset category) or 'type' (dataset type)."}},"required":["facet"],"additionalProperties":false},"example":{"facet":"licence"}},{"name":"query_resource","title":"Query a resource's rows","description":"Read rows from a resource data.gov.gr has loaded into its datastore — the ones get_dataset marks `queryable` — with filters, full-text search, sorting and paging done upstream. Returns the columns with their types, the matching row count and a page of records. `filters` is a JSON object of exact column matches, e.g. {\"Demos\": \"ΑΘΗΝΑΙΩΝ\"}; `text` matches any column; `sort` is 'column asc' or 'column desc'; `fields` picks columns. Column names are the publisher's, as the first call shows them. Not every resource is queryable — a resource that is not gets a not-found error; use read_resource on the file instead.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"resourceId":{"type":"string","pattern":"^[0-9a-f-]{36}$","description":"The resource's UUID, from get_dataset."},"text":{"description":"Full-text search across all columns.","type":"string","minLength":1,"maxLength":200},"filters":{"description":"JSON object of column → exact value, e.g. {\"Demos\":\"ΑΘΗΝΑΙΩΝ\"}.","type":"string","minLength":2,"maxLength":2000},"fields":{"description":"Comma-separated column names to return. Defaults to all.","type":"string","minLength":1,"maxLength":1000},"sort":{"description":"'column asc' or 'column desc'; several separated by commas.","type":"string","minLength":1,"maxLength":200},"limit":{"description":"Rows to return, 1-1000. Defaults to 50.","type":"integer","minimum":1,"maximum":1000},"offset":{"description":"Rows to skip. Defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["resourceId"],"additionalProperties":false},"example":{"resourceId":"303d3452-7bf8-46f4-a506-0160fea2184b","filters":"{\"Demos\":\"ΑΘΗΝΑΙΩΝ\"}","limit":5}},{"name":"read_resource","title":"Read a resource's file","description":"Fetch the file behind a resource on data.gov.gr that is not in the datastore and read it here: a CSV (any delimiter, UTF-8 or Windows-1253) comes back as columns and rows, a JSON or GeoJSON file as its document with arrays paged. Files over 8 MB, spreadsheets, PDFs, map services and pages that turn out to be HTML are refused with the URL, which is what to hand the user then. Prefer query_resource where get_dataset marks the resource queryable — it filters upstream; this reads the whole file to show a slice.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"resourceId":{"type":"string","pattern":"^[0-9a-f-]{36}$","description":"The resource's UUID, from get_dataset."},"offset":{"description":"Rows (or array items) to skip. Defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"description":"Rows (or array items) to return, 1-500. Defaults to 50.","type":"integer","minimum":1,"maximum":500}},"required":["resourceId"],"additionalProperties":false},"example":{"resourceId":"303d3452-7bf8-46f4-a506-0160fea2184b","limit":5}}]},{"key":"gr/diavgeia","country":"gr","id":"diavgeia","name":"Διαύγεια","description":"Every administrative act the Greek state publishes under the Transparency Programme (ν. 4305/2014): appointments, expenditure, contract awards and regulatory decisions, each carrying a unique ΑΔΑ and a signed PDF.","publisher":"Υπουργείο Ψηφιακής Διακυβέρνησης — Πρόγραμμα ΔΙΑΥΓΕΙΑ","license":"CC-BY-4.0","attribution":"Πρόγραμμα ΔΙΑΥΓΕΙΑ (diavgeia.gov.gr)","upstreamUrl":"https://diavgeia.gov.gr/opendata","endpoint":"/gr/mcp/diavgeia","api":"/gr/api/diavgeia","tools":[{"name":"search_decisions","title":"Search Διαύγεια decisions","description":"Search the Greek transparency register of administrative acts. Returns matching decisions with their ΑΔΑ, subject, issuing body, declared expenditure and a link to the signed PDF. Filters combine with AND. Use `text` for a free-text search across the whole record and `subject` to match only the act's subject line. IMPORTANT: Διαύγεια searches at most 180 days of issue dates per call. With no date range it searches the last six months; with a longer range it silently truncates to the first 180 days from `issuedFrom`. To cover a longer period, repeat the search over consecutive windows and read `coverage` to see what each call actually searched — `coverage.note` says where to continue. The archive goes back to 2010. Call `list_decision_types` first if you need a valid `decisionType` code, and `search_organizations` to turn a body's name into an `organizationId`. For OR between values, several bodies or types at once, or type-specific fields, use search_decisions_advanced. This searches act metadata, not the text inside the PDFs.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"description":"Free-text search across the whole record, including the subject and the issuing body.","type":"string","minLength":1,"maxLength":200},"subject":{"description":"Match only against the act's subject line. Narrower and more precise than `text`.","type":"string","minLength":1,"maxLength":200},"protocolNumber":{"description":"The body's own reference number for the act (αριθμός πρωτοκόλλου), matched exactly. Bodies number independently, so combine with organizationId.","type":"string","minLength":1,"maxLength":60},"organizationId":{"description":"Numeric uid of the issuing body, from search_organizations or `organization.id` on a previous result.","type":"string","minLength":1},"unitId":{"description":"Numeric uid of the issuing unit within the body, from list_organization_units.","type":"string","minLength":1},"signerId":{"description":"Numeric uid of the signing official.","type":"string","minLength":1},"decisionType":{"description":"Decision type code such as 'Β.2.2' (payment) or 'Δ.1' (award). Get valid codes from list_decision_types.","type":"string","minLength":1},"thematicCategory":{"description":"Thematic category code, e.g. '20' for finance. Get valid codes from list_thematic_categories.","type":"string","minLength":1},"issuedFrom":{"description":"Earliest issue (signing) date, inclusive. Required to search beyond the last six months.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"issuedTo":{"description":"Latest issue (signing) date, inclusive.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"publishedFrom":{"description":"Earliest publication date, inclusive — when the act appeared on Διαύγεια, which can be days after it was signed. The issue-date window still applies alongside this.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"publishedTo":{"description":"Latest publication date, inclusive.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"status":{"description":"'published' (default) returns only acts currently in force; 'revoked' only acts that have been withdrawn; 'all' both.","type":"string","enum":["published","revoked","all"]},"page":{"description":"Zero-based page number. Defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991},"size":{"description":"Results per page, 1-100. Defaults to 20.","type":"integer","minimum":1,"maximum":100}},"additionalProperties":false},"example":{"subject":"προμήθεια","issuedFrom":"2026-01-01","issuedTo":"2026-01-31","size":5}},{"name":"search_decisions_advanced","title":"Search Διαύγεια decisions with a Lucene query","description":"Search the register with a Lucene query written by hand, for what the fixed filters of search_decisions cannot express: OR between values, several bodies or types at once, numeric ranges, and the type-specific fields that get_decision_type lists as `searchField`. Returns the same shape as search_decisions. Syntax: `field:\"value\"` clauses joined with AND or OR and grouped with parentheses; ranges as `field:[a TO b]` with both bounds given; dates as `DT(YYYY-MM-DDTHH:MM:SS)` in Athens time, e.g. issueDate:[DT(2026-01-01T00:00:00) TO DT(2026-03-31T23:59:59)]. NOT, `-`, wildcards and open ranges (`*`) are rejected. Fields: q (whole record), subject, ada, protocolNumber, organizationUid, unitUid, signerUid, decisionTypeUid, thematicCategoryUid, status (\"Αναρτημένη\" in force, \"Ανακληθείσα\" revoked), issueDate, publishTimestamp, documentType, plus per-type fields such as cpv, assignmentType, textFinancialYear, employerOrg and numberOfPeople. Two things upstream does on its own: it caps issueDate at 180 days from the start of the range (no range means the last six months), and it applies no status filter, so revoked acts are included unless you add status:\"Αναρτημένη\". `upstreamQuery` shows exactly what ran; a malformed query is rejected with upstream's own message.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":2000,"description":"The Lucene query, e.g. (decisionTypeUid:\"Δ.1\" OR decisionTypeUid:\"Δ.2.2\") AND cpv:\"33600000-6\"."},"page":{"description":"Zero-based page number. Defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991},"size":{"description":"Results per page, 1-100. Defaults to 20.","type":"integer","minimum":1,"maximum":100}},"required":["query"],"additionalProperties":false},"example":{"query":"(decisionTypeUid:\"Δ.1\" OR decisionTypeUid:\"Δ.2.2\") AND organizationUid:\"99221912\" AND status:\"Αναρτημένη\" AND issueDate:[DT(2026-01-01T00:00:00) TO DT(2026-06-30T23:59:59)]","size":5}},{"name":"get_decision","title":"Get a Διαύγεια decision by ΑΔΑ","description":"Fetch one published administrative act by its ΑΔΑ (the unique code Διαύγεια assigns on publication, e.g. 9ΓΓ346ΝΨ2Ν-Β5Τ). Returns the full record: subject, issuing body, signers, declared expenditure with budget codes, type-specific fields, any attached files, and a link to the signed PDF. Use search_decisions when you do not already have an ΑΔΑ, get_decision_text to read what the PDF says, and get_decision_history to see whether the act was corrected or revoked.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ada":{"type":"string","pattern":"^[0-9A-ZΑ-Ω]{4,}-[0-9A-ZΑ-Ω]{3}$","description":"The act's ΑΔΑ, e.g. 9ΓΓ346ΝΨ2Ν-Β5Τ."}},"required":["ada"],"additionalProperties":false},"example":{"ada":"9ΓΓ346ΝΨ2Ν-Β5Τ"}},{"name":"get_decision_text","title":"Read a decision's PDF","description":"Read the text of the signed PDF behind an act — the decision itself rather than the record around it: the reasoning, the articles, the amounts in the tables, the names. search_decisions and get_decision return only metadata; this is the only way to see what an 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 act. A scanned PDF has no text layer and comes back empty with a note saying so; the file itself is always at `documentUrl`.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ada":{"type":"string","pattern":"^[0-9A-ZΑ-Ω]{4,}-[0-9A-ZΑ-Ω]{3}$","description":"The act's ΑΔΑ, e.g. ΨΕ1Ψ46ΨΧΞ5-ΝΝΖ."},"fromPage":{"description":"First page to return, 1-based. Defaults to 1.","type":"integer","minimum":1,"maximum":9007199254740991},"maxPages":{"description":"Most pages to return, 1-50. Defaults to 10.","type":"integer","minimum":1,"maximum":50}},"required":["ada"],"additionalProperties":false},"example":{"ada":"ΨΕ1Ψ46ΨΧΞ5-ΝΝΖ","maxPages":2}},{"name":"get_decision_history","title":"Get a decision's version history","description":"List every version filed under one ΑΔΑ, oldest first, with when each was filed, its status and the note the body entered. This is how to answer 'is this act still in force?', 'was it corrected, and when?' and 'why was it revoked?' — a correction keeps the ΑΔΑ and adds a version; a revocation adds versions in PENDING_REVOCATION and then REVOKED, usually with the reason as the note. get_decision returns only the current version.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ada":{"type":"string","pattern":"^[0-9A-ZΑ-Ω]{4,}-[0-9A-ZΑ-Ω]{3}$","description":"The act's ΑΔΑ, e.g. 9ΓΓ346ΝΨ2Ν-Β5Τ."}},"required":["ada"],"additionalProperties":false},"example":{"ada":"630ΜΩ1Ρ-ΤΧΝ"}},{"name":"list_decision_types","title":"List Διαύγεια decision types","description":"List the controlled vocabulary of decision types, with each code, its Greek label and its parent group. These codes are the valid values for the `decisionType` filter on search_decisions — call this first rather than guessing a code. get_decision_type explains what an act of one type carries.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"includeGroups":{"description":"Include the parent grouping nodes that cannot themselves be assigned to an act. Defaults to false.","type":"boolean"}},"additionalProperties":false},"example":{}},{"name":"get_decision_type","title":"Describe a Διαύγεια decision type","description":"Describe one decision type: its label, its group, and every field an act of that type carries beyond the common record — the keys that appear in `extraFields` on get_decision, with their meaning, whether they are required, the closed set of values where there is one, and the vocabulary they draw from. Each field also names its `searchField`: the Lucene field to use in search_decisions_advanced, or null when the field is not indexed. Use it to interpret an act's type-specific data, or to find out what can be filtered on — e.g. that awards (Δ.1) carry `cpv` and `assignmentType`, both searchable, and `awardAmount`, which is not.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":20,"description":"Decision type code from list_decision_types, e.g. 'Δ.1' or 'Β.2.2'."}},"required":["code"],"additionalProperties":false},"example":{"code":"Δ.1"}},{"name":"search_organizations","title":"Find a Greek public body","description":"Find a Greek public body by name or VAT number (ΑΦΜ), and get the numeric uid that search_decisions needs for its `organizationId` filter. Matching ignores case and accents, so 'Καλαμάτας', 'καλαματα' and 'ΚΑΛΑΜΑΤΑΣ' are equivalent. This is the usual first step when the user names a ministry, municipality or hospital rather than a uid: find the body here, then pass its `id` to search_decisions. Covers the roughly 5,400 bodies currently active; `includeInactive` adds the 400 or so that have been dissolved or merged, which still appear as the issuer of older acts.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":120,"description":"Part of the body's name in Greek, or its VAT number. Accents and case are ignored."},"category":{"description":"Restrict to one category, e.g. 'MINISTRY', 'NPDD', 'OTA1'. Case-insensitive; search_dictionary with ORG_CATEGORY lists them.","type":"string","minLength":1},"includeInactive":{"description":"Include bodies that have been dissolved or merged, and the few pending registration. Defaults to false.","type":"boolean"},"limit":{"description":"Most bodies to return, 1-100. Defaults to 20.","type":"integer","minimum":1,"maximum":100}},"required":["query"],"additionalProperties":false},"example":{"query":"δήμος αθηναίων","limit":5}},{"name":"get_organization","title":"Get a Greek public body","description":"Fetch the full register record of one public body by its numeric uid: official name, VAT number, category, website, the body that supervises it and the Government Gazette issue that established it. Use search_organizations when you have a name rather than a uid.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"organizationId":{"type":"string","pattern":"^\\d+$","description":"Numeric uid of the body, e.g. 99221912."}},"required":["organizationId"],"additionalProperties":false},"example":{"organizationId":"99221912"}},{"name":"list_organization_units","title":"List a body's units","description":"List the departments, directorates and branches of one public body, with the uid of each. These uids are the valid values for the `unitId` filter on search_decisions, which narrows a search from a whole ministry to one directorate inside it. Units nest: `parentId` points at the containing unit, or at the body itself for a top-level one. Defunct units are excluded unless `includeInactive` is set — they still appear on the older acts they signed.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"organizationId":{"type":"string","pattern":"^\\d+$","description":"Numeric uid of the body whose units to list."},"includeInactive":{"description":"Include units that have been dissolved or merged. Defaults to false.","type":"boolean"}},"required":["organizationId"],"additionalProperties":false},"example":{"organizationId":"99221912"}},{"name":"get_unit","title":"Get a unit by uid","description":"Resolve the uid of a unit — a department, directorate or branch — into its name, category, active dates and what it sits inside, without knowing which body it belongs to. Decisions carry only `unitIds`; this is how to name the office that issued one. `parent` is the containing unit, or the body itself for a top-level unit. Use list_organization_units to see a body's whole structure.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"unitId":{"type":"string","pattern":"^\\d+$","description":"Numeric uid of the unit, e.g. 75159."}},"required":["unitId"],"additionalProperties":false},"example":{"unitId":"75159"}},{"name":"list_organization_signers","title":"List who signs for a body","description":"List the officials registered to sign acts for one public body: name, the posts they hold and in which units, and whether they may sign for the body as a whole rather than for one unit. This answers 'who runs this hospital?' or 'who can sign for the ministry?' — the head of a body is the signer with `canSignForOrganization` and a top-level posting, listed first. Each `id` is a valid `signerId` filter on search_decisions. Officials who have left are excluded unless `includeInactive` is set; they still appear on the acts they signed.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"organizationId":{"type":"string","pattern":"^\\d+$","description":"Numeric uid of the body whose signers to list."},"includeInactive":{"description":"Include officials whose signing rights have ended. Defaults to false.","type":"boolean"}},"required":["organizationId"],"additionalProperties":false},"example":{"organizationId":"99221912"}},{"name":"get_signer","title":"Get a Διαύγεια signer","description":"Resolve the uid of an official who signed an act into a person: name, the body they belong to, the posts they hold and in which units. Decisions carry only `signerIds`, which say nothing on their own — this is how to answer 'who signed this?'. The uid is also a valid `signerId` filter on search_decisions, so this doubles as the way to check whose acts you are about to list. list_organization_signers goes the other way, from a body to everyone who signs for it.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"signerId":{"type":"string","pattern":"^\\d+$","description":"Numeric uid from `signerIds` on a decision."}},"required":["signerId"],"additionalProperties":false},"example":{"signerId":"100090423"}},{"name":"list_positions","title":"List position titles","description":"List the position titles the register knows — Υπουργός, Διοικητής, Προϊστάμενος Τμήματος — either the roughly 230 used anywhere in the state, or only the ones one body uses. `positionId` on a signer's postings refers to these, as does the `position` field on acts appointing secretaries-general (type 100). Mostly a lookup for a code or a title you have been given; the signer tools already carry the title alongside the code.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"organizationId":{"description":"Only the titles this body uses. Omit for every title in the state.","type":"string","pattern":"^\\d+$"},"query":{"description":"A code such as 'POS_10017', or part of a title. Accents and case are ignored.","type":"string","minLength":1,"maxLength":120},"limit":{"description":"Most titles to return, 1-300. Defaults to 50.","type":"integer","minimum":1,"maximum":300}},"additionalProperties":false},"example":{"organizationId":"99221912"}},{"name":"list_thematic_categories","title":"List Διαύγεια thematic categories","description":"List the controlled vocabulary of thematic categories — the broad subject areas an act can be filed under, such as finance, public health or education. These codes are the valid values for the `thematicCategory` filter on search_decisions; call this rather than guessing one. A thematic category says what an act is about, where a decision type says what kind of act it is — the two filters are independent and combine.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"example":{}},{"name":"list_dictionaries","title":"List Διαύγεια vocabularies","description":"List the controlled vocabularies Διαύγεια publishes — CPV procurement codes, organisation categories, Government Gazette issue types, the Kallikratis regions and municipalities, currencies, revocation reasons and the rest — with the code search_dictionary takes for each. Call it to find out which vocabulary a code you have been given belongs to.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"example":{}},{"name":"search_dictionary","title":"Look up a Διαύγεια vocabulary","description":"Look up entries in one of Διαύγεια's controlled vocabularies by code or by part of a label: what CPV code 33600000-6 means, which ORG_CATEGORY codes exist, or which municipalities ADMIN_STRUCTURE_KALLIKRATIS places in a region. Codes from these vocabularies appear in `extraFields` on decisions (cpv, kanonistikipraxitype, …) and in the register (organisation categories, FEK issue types); get_decision_type says which vocabulary a field uses. Matching ignores case and accents. With no `query` the vocabulary is listed from the start — fine for the small ones, but CPV has 10,357 entries, so search it.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dictionary":{"type":"string","minLength":1,"maxLength":60,"description":"Vocabulary code from list_dictionaries, e.g. 'CPV', 'ORG_CATEGORY', 'FEKTYPES', 'ADMIN_STRUCTURE_KALLIKRATIS'. Case-insensitive."},"query":{"description":"A code, or part of a label. Accents and case are ignored.","type":"string","minLength":1,"maxLength":120},"parent":{"description":"Only entries filed under this parent code — e.g. a region's code in ADMIN_STRUCTURE_KALLIKRATIS lists its municipalities. Most vocabularies are flat.","type":"string","minLength":1},"limit":{"description":"Most entries to return, 1-500. Defaults to 50.","type":"integer","minimum":1,"maximum":500}},"required":["dictionary"],"additionalProperties":false},"example":{"dictionary":"CPV","query":"φάρμακα","limit":5}}]},{"key":"gr/kimdis","country":"gr","id":"kimdis","name":"ΚΗΜΔΗΣ","description":"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":"Υπουργείο Ψηφιακής Διακυβέρνησης — ΟΠΣ ΕΣΗΔΗΣ (Γ.Γ. Πληροφοριακών Συστημάτων & Ψηφιακής Διακυβέρνησης)","license":"CC-BY-4.0","attribution":"Κεντρικό Ηλεκτρονικό Μητρώο Δημοσίων Συμβάσεων — ΚΗΜΔΗΣ (eprocurement.gov.gr)","upstreamUrl":"https://cerpp.eprocurement.gov.gr/khmdhs-opendata","endpoint":"/gr/mcp/kimdis","api":"/gr/api/kimdis","tools":[{"name":"search_requests","title":"Search purchase requests","description":"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`.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"description":"Words from the act's title. Case and accents are ignored; matched as a phrase.","type":"string","minLength":2,"maxLength":100},"organizationId":{"description":"Only acts of this body, by its uid from search_organizations — the same uids Διαύγεια uses.","type":"string","pattern":"^\\d+$"},"signerId":{"description":"Only acts signed by this official, by the uid in `signer.id` on an act.","type":"string","pattern":"^\\d+$"},"cpv":{"description":"Only acts with an item under this CPV code, e.g. '33600000-6' for pharmaceuticals. Exact code, not a prefix.","type":"string","pattern":"^\\d{8}-\\d$"},"contractType":{"description":"Kind of contract: '9' Υπηρεσίες, '10' Έργα, '12' Μελέτες, '13' Προμήθειες, '14' Τεχνικές και λοιπές συναφείς επιστημονικές υπηρεσίες.","type":"string","enum":["9","10","12","13","14"]},"submittedFrom":{"description":"Earliest posting date, inclusive. ΚΗΜΔΗΣ searches at most 180 days per call — see `coverage`.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"submittedTo":{"description":"Latest posting date, inclusive.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"cancelledFrom":{"description":"Only acts cancelled on or after this date — with cancelledTo, lists cancellations.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"cancelledTo":{"description":"Only acts cancelled on or before this date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"page":{"description":"Zero-based page number. Pages hold 50 acts; defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991},"kind":{"description":"'initial' the requests themselves, 'approval' their approval records, 'all' (default) both.","type":"string","enum":["initial","approval","all"]}},"additionalProperties":false},"example":{"organizationId":"5001","submittedFrom":"2026-08-01","submittedTo":"2026-08-31","kind":"initial"}},{"name":"search_notices","title":"Search tender notices","description":"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`.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"description":"Words from the act's title. Case and accents are ignored; matched as a phrase.","type":"string","minLength":2,"maxLength":100},"organizationId":{"description":"Only acts of this body, by its uid from search_organizations — the same uids Διαύγεια uses.","type":"string","pattern":"^\\d+$"},"signerId":{"description":"Only acts signed by this official, by the uid in `signer.id` on an act.","type":"string","pattern":"^\\d+$"},"cpv":{"description":"Only acts with an item under this CPV code, e.g. '33600000-6' for pharmaceuticals. Exact code, not a prefix.","type":"string","pattern":"^\\d{8}-\\d$"},"contractType":{"description":"Kind of contract: '9' Υπηρεσίες, '10' Έργα, '12' Μελέτες, '13' Προμήθειες, '14' Τεχνικές και λοιπές συναφείς επιστημονικές υπηρεσίες.","type":"string","enum":["9","10","12","13","14"]},"submittedFrom":{"description":"Earliest posting date, inclusive. ΚΗΜΔΗΣ searches at most 180 days per call — see `coverage`.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"submittedTo":{"description":"Latest posting date, inclusive.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"cancelledFrom":{"description":"Only acts cancelled on or after this date — with cancelledTo, lists cancellations.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"cancelledTo":{"description":"Only acts cancelled on or before this date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"page":{"description":"Zero-based page number. Pages hold 50 acts; defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991},"procedureType":{"description":"Award procedure: '1' Ανοιχτή διαδικασία, '2' Κλειστή διαδικασία, '4' Ανταγωνιστικός διάλογος, '6' Απευθείας ανάθεση, '7' Ανταγωνιστική διαδικασία με διαπραγμάτευση, '11' (documented upstream, unused in recent notices), '12' Διαπραγμάτευση χωρίς προηγούμενη δημοσίευση, '13' Διαπραγμάτευση με προηγούμενη προκήρυξη διαγωνισμού (αρ. 266 ν. 4412/2016), '18' Διαδικασία άρθρου 128 ν. 4412/2016.","type":"string","enum":["1","2","4","6","7","11","12","13","18"]},"deadlineFrom":{"description":"Only notices whose deadline for offers is on or after this date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"deadlineTo":{"description":"Only notices whose deadline for offers is on or before this date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"amendmentsOnly":{"description":"Only notices that amend an earlier notice. Defaults to false.","type":"boolean"},"fundingReference":{"description":"Only notices funded under this public-investment programme reference (ΣΑ/ενάριθμος).","type":"string","minLength":1,"maxLength":30}},"additionalProperties":false},"example":{"organizationId":"99221899","submittedFrom":"2026-08-01","submittedTo":"2026-08-31"}},{"name":"search_contracts","title":"Search signed contracts","description":"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`.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"description":"Words from the act's title. Case and accents are ignored; matched as a phrase.","type":"string","minLength":2,"maxLength":100},"organizationId":{"description":"Only acts of this body, by its uid from search_organizations — the same uids Διαύγεια uses.","type":"string","pattern":"^\\d+$"},"signerId":{"description":"Only acts signed by this official, by the uid in `signer.id` on an act.","type":"string","pattern":"^\\d+$"},"cpv":{"description":"Only acts with an item under this CPV code, e.g. '33600000-6' for pharmaceuticals. Exact code, not a prefix.","type":"string","pattern":"^\\d{8}-\\d$"},"contractType":{"description":"Kind of contract: '9' Υπηρεσίες, '10' Έργα, '12' Μελέτες, '13' Προμήθειες, '14' Τεχνικές και λοιπές συναφείς επιστημονικές υπηρεσίες.","type":"string","enum":["9","10","12","13","14"]},"submittedFrom":{"description":"Earliest posting date, inclusive. ΚΗΜΔΗΣ searches at most 180 days per call — see `coverage`.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"submittedTo":{"description":"Latest posting date, inclusive.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"cancelledFrom":{"description":"Only acts cancelled on or after this date — with cancelledTo, lists cancellations.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"cancelledTo":{"description":"Only acts cancelled on or before this date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"page":{"description":"Zero-based page number. Pages hold 50 acts; defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991},"amendmentsOnly":{"description":"Only contracts that modify or extend an earlier contract. Defaults to false.","type":"boolean"}},"additionalProperties":false},"example":{"cpv":"33600000-6","submittedFrom":"2026-08-01","submittedTo":"2026-08-31"}},{"name":"search_payments","title":"Search payment orders","description":"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`.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"description":"Words from the act's title. Case and accents are ignored; matched as a phrase.","type":"string","minLength":2,"maxLength":100},"organizationId":{"description":"Only acts of this body, by its uid from search_organizations — the same uids Διαύγεια uses.","type":"string","pattern":"^\\d+$"},"signerId":{"description":"Only acts signed by this official, by the uid in `signer.id` on an act.","type":"string","pattern":"^\\d+$"},"cpv":{"description":"Only acts with an item under this CPV code, e.g. '33600000-6' for pharmaceuticals. Exact code, not a prefix.","type":"string","pattern":"^\\d{8}-\\d$"},"contractType":{"description":"Kind of contract: '9' Υπηρεσίες, '10' Έργα, '12' Μελέτες, '13' Προμήθειες, '14' Τεχνικές και λοιπές συναφείς επιστημονικές υπηρεσίες.","type":"string","enum":["9","10","12","13","14"]},"submittedFrom":{"description":"Earliest posting date, inclusive. ΚΗΜΔΗΣ searches at most 180 days per call — see `coverage`.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"submittedTo":{"description":"Latest posting date, inclusive.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"cancelledFrom":{"description":"Only acts cancelled on or after this date — with cancelledTo, lists cancellations.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"cancelledTo":{"description":"Only acts cancelled on or before this date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"page":{"description":"Zero-based page number. Pages hold 50 acts; defaults to 0.","type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"example":{"organizationId":"5001","submittedFrom":"2026-08-01","submittedTo":"2026-08-31"}},{"name":"get_document","title":"Get an act by ΑΔΑΜ","description":"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.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"adam":{"type":"string","pattern":"^\\d{2}(?:REQ|PROC|SYMV|PAY|AWRD)\\d{9}$","description":"The act's ΑΔΑΜ, e.g. 26PROC019700906."}},"required":["adam"],"additionalProperties":false},"example":{"adam":"26PROC019700906"}},{"name":"get_document_text","title":"Read an act's PDF","description":"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`.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"adam":{"type":"string","pattern":"^\\d{2}(?:REQ|PROC|SYMV|PAY|AWRD)\\d{9}$","description":"The act's ΑΔΑΜ, e.g. 26PAY019700903."},"fromPage":{"description":"First page to return, 1-based. Defaults to 1.","type":"integer","minimum":1,"maximum":9007199254740991},"maxPages":{"description":"Most pages to return, 1-50. Defaults to 10.","type":"integer","minimum":1,"maximum":50}},"required":["adam"],"additionalProperties":false},"example":{"adam":"26PAY019700903","maxPages":2}},{"name":"search_organizations","title":"Find a buying body","description":"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.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":120,"description":"Part of the body's name in Greek, or its VAT number. Accents and case are ignored."},"includeInactive":{"description":"Include bodies that have been dissolved or merged. Defaults to false.","type":"boolean"},"limit":{"description":"Most bodies to return, 1-100. Defaults to 20.","type":"integer","minimum":1,"maximum":100}},"required":["query"],"additionalProperties":false},"example":{"query":"νοσοκομείο βόλου","limit":5}}]},{"key":"gr/mitos","country":"gr","id":"mitos","name":"ΜΗΤΟΣ","description":"The National Registry of Administrative Procedures (Εθνικό Μητρώο Διοικητικών Διαδικασιών «Μίτος»): every procedure a person or a business can ask the Greek state for — what it is, who provides it and where, which documents it needs, what it costs, the steps in person and on gov.gr, and the law behind it.","publisher":"Υπουργείο Ψηφιακής Διακυβέρνησης — ΕΔΥΤΕ Α.Ε. (GRNET)","license":"CC-BY-SA-4.0","attribution":"Εθνικό Μητρώο Διοικητικών Διαδικασιών «Μίτος» (mitos.gov.gr)","upstreamUrl":"https://mitos.gov.gr","endpoint":"/gr/mcp/mitos","api":"/gr/api/mitos","tools":[{"name":"search_procedures","title":"Find a public-service procedure","description":"Find procedures in the Greek registry of administrative procedures — what a person or business can ask the state for: certificates, licences, benefits, registrations. Returns each match's id, title and when it was last edited; pass the id to get_procedure for the documents, cost, steps and law. `query` matches titles first, then the full text of the records — descriptions, document lists, steps — so it finds procedures a title alone would miss; case and accents are ignored. `lifeEvent`, `audience` and `organizationId` narrow the set: the life event it belongs to (list_life_events), who it is for (list_audiences), or the body that owns it (search_organizations). Filters combine with AND, and a query is optional when any filter is given. This is the usual first step when the user describes a need — 'I need a copy of my birth certificate', 'how do I open a café' — rather than names a procedure.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"description":"Words from the procedure's name or its description, in Greek. Accents and case are ignored; words are ANDed.","type":"string","minLength":2,"maxLength":200},"lifeEvent":{"description":"Only procedures filed under this life event, named exactly as list_life_events gives it — e.g. 'Γέννηση', 'Συνταξιοδότηση'.","type":"string","minLength":1,"maxLength":120},"audience":{"description":"Only procedures for this audience, named exactly as list_audiences gives it — e.g. 'Πολίτες', 'Επιχειρήσεις', 'Δημόσιους Υπαλλήλους'.","type":"string","minLength":1,"maxLength":120},"organizationId":{"description":"Only procedures owned by this body, by its id from search_organizations.","type":"string","pattern":"^\\d+$"},"limit":{"description":"Most results to return, 1-100. Defaults to 20.","type":"integer","minimum":1,"maximum":100}},"additionalProperties":false},"example":{"query":"ληξιαρχική πράξη γέννησης","limit":5}},{"name":"get_procedure","title":"Get a procedure in full","description":"Fetch one procedure's complete record by its id: what it is and who it is for, the body that owns it and where it is provided (municipality, ΚΕΠ, gov.gr, myKEPlive), the documents the applicant must bring and who issues each, the cost and fees, the conditions, the steps in person and the steps online with how long each takes, the legal deadline, how long the result stays valid, and the laws and Gazette issues behind it. This answers 'what do I need to bring?', 'how much does it cost?', 'can I do it online?' and 'which law says so?'. Use search_procedures when you have a need rather than an id. Durations are ISO 8601 with a plain reading beside each.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","pattern":"^\\d+$","description":"The procedure's registration code, from search_procedures or from its id.mitos.gov.gr address, e.g. 106576."}},"required":["id"],"additionalProperties":false},"example":{"id":"106576"}},{"name":"list_life_events","title":"List life events","description":"List the life events the registry files procedures under — Γέννηση, Γάμος, Συνταξιοδότηση, Έναρξη και λύση επιχείρησης and about 120 more — with how many procedures each has. The names are the exact values `lifeEvent` on search_procedures takes; call this to find the right one rather than guessing, or to see what the registry covers.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"description":"Part of a name, to find the exact spelling. Accents and case are ignored. Omit for the whole list.","type":"string","minLength":1,"maxLength":120}},"additionalProperties":false},"example":{"query":"επιχείρ"}},{"name":"list_audiences","title":"List audiences","description":"List who the registry's procedures are addressed to — Πολίτες, Επιχειρήσεις, Δημόσιους Υπαλλήλους, Αγρότες, Φοιτητές/σπουδαστές and about 190 more — with how many procedures each has. The names are the exact values `audience` on search_procedures takes; call this to find the right one rather than guessing.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"description":"Part of a name, to find the exact spelling. Accents and case are ignored. Omit for the whole list.","type":"string","minLength":1,"maxLength":120}},"additionalProperties":false},"example":{"query":"φοιτητ"}},{"name":"list_recent_procedures","title":"List recently edited procedures","description":"List the procedures whose records were most recently edited, newest first — the registry's changelog. An edit is any change to the record: a new document requirement, a corrected step, a new law cited, or a wording fix; the registry does not say which. Use `since` to see everything edited on or after a date, e.g. to check what changed this month.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"since":{"description":"Only procedures edited on or after this date, inclusive.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"limit":{"description":"Most results to return, 1-100. Defaults to 20.","type":"integer","minimum":1,"maximum":100}},"additionalProperties":false},"example":{"limit":5}},{"name":"search_organizations","title":"Find a body in the procedures registry","description":"Find a public body in the registry's own list of organisations — ministries, regions, municipalities, agencies, ΚΕΠ — by name, VAT number (ΑΦΜ) or id, and get the id that search_procedures takes as `organizationId` to list the procedures a body owns. Matching ignores case and accents. Returns each body's id, names in Greek and English, VAT number and parent body; get_organization adds the address and contact details. Note that these ids are the procedures registry's own and differ from Διαύγεια's uids for the same bodies.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":120,"description":"Part of the body's name in Greek or English, or its VAT number or id. Accents and case are ignored."},"limit":{"description":"Most bodies to return, 1-100. Defaults to 20.","type":"integer","minimum":1,"maximum":100}},"required":["query"],"additionalProperties":false},"example":{"query":"υπουργείο εσωτερικών","limit":5}},{"name":"get_organization","title":"Get a body's registry record","description":"Fetch one body's record from the procedures registry by its id: names, VAT number, address, email and telephone, the body it sits under and the bodies under it, and its founding Gazette issue. Use search_organizations when you have a name rather than an id, and search_procedures with `organizationId` for the procedures the body owns.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"organizationId":{"type":"string","pattern":"^\\d+$","description":"Numeric id of the body, e.g. 46278."}},"required":["organizationId"],"additionalProperties":false},"example":{"organizationId":"46278"}}]},{"key":"gr/noa","country":"gr","id":"noa","name":"Σεισμοί — Γεωδυναμικό Ινστιτούτο ΕΑΑ","description":"The Greek earthquake catalogue: every event the Institute of Geodynamics locates from the Hellenic Unified Seismic Network, from the barely-recorded to the destructive, with the time, place, depth and local magnitude of each and the quality of the solution behind it. Greece is the most seismically active country in Europe and this is the register of record for it — reviewed by an analyst rather than left as an automatic alert.","publisher":"Εθνικό Αστεροσκοπείο Αθηνών — Γεωδυναμικό Ινστιτούτο (NOA Institute of Geodynamics)","license":"CC-BY-4.0","attribution":"Γεωδυναμικό Ινστιτούτο, Εθνικό Αστεροσκοπείο Αθηνών — Ελληνικό Ενοποιημένο Σεισμολογικό Δίκτυο (eida.gein.noa.gr)","upstreamUrl":"https://eida.gein.noa.gr/","endpoint":"/gr/mcp/noa","api":"/gr/api/noa","tools":[{"name":"search_earthquakes","title":"Search the Greek earthquake catalogue","description":"Find earthquakes the National Observatory of Athens has located, by when, how big, how deep and where. This is the register of record for Greek seismicity: solutions are reviewed by an analyst rather than left as automatic alerts, and magnitudes are on the MLh local scale calibrated for Greece, so they will differ by a few tenths from the figure a global agency publishes for the same event. Where: either a bounding box, any of its four edges, or a centre and a radius in kilometres — in which case every result also carries how far and in which direction it fell from that centre. When: startTime and endTime, read as UTC, defaulting to the last 7 days. The window is capped at 31 days because this is a single node that scans the whole window before answering and a wider one times out rather than returning slowly; walk the window back in instalments for a longer period. The catalogue begins on 1 February 2011. Results are capped and the answer says when it stopped short, so a count from here is a count of what was returned and not of what happened.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"startTime":{"description":"Start of the window, as a date (2026-09-01) or a moment (2026-09-01T14:30:00). Read as UTC. Defaults to 7 days before endTime.","type":"string","minLength":1},"endTime":{"description":"End of the window, same format. Read as UTC. Defaults to now.","type":"string","minLength":1},"minMagnitude":{"description":"The smallest magnitude to include, on the MLh local scale this catalogue uses. Most of what it records is under 2 and imperceptible; 3.5 is widely felt, 5 does damage, and the largest Greek earthquake since the register opened is the 6.7 off Samos in 2020.","type":"number","minimum":-2,"maximum":10},"maxMagnitude":{"description":"The largest magnitude to include, on the MLh local scale this catalogue uses. Most of what it records is under 2 and imperceptible; 3.5 is widely felt, 5 does damage, and the largest Greek earthquake since the register opened is the 6.7 off Samos in 2020.","type":"number","minimum":-2,"maximum":10},"minDepthKm":{"description":"The shallowest focal depth to include, in kilometres below the surface. Most Greek seismicity is in the top 20 km; the Hellenic subduction zone puts events under the southern Aegean as deep as 150 km, and a deep one is felt far more weakly at the surface than a shallow one of the same size.","type":"number","minimum":0,"maximum":800},"maxDepthKm":{"description":"The deepest focal depth to include, in kilometres below the surface. Most Greek seismicity is in the top 20 km; the Hellenic subduction zone puts events under the southern Aegean as deep as 150 km, and a deep one is felt far more weakly at the surface than a shallow one of the same size.","type":"number","minimum":0,"maximum":800},"minLatitude":{"description":"Southern edge of a bounding box, in degrees. Greece spans roughly 34° to 42° north.","type":"number","minimum":-90,"maximum":90},"maxLatitude":{"description":"Northern edge of a bounding box, in degrees. Greece spans roughly 34° to 42° north.","type":"number","minimum":-90,"maximum":90},"minLongitude":{"description":"Western edge of a bounding box, in degrees. Greece spans roughly 19° to 30° east.","type":"number","minimum":-180,"maximum":180},"maxLongitude":{"description":"Eastern edge of a bounding box, in degrees. Greece spans roughly 19° to 30° east.","type":"number","minimum":-180,"maximum":180},"latitude":{"description":"Centre of a circular search, in degrees. Give with longitude and radiusKm.","type":"number","minimum":-90,"maximum":90},"longitude":{"description":"Centre of a circular search, in degrees. Give with latitude and radiusKm.","type":"number","minimum":-180,"maximum":180},"radiusKm":{"description":"How far around that centre to look, in kilometres.","type":"number","minimum":1,"maximum":5000},"orderBy":{"description":"Newest first (time, the default), oldest first (time-asc), largest first (magnitude) or smallest first (magnitude-asc). This decides which events survive the limit, so ask for magnitude when the question is about the biggest.","type":"string","enum":["time","time-asc","magnitude","magnitude-asc"]},"limit":{"description":"Most events to return, 1-500. Defaults to 50.","type":"integer","minimum":1,"maximum":500}},"additionalProperties":false},"example":{"minMagnitude":3,"limit":10}},{"name":"get_earthquake","title":"One earthquake, with the quality of its solution","description":"Everything the catalogue holds about one earthquake, by the id search_earthquakes returns. Beyond the time, place, depth and magnitude, this is where the confidence lives: how many stations recorded it and how far the nearest was, the widest gap in the ring of stations around it, the residual of the fit, how far the epicentre and the depth could be out in kilometres, and whether an analyst reviewed the solution or it is still what the automatic pipeline produced. Ask for it before treating a position or a magnitude as settled — an event located from one side, with a large azimuthal gap, can be kilometres from where it is plotted, and solutions are revised for months after the event: the 2020 Samos earthquake was last rewritten five months later. Ids are matched exactly, case included.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":64,"description":"The catalogue id, copied from a search result exactly as it appears — noa2020vipzs for a recent event, 11F00205 for one from the early years, and the case matters in both."}},"required":["id"],"additionalProperties":false},"example":{"id":"noa2020vipzs"}},{"name":"list_recent_earthquakes","title":"What has shaken lately","description":"The earthquakes the National Observatory of Athens has located in the last day, newest first, with no arguments needed. This is the quick answer to whether something has just happened and how big it was. Greece records dozens of events a day, almost all of them too small to feel, so give minMagnitude around 3 to see only what people noticed. For anything beyond the last 168 hours, or for a region, a depth or a particular period, use search_earthquakes.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"hours":{"description":"How far back to look, 1-168 hours. Defaults to 24.","type":"number","minimum":1,"maximum":168},"minMagnitude":{"description":"The smallest magnitude to include, on the MLh local scale this catalogue uses. Most of what it records is under 2 and imperceptible; 3.5 is widely felt, 5 does damage, and the largest Greek earthquake since the register opened is the 6.7 off Samos in 2020.","type":"number","minimum":-2,"maximum":10},"limit":{"description":"Most events to return, 1-200. Defaults to 20.","type":"integer","minimum":1,"maximum":200}},"additionalProperties":false},"example":{}}]},{"key":"gr/vies","country":"gr","id":"vies","name":"VIES — Έλεγχος ΑΦΜ","description":"The EU VAT Information Exchange System: turns a VAT number into the name and address it is registered to. Greece answers with both, so a bare ΑΦΜ — the one a contract award, a decision or a procedures-registry record carries but never spells out — becomes a named company at an address. Validity is relayed live from each member state's own VAT register.","publisher":"European Commission — DG Taxation and Customs Union (TAXUD)","license":"Not stated — each answer is relayed live from a member state's own VAT register","attribution":"VIES — European Commission, DG TAXUD (ec.europa.eu/taxation_customs/vies)· τα ελληνικά στοιχεία προέρχονται από το μητρώο ΦΠΑ της ΑΑΔΕ","upstreamUrl":"https://ec.europa.eu/taxation_customs/vies/","endpoint":"/gr/mcp/vies","api":"/gr/api/vies","tools":[{"name":"check_vat_number","title":"Look up a VAT number (ΑΦΜ)","description":"Turn a VAT number into the name and address it is registered to, and say whether the registration is live. This is the join for the other Greek sources: a ΚΗΜΔΗΣ contract award, a Διαύγεια expenditure decision and a Μίτος organisation record all identify a company by its ΑΦΜ and never by its name, and this is what names it. `countryCode` defaults to EL, Greece — note that EU VAT writes Greece as EL, not GR. The number may be given with or without that prefix and with spaces or dashes; a Greek ΑΦΜ that lost its leading zero to a spreadsheet is restored to nine digits. A Greek number is checked against its own check digit first, so a mistyped ΑΦΜ is reported as mistyped rather than as unregistered — upstream cannot tell those apart. Not every member state discloses names: Greece returns the registered name and address, while Germany and others confirm only that the number is valid, and `nameDisclosed` says which happened. An unregistered result means the number is not a live VAT registration today — it does not mean the company never existed, and a business below the VAT threshold or one that never traded across a border may hold an ΑΦΜ that VIES does not know. This is a research lookup, not a formal VIES consultation: it carries no consultation number and is not proof of validation for an invoice or a tax filing.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"vatNumber":{"type":"string","minLength":1,"maxLength":32,"description":"The VAT number, with or without its country prefix and with any spacing: '094014201', 'EL094014201', 'EL 094 014 201'. For Greece this is the ΑΦΜ."},"countryCode":{"description":"The member state that issued the number, as EU VAT writes it. Defaults to EL (Greece). One of: AT, BE, BG, CY, CZ, DE, DK, EE, EL, ES, FI, FR, HR, HU, IE, IT, LT, LU, LV, MT, NL, PL, PT, RO, SE, SI, SK, XI.","type":"string","minLength":2,"maxLength":2}},"required":["vatNumber"],"additionalProperties":false},"example":{"vatNumber":"094014201"}},{"name":"list_member_states","title":"List VAT registers and whether they are answering","description":"List the EU VAT registers VIES can reach — the 27 member states plus XI, Northern Ireland — and whether each one is answering right now. VIES holds no register of its own: it forwards every question to the country that issued the number, so a lookup that fails is usually that country's register being down rather than anything about the number. Call this when check_vat_number reports a register unavailable, to see whether the outage is that one country or the whole service, and whether it is worth retrying. Availability changes minute to minute and is reported live.","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false},"example":{}}]}]}