mcpField
C
CKAN MCP Server

CKAN MCP Server

Local
github.comProductivity15Updated 7w ago

About CKAN MCP Server

CKAN MCP Server connects MCP-compatible clients to CKAN data portals for browsing and managing portal data. Its tools cover datasets, organizations, resources, datastore searches, and portal status.

Key features

  1. 01Search and list datasets
  2. 02View organizations and resources
  3. 03Search DataStore tables
  4. 04List groups and tags
  5. 05Read portal status and details

Use cases

  1. 01Finding datasets in an open-data portal
  2. 02Inspecting organization datasets
  3. 03Searching a resource's DataStore table

MCP support

It exposes CKAN API operations as MCP tools and provides API documentation and configuration as resources. MCP-compatible clients connect over stdio.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

CKAN MCP Server

A Model Context Protocol (MCP) server for the CKAN API that enables browsing and managing CKAN data portals through MCP-compatible clients.

What is this?

This is an MCP server that provides access to CKAN (Comprehensive Knowledge Archive Network) APIs through the Model Context Protocol. It can be used with MCP-compatible clients like Claude Desktop, IDEs, or other AI applications to interact with CKAN data portals.

Requirements

  • Python 3.13 or higher
  • pip (Python package installer)

Installation

  1. Install Python dependencies:
pip install -r requirements.txt

Configuration

Set the following environment variables:

  • CKAN_URL: The base URL of your CKAN portal (e.g. https://demo.ckan.org)
  • CKAN_API_KEY: (Optional) Your CKAN API key for write operations

Example:

export CKAN_URL="https://demo.ckan.org"
export CKAN_API_KEY="your-api-key-here"

You can also copy .env.example to .env and set your configuration there.

Usage

Running the server directly
python mcp_ckan_server.py
Using Docker
# Build the image
docker build -t ckan-mcp-server .

# Run with environment variables
docker run -e CKAN_URL="https://demo.ckan.org" -e CKAN_API_KEY="your-key" ckan-mcp-server
Using Docker Compose
# Copy environment file and configure
cp .env.example .env
# Edit .env with your settings

# Run the server
docker-compose up

Tools

The MCP server provides the following tools:

Packages/Datasets
  • ckan_package_list: List all packages
  • ckan_package_show: Show details of a specific package
  • ckan_package_search: Search for packages
Organizations
  • ckan_organization_list: List all organizations
  • ckan_organization_show: Show organization details
DataStore
  • ckan_datastore_search Search DataStore Tables by Resource
Groups and Tags
  • ckan_group_list: List all groups
  • ckan_tag_list: List all tags
Resources
  • ckan_resource_show: Show resource details
System
  • ckan_site_read: Site information
  • ckan_status_show: Status and version information

Examples

Search packages
{
  "tool": "ckan_package_search",
  "arguments": {
    "q": "climate data",
    "rows": 5,
    "sort": "score desc"
  }
}
Show organization
{
  "tool": "ckan_organization_show",
  "arguments": {
    "id": "sample-organization",
    "include_datasets": true
  }
}
List all tags
{
  "tool": "ckan_tag_list",
  "arguments": {}
}

Resources

The server also provides the following resources:

  • ckan://api/docs: API documentation
  • ckan://config: Server configuration

Using with MCP Clients

Claude Desktop

Add this to your Claude Desktop configuration file:

{
  "mcpServers": {
    "ckan": {
      "command": "python",
      "args": ["/path/to/mcp_ckan_server.py"],
      "env": {
        "CKAN_URL": "https://demo.ckan.org",
        "CKAN_API_KEY": "your-api-key-here"
      }
    }
  }
}
Other MCP Clients

The server communicates via stdio, so any MCP-compatible client can connect to it by running the Python script and communicating through standard input/output.

CKAN API Reference

This MCP server implements the main endpoints of the CKAN API v3. Complete documentation: https://docs.ckan.org/en/latest/api/

License

Mozilla Public License Version 2.0

Author

(C) 2025, Ondics GmbH, https://ondics.de

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.