Ckan MCP server
MCP server for interacting with CKAN open data portals
58 stars495 downloads/wk
Reviews
Write oneNobody has reviewed Ckan yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Ckan tools (20)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
ckan_analyze_datasetsckan_catalog_statsGet a statistical overview of a CKAN portal: total dataset count and breakdown by category, format, and organization. Single CKAN call (package_search with rows=0 and facets). No query needed. Args: - server_url (string): Base URL of the CKAN server - facet_limit (number): Max entries per facet section (default 20) - response_format ('markdown' | 'json'): Output format Returns: Total dataset count
ckan_datastore_searchckan_datastore_search_sqlckan_find_portalsckan_find_relevant_datasetsckan_get_mqa_qualityGet MQA (Metadata Quality Assurance) quality metrics for a dataset on dati.gov.it. Returns quality score and detailed metrics (accessibility, reusability, interoperability, findability, contextuality) from data.europa.eu. Only works with dati.gov.it server. Typical workflow: ckan_package_show (get dataset ID) \u2192 ckan_get_mqa_quality \u2192 ckan_get_mqa_quality_details (for non-max dimensions)
ckan_get_mqa_quality_detailsGet detailed MQA (Metadata Quality Assurance) quality reasons for a dataset on dati.gov.it. Returns dimension scores, non-max reasons, and raw MQA flags from data.europa.eu. Only works with dati.gov.it server. Typical workflow: ckan_get_mqa_quality (get overview scores) \u2192 ckan_get_mqa_quality_details (inspect failing metrics)
ckan_group_listList all groups on a CKAN server. Groups are thematic collections of datasets. Args: - server_url (string): Base URL of CKAN server - all_fields (boolean): Return full objects vs just names (default: false) - sort (string): Sort field (default: "name asc") - limit (number): Maximum results (default: 100). Use 0 to get only the count via faceting - offset (number): Pagination offset (default: 0) -
ckan_group_searchSearch for groups by name pattern. This tool provides a simpler interface than package_search for finding groups. Wildcards are automatically added around the search pattern. Args: - server_url (string): Base URL of CKAN server - pattern (string): Search pattern (e.g., "energia", "salute") - response_format ('markdown' | 'json'): Output format Returns: List of matching groups with dataset counts T
ckan_group_showGet details of a specific group. Args: - server_url (string): Base URL of CKAN server - id (string): Group ID or name - include_datasets (boolean): Include list of datasets (default: true) - response_format ('markdown' | 'json'): Output format Returns: Group details with optional datasets Typical workflow: ckan_group_show \u2192 ckan_package_show (inspect a dataset) \u2192 ckan_datastore_search (q
ckan_list_resourcesckan_organization_listckan_organization_searchckan_organization_showGet details of a specific organization. Args: - server_url (string): Base URL of CKAN server - id (string): Organization ID or name - include_datasets (boolean): Include list of datasets (default: true) - include_users (boolean): Include list of users (default: false) - response_format ('markdown' | 'json'): Output format Returns: Organization details with optional datasets and users Typical workf
ckan_package_searchckan_package_showckan_status_showCheck if a CKAN server is available and get version information. Useful to verify server accessibility before making other requests. Also shows the count of High-Value Datasets (HVD) when the portal supports it. Args: - server_url (string): Base URL of CKAN server Returns: Server status, version information, and HVD dataset count (if available) Typical workflow: ckan_status_show (verify server is
ckan_tag_listList tags from a CKAN server using faceting. This returns tag names with counts, optionally filtered by dataset query or tag substring. Args: - server_url (string): Base URL of CKAN server - q (string): Dataset search query (default: "*:*") - fq (string): Filter query (optional) - tag_query (string): Filter tags by substring (optional) - limit (number): Max tags to return (default: 100, max: 1000)
sparql_query
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- Code scan2 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 0 days ago15/15
- Maintainer identitynamespace and repository owner differ; GitHub account older than a year6/10
What the publisher says
From the Ckan repository's README, as published. We do not edit it. Read it on GitHub
CKAN MCP Server
Turn any (CKAN) open data portal into a conversation.
Give your AI assistant direct access to any CKAN open data portal — search datasets, explore organizations, query tabular data, and read metadata, all through natural language.
CKAN is the open-source platform behind most public open data portals worldwide (Italy's dati.gov.it, the US data.gov, Canada's open.canada.ca, and many more). Navigating these portals usually requires knowing their structure, APIs, and search syntax. This MCP server removes that barrier: once connected, your AI tool can do it all for you.
This is possible because of open standards and open source. CKAN exposes a fully documented, public API. Metadata follows DCAT, an open W3C standard for describing datasets. Both are free to use, free to build on, and maintained by open communities. This server stands on that foundation.
Who is this for? Everyone. Journalists looking for data to verify a story. Researchers exploring public datasets. Public servants checking what data their administration publishes. Developers building data pipelines. No CKAN knowledge required.
Adopted by AgID — This project has been reused by AgID, Italy's Agency for Digital Italy, as part of its effort to make public open data more accessible, immediate, and easier to consult through AI.
Two ways to use it — pick the one that suits you:
Hosted endpoint: https://ckan-mcp-server.andy-pr.workers.dev/mcp
Recommendation: Option B is a great way to get started and try things out without any setup. Once you're familiar with what the server can do, switching to Option A (local install) gives you unlimited usage with no shared quotas.
👉 Want to explore the codebase? The AI-generated DeepWiki is a great starting point.
License: MIT — see LICENSE for complete details. Third-party notices: NOTICE.md.
⚖️ Limits
The local and hosted server use the same tool and output caps. The hosted endpoint also has the shared request quota shown above.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
Runs npx -y @aborruso/ckan-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add ckan-mcp-server -- npx -y @aborruso/ckan-mcp-server
Ckan: common questions
- Is Ckan MCP server safe?
- Yes, by our scan: it is graded A (89/100). Read the Ckan safety report
- How do I install Ckan?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Ckan need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Ckan maintained?
- The last commit was in the last day (2026-09-19). The latest release is v0.4.124.