CKAN MCP Server について
CKAN MCP Serverは、MCP対応クライアントからCKANデータポータルの閲覧や管理を行うためのサーバーです。データセット、組織、リソース、DataStore検索、ポータル状態を扱います。
主な機能
- 01データセットの検索と一覧表示
- 02組織とリソースの詳細表示
- 03DataStoreテーブルの検索
- 04グループとタグの一覧表示
- 05ポータル状態と情報の取得
活用シーン
- 01オープンデータポータルでのデータセット検索
- 02組織のデータセットの確認
- 03リソースに対応するDataStoreテーブルの検索
MCP 対応
CKAN API操作をMCPツールとして公開し、APIドキュメントと設定をリソースとして提供します。MCP対応クライアントはstdioで接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
CKAN MCP サーバー
CKAN API 用の Model Context Protocol(MCP)サーバーです。MCP 対応クライアントから CKAN データポータルを閲覧・管理できます。
これは何ですか?
この MCP サーバーは、Model Context Protocol を通じて CKAN(Comprehensive Knowledge Archive Network)API にアクセスできます。Claude Desktop、IDE、その他の AI アプリケーションなどの MCP 対応クライアントから、CKAN データポータルを操作できます。
要件
- Python 3.13 以降
- pip(Python パッケージインストーラー)
インストール
- Python の依存関係をインストールします。
pip install -r requirements.txt
設定
以下の環境変数を設定します。
CKAN_URL:CKAN ポータルのベース URL(例:https://demo.ckan.org)CKAN_API_KEY:(任意)書き込み操作に使用する CKAN API キー
例:
export CKAN_URL="https://demo.ckan.org"
export CKAN_API_KEY="your-api-key-here"
.env.example を .env にコピーして、そちらに設定を記述することもできます。
使用方法
サーバーを直接実行する
python mcp_ckan_server.py
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
Docker Compose を使用する
# Copy environment file and configure
cp .env.example .env
# Edit .env with your settings
# Run the server
docker-compose up
ツール
MCP サーバーでは、以下のツールを利用できます。
パッケージ/データセット
ckan_package_list:すべてのパッケージを一覧表示しますckan_package_show:特定のパッケージの詳細を表示しますckan_package_search:パッケージを検索します
組織
ckan_organization_list:すべての組織を一覧表示しますckan_organization_show:組織の詳細を表示します
DataStore
ckan_datastore_search:リソース別に DataStore テーブルを検索します
グループとタグ
ckan_group_list:すべてのグループを一覧表示しますckan_tag_list:すべてのタグを一覧表示します
リソース
ckan_resource_show:リソースの詳細を表示します
システム
ckan_site_read:サイト情報ckan_status_show:ステータスとバージョン情報
例
パッケージを検索する
{
"tool": "ckan_package_search",
"arguments": {
"q": "climate data",
"rows": 5,
"sort": "score desc"
}
}
組織を表示する
{
"tool": "ckan_organization_show",
"arguments": {
"id": "sample-organization",
"include_datasets": true
}
}
すべてのタグを一覧表示する
{
"tool": "ckan_tag_list",
"arguments": {}
}
リソース
サーバーでは、以下のリソースも提供しています。
ckan://api/docs:API ドキュメントckan://config:サーバー設定
MCP クライアントでの使用
Claude Desktop
Claude Desktop の設定ファイルに以下を追加します。
{
"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"
}
}
}
}
その他の MCP クライアント
サーバーは stdio 経由で通信します。Python スクリプトを実行し、標準入出力を介して通信することで、任意の MCP 対応クライアントから接続できます。
CKAN API リファレンス
この MCP サーバーは、CKAN API v3 の主要なエンドポイントを実装しています。
詳細なドキュメント:https://docs.ckan.org/en/latest/api/
ライセンス
Mozilla Public License Version 2.0
作者
(C) 2025, Ondics GmbH, https://ondics.de
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。