Poland's national open data portal (Otwarte Dane) integration. Provides access to datasets, resources, and institutions via the dane.gov.pl JSON:API.
Five tools with complete input schemas and clear descriptions. All tools follow verb_noun naming (search_*, list_*, get_*). Descriptions are well-written (100-200 chars), explaining what each tool does and when to use it. Parameters have types and descriptions. However, output schemas are not documented, LLMs cannot see what fields to expect from responses. No error handling guidance. No enum constraints on 'lang' parameter despite accepting only 'en'/'pl'. Missing idempotency hints and pagination guidance in descriptions.
Get full metadata for a single dataset by numeric id (from search_datasets). Returns the JSON:API dataset object: title, notes, license, keywords, regions, institution relationship and resource count.
List the resources (files/tables) attached to a dataset. Returns JSON:API resource objects with id, title, format (csv/xlsx/...), media_type, link, openness_score and a tabular_data relationship. Resources whose relationships include tabular_data can be read row-by-row with resource_data.
Read row-level data from a tabular resource (one with a tabular_data relationship). Returns JSON:API "row" objects whose attributes map column names (col1, col2, ...) to {repr, val} pairs. Supports paging and full-text row filtering via q. Use list_resources first to find a tabular resource id.
Search/list datasets on Poland's national open data portal (dane.gov.pl). Returns a JSON:API list of datasets with id, title, notes, slug, institution and resource count. Content is mostly Polish; q accepts Polish or English. Use the returned dataset id with dataset_details / list_resources.
Search/list data-publishing institutions (ministries, agencies, municipalities, companies) on dane.gov.pl. Returns JSON:API institution objects with id, title, abbreviation, institution_type, website, regon and dataset count. Mostly Polish content; q accepts Polish or English.
Output schemas not documented. LLMs cannot see what fields to expect from API responses (e.g., what does search_datasets return? Is it {data: [...], links: {...}}? What are the attributes of each dataset object?). This forces LLMs to guess field names and risks downstream tool call failures.
'lang' parameter accepts only 'en' or 'pl' but is defined as free-form string. Should be an enum constraint to prevent LLM hallucination of invalid language codes.
No error handling guidance. If an API call fails (e.g., dataset not found, invalid resource_id), the error message does not tell the LLM what to do next. Should include recovery hints like 'Try search_datasets() first to find a valid id.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Pagination parameters (page, per_page) lack guidance on defaults and limits. Descriptions say 'default 1' and 'default 20' but do not explain when to use pagination or how to detect end-of-results. Missing 'total' or 'next_cursor' in response documentation.
Tool descriptions do not explain the JSON:API response format or how to extract data from nested 'attributes' and 'relationships' objects. LLMs unfamiliar with JSON:API will struggle to parse responses correctly.