ckan-mcp-server
Enables browsing and managing CKAN data portals through MCP-compatible clients like Claude Desktop.
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
- 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
Available Tools
The MCP server provides the following tools:
Packages/Datasets
ckan_package_list: List all packagesckan_package_show: Show details of a specific packageckan_package_search: Search for packages
Organizations
ckan_organization_list: List all organizationsckan_organization_show: Show organization details
DataStore
ckan_datastore_searchSearch DataStore Tables by Resource
Groups and Tags
ckan_group_list: List all groupsckan_tag_list: List all tags
Resources
ckan_resource_show: Show resource details
System
ckan_site_read: Site informationckan_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 documentationckan://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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.