MCP server for interacting with CKAN open data portals
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
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:
| Option A: Install locally | Option B: No install | |
|---|---|---|
| How | npm install -g @aborruso/ckan-mcp-server | Point your tool to the hosted HTTP endpoint |
| Best for | Runs on your machine, works with any local tool | Quick start, zero setup |
| Request quota | No shared quota | 100k requests/day shared quota |
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.

The local and hosted server use the same tool and output caps. The hosted endpoint also has the shared request quota shown above.
| Area | Default | Maximum or configuration |
|---|---|---|
| Tool output | 50,000 characters | Fixed server-wide cap |
ckan_datastore_search rows | 100 | 32,000 (0 returns column names only) |
ckan_package_search results per page | 10 | 1,000 |
ckan_find_relevant_datasets results | 10 | 50 |
Injected sparql_query rows | 25 | 1,000 when injected; a query that supplies its own LIMIT is not capped |
ckan_tag_list results | 100 | 1,000 |
ckan_find_portals results | 10 | 50 |
| HTTP response body | 32 MiB | CKAN_MAX_RESPONSE_BYTES for local Node.js deployments |
| Decompressed response body | 64 MiB | CKAN_MAX_DECOMPRESSED_BYTES for local Node.js deployments |
Text and Markdown responses that exceed the output cap are cut and include a truncation note. JSON responses stay parseable: the server reduces known result arrays and flags the response with _truncated and _original_count, and if a response still cannot fit it is replaced by a small object carrying _truncated and an explanatory _error. The same capped payload is sent on both channels, so a client reading structuredContent sees exactly what the text shows, truncation flags included. Use pagination or a narrower query when you need the complete result set.
ChatGPT | Claude Desktop | Claude Code | Le Chat (Mistral) | Perplexity Pro | Gemini CLI | VS Code | Codex CLI
This server works with any MCP-compatible client. The sections below cover some of the most popular ones β if your tool isn't listed, check its documentation for MCP configuration and use the same endpoint URL or command.
All examples below work with both the local installation and the hosted endpoint. Where both options differ, both are shown.
Using local installation? You need to install the server first β see Run locally.
Requires a ChatGPT Plus, Team, or Enterprise plan.
https://ckan-mcp-server.andy-pr.workers.dev/mcpFor a step-by-step walkthrough with screenshots, see the full ChatGPT guide.
Using the hosted endpoint (no install) β via connector UI:
https://ckan-mcp-server.andy-pr.workers.dev/mcpFor a detailed walkthrough with screenshots, see the full Claude guide.
Using the hosted endpoint (no install) β via config file:
Configuration file location:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonUsing local installation:
Using the hosted endpoint (no install):
Using local installation:
--scope usermakes the server available globally across all your projects, not just the current one.
To add it only for a specific project, run from the project folder without the --scope user flag:
https://ckan-mcp-server.andy-pr.workers.dev/mcpFor a step-by-step walkthrough with screenshots, see the full Le Chat guide.
Requires a Perplexity Pro account.
https://ckan-mcp-server.andy-pr.workers.dev/mcpFor a step-by-step walkthrough with screenshots, see the full Perplexity guide.
Or add manually to ~/.gemini/settings.json:
Add to your User Settings or .vscode/settings.json:
Using the hosted endpoint (no install):
Using local installation:
Add to ~/.codex/config.toml:
Using the hosted endpoint (no install):
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/ckan-mcp-server)<a href="https://allmcps.com/mcp/ckan-mcp-server"><img src="https://allmcps.com/api/badge/ckan-mcp-server?style=directory" alt="Ckan MCP Server on AllMCPs" /></a>