Ckan MCP Server logo

Ckan MCP Server

Search CKAN catalogs, inspect metadata and resources, query DataStore tables, and explore organizations, groups, tags, and portals.

Install Ckan MCP Server

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "ckan-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@aborruso/ckan-mcp-server@latest"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

ckan-mcp-server connects MCP clients to CKAN open data portals through local stdio or a hosted streamable-HTTP endpoint. Its tools cover dataset discovery, relevance ranking, metadata and resource inspection, organization and group browsing, DataStore queries, portal statistics, and SPARQL access. Reach for it when an agent needs to find public datasets across CKAN catalogs or inspect tabular resources without manually learning each portal's API. It also supports portal discovery through the datashades.info registry and MQA quality checks for dati.gov.it datasets.

Use cases

  • Discover datasets across a CKAN portal using natural-language or Solr queries
  • Inspect dataset resources and identify queryable DataStore tables
  • Query public tabular data with filters or read-only SQL
  • Compare portal organizations, formats, categories, and dataset counts
  • Check metadata quality for datasets hosted on dati.gov.it

Key features

  • Solr dataset search with facets, filters, sorting, and pagination
  • Weighted relevance ranking across dataset metadata fields
  • CKAN package, organization, group, tag, and portal inspection
  • DataStore row queries and read-only SQL access
  • SPARQL SELECT queries against public HTTPS endpoints
  • Portal discovery and dati.gov.it MQA quality analysis

Tools20

What Ckan MCP Server lets your agent do. Expand a tool for its parameters.

Verified live~10.3k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

24/28 checks healthy over the last 90d

What it can do

From the 20 tools this server returned when we ran it; 20 declare their own safety hints.

Runs commands · 1Makes network requests · 20Read-only tools · 19
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age278 days
Maintainers1

Observed 2026-10-15 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 5Low 2

Scanned 5d ago via OSV.dev · @aborruso/ckan-mcp-server@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars60Stargazers on the source repository.
npm downloads5.9kPackage downloads in the last 30 days.
Last commit1d agoMost recent push to the default branch.
Tools exposed20Callable tools this server registers over MCP.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How Ckan MCP Server works

What ckan-mcp-server does

ckan-mcp-server gives MCP-compatible clients access to CKAN catalogs and their public APIs. It can search datasets with Solr syntax, rank results using weighted metadata fields, retrieve complete package metadata, and summarize the resources attached to a dataset. Dataset searches can use Boolean expressions, wildcards, fuzzy matching, proximity searches, range filters, facets, sorting, pagination, and date expressions.

The server also covers catalog structure and data access. Agents can list or search organizations, groups, and tags; inspect individual organizations or groups; obtain portal status and catalog statistics; and query CKAN DataStore resources with filters, selected fields, sorting, distinct values, or SQL. A separate SPARQL tool handles read-only SELECT queries against public HTTPS endpoints such as data.europa.eu, DBpedia, and Wikidata. Portal discovery uses the live datashades.info registry, while MQA tools provide quality scores and failing metrics for datasets on dati.gov.it.

How it works

Each CKAN operation accepts a server_url, allowing one configured server to work with different public portals. A typical workflow verifies the portal with ckan_status_show, checks its locale, searches in the portal's language, inspects a selected package, and then queries a resource whose datastore_active value is true. ckan_analyze_datasets can combine discovery with DataStore schema and record-count inspection before a row query.

For recent or historical searches, distinguish content dates from CKAN record timestamps. issued and modified represent publisher content dates when available; metadata_created and metadata_modified describe CKAN record activity and may reflect harvesting on aggregators. The content_recent option applies an issued-date search with a metadata-created fallback.

Setup and configuration

Install the local server with npm and expose it through an MCP client's stdio configuration:

config.json
{
  "mcpServers": {
    "ckan": {
      "command": "npx",
      "args": ["@aborruso/ckan-mcp-server@latest"]
    }
  }
}

A hosted streamable-HTTP endpoint is available at https://ckan-mcp-server.andy-pr.workers.dev/mcp, so clients that support remote MCP connections can use it without a local installation. Claude Desktop can configure either transport; Claude Code supports both the hosted HTTP command and the local npx command.

Tools and capabilities

  • Search and relevance-rank CKAN datasets, with facets, filters, pagination, and weighted field scoring.
  • Retrieve package metadata, resource details, download URLs, tracking data, and DataStore availability.
  • Query DataStore tables directly or submit read-only SQL to portals that expose SQL access.
  • Browse organizations, groups, tags, portal status, catalog statistics, and registered CKAN portals.
  • Inspect DataStore schemas and record counts before selecting fields for a query.
  • Run read-only SPARQL SELECT queries over HTTPS with automatic limits when a query has none.

Limitations and notes

Not every CKAN resource has DataStore enabled, and SQL access depends on the target portal. SPARQL accepts only HTTPS endpoints and SELECT queries. Local and hosted use share a 50,000-character tool-output cap. Dataset search returns up to 1,000 results per page, DataStore row queries allow up to 32,000 rows, and automatic SPARQL limits range up to 1,000 rows when the query does not supply its own LIMIT. Oversized responses are truncated; JSON responses include truncation indicators.

The hosted endpoint has a shared quota of 100,000 requests per day. Local Node.js deployments can configure response-body limits with CKAN_MAX_RESPONSE_BYTES and CKAN_MAX_DECOMPRESSED_BYTES. Source-portal probing for unavailable DataStore resources is disabled by default and can issue additional requests when enabled.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Ckan MCP Server

ckan-mcp-server is an MCP server that connects AI clients to CKAN open data portals and exposes tools for searching datasets, ranking results, reading package metadata, listing resources, browsing organizations and groups, querying DataStore tables, and checking portal status. It also supports read-only SQL, SPARQL queries, portal discovery, and dati.gov.it MQA analysis.

Install it locally with `npm install -g @aborruso/ckan-mcp-server`, then configure an MCP client to run `npx @aborruso/ckan-mcp-server@latest` over stdio. You can instead use the hosted streamable-HTTP endpoint at `https://ckan-mcp-server.andy-pr.workers.dev/mcp` without installing it.

Yes, ckan-mcp-server works with MCP-compatible clients such as Cursor. Configure Cursor with either the local stdio command using the npm package or the hosted streamable-HTTP endpoint.

Yes, it can query public CKAN DataStore resources with `ckan_datastore_search` or run read-only SQL with `ckan_datastore_search_sql`. First inspect package resources or use `ckan_analyze_datasets` to find DataStore-enabled resources and their available fields.

Pass the portal base URL as `server_url` to `ckan_package_search` or `ckan_find_relevant_datasets`. Use the first tool for Solr syntax, filters, facets, and pagination; use the second for relevance-ranked results based on weighted metadata fields.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewCkan MCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/ckan-mcp-server?style=directory)](https://allmcps.com/mcp/ckan-mcp-server)
HTML Embed
<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>