CKAN MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CKAN_API_KEY | No | API key used when the selected portal requires authentication. | |
| CKAN_BASE_URL | No | Optional default Action API base; sessions can override via ckan_api_initialise. | |
| CKAN_MCP_HOST | No | Bind host when CKAN_MCP_MODE=http. | 0.0.0.0 |
| CKAN_MCP_MODE | No | stdio for CLI integrations, http for streamable HTTP transport. | stdio |
| CKAN_MCP_PORT | No | Bind port for HTTP mode. | 8000 |
| CKAN_SITE_URL | No | Root site URL used for dataset links. | |
| CKAN_MCP_HTTP_PATH | No | Mount path for HTTP transport (used both by builtin HTTP server and Cloud Run deployments). | /mcp |
| CKAN_MCP_HTTP_LOG_LEVEL | No | Log verbosity for HTTP transport. | info |
| CKAN_MCP_LOCAL_DATASTORE | No | Local directory path where downloaded datasets are stored. Defaults to current working directory if not set. | ./ |
| CKAN_DATASET_URL_TEMPLATE | No | Overrides dataset page URL format ({name} and {id} supported). | |
| CKAN_MCP_HTTP_ALLOW_ORIGINS | No | CORS allowlist for HTTP mode. | * |
| CKAN_MCP_HTTP_JSON_RESPONSE | No | Emit JSON responses instead of SSE when true. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ckan_api_initialiseC | Select which CKAN portal this MCP session should use |
| ckan_api_availabilityB | List the configured CKAN portals and show the current selection when available |
| audit_ckan_apiC | Review the active CKAN endpoint for specification deviations and configuration overrides |
| get_packageC | Fetch complete dataset metadata by ID |
| get_first_datastore_resource_recordsC | Get records from the first active datastore resource in a dataset |
| get_resource_recordsC | Get records from a specific datastore resource |
| list_datasetsB | List all available datasets with pagination |
| search_datasetsC | Search datasets by keyword |
| find_relevant_datasetsC | Intelligent dataset discovery with relevance scoring |
| analyze_dataset_updatesC | Update frequency analysis with categorization |
| analyze_dataset_structureC | Deep data structure analysis with field definitions |
| get_data_categoriesC | Explore organizations and topic groups |
| get_dataset_insightsC | Comprehensive analysis combining multiple dimensions |
| download_dataset_locallyC | Download a dataset resource, metadata, and usage guide to the local filesystem using curl |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Most tools have clearly distinct purposes, with minimal overlap. However, 'list_datasets' and 'search_datasets' could be confused, as listing might imply a general retrieval while searching is more specific. The descriptions help differentiate them, but the boundary is slightly fuzzy.
Tool names follow a consistent verb_noun pattern throughout, such as 'analyze_dataset_structure' and 'download_dataset_locally'. There are minor deviations like 'ckan_api_initialise' (British spelling) and 'get_first_datastore_resource_records' (longer name), but overall the naming is predictable and readable.
With 14 tools, the count is well-scoped for a CKAN data portal server. Each tool appears to earn its place by covering distinct aspects like analysis, discovery, metadata fetching, and data retrieval, without feeling overly heavy or thin for the domain.
The tool surface provides strong coverage for dataset exploration, analysis, and retrieval, including CRUD-like operations (e.g., get, list, search). Minor gaps exist, such as no explicit update or delete tools for datasets, but agents can likely work around this given the server's focus on data discovery and analysis rather than management.