Skip to main content
MCP server CX Codex

ckan-mcp-server — Claude Code MCP server: open data portal access

Connects your AI assistant to CKAN open data portals: search datasets, browse organizations, query tabular data and read metadata in plain language.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add --env CKAN_ALLOWED_DOMAINS=<CKAN_ALLOWED_DOMAINS> --transport stdio ckan-mcp-server -- npx -y @aborruso/ckan-mcp-server
Open on GitHub

What ckan-mcp-server does

CKAN powers most public open data portals, and finding anything there usually means knowing the portal's structure, API and search syntax. This server removes that step. Once connected, your assistant handles the searching and the parsing.

The server ships tools for dataset search (ckan_package_search), tabular queries (ckan_datastore_search), tag listing, portal discovery and relevant-dataset matching. Metadata follows the DCAT standard. Two ways to run it: install locally with npm install -g @aborruso/ckan-mcp-server, or skip the install and point your tool at the hosted endpoint https://ckan-mcp-server.andy-pr.workers.dev/mcp. The hosted option shares a 100k requests/day quota; the local one has no shared quota.

Output caps apply on both channels. A response tops out at 50,000 characters, ckan_datastore_search returns 100 rows by default and 32,000 at most. Truncated JSON stays parseable: the server trims known result arrays and flags the payload with _truncated and _original_count, so a client reading structuredContent sees the same thing as the text. Need the full set? Paginate or narrow the query. Local Node.js deployments can raise the body limits with CKAN_MAX_RESPONSE_BYTES and CKAN_MAX_DECOMPRESSED_BYTES. The CKAN_ALLOWED_DOMAINS variable controls which portals the server may reach.

What it helps with

  • find a dataset on a CKAN portal without learning its API
  • run a tabular query against datastore records
  • list the organizations and tags a portal exposes
  • check what datasets a public body publishes
  • match relevant datasets to a research topic

Example prompts for the agent

  • Search this portal for air quality datasets from last year
  • List the organizations publishing datasets here
  • Query ckan_datastore_search and show me the first rows

How to install ckan-mcp-server

Platform CLI

claude mcp add --env CKAN_ALLOWED_DOMAINS=<CKAN_ALLOWED_DOMAINS> --transport stdio ckan-mcp-server -- npx -y @aborruso/ckan-mcp-server

Replace <…> with your own values

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about ckan-mcp-server

How do I install ckan-mcp-server in Claude Code?

Run claude mcp add ckan-mcp-server -- npx -y @aborruso/ckan-mcp-server. To restrict domains, use the env variant: claude mcp add --env CKAN_ALLOWED_DOMAINS=<CKAN_ALLOWED_DOMAINS> --transport stdio ckan-mcp-server -- npx -y @aborruso/ckan-mcp-server.

What does ckan-mcp-server do?

It gives your assistant access to CKAN open data portals: dataset, organization, tag and metadata search, plus tabular queries through the datastore.

How is the local install different from the hosted endpoint?

The local install runs on your machine with no shared quota. The hosted endpoint https://ckan-mcp-server.andy-pr.workers.dev/mcp is quicker to try, but it shares a 100k requests/day quota.

Similar MCP servers

All MCP servers for Data and databases →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor