Mcp Server To Control Openrefine について
OpenRefine の HTTP API を型付きインターフェースで MCP クライアントに提供する MCP サーバーです。プロジェクトの作成、操作の適用、CSV 出力、削除、モデル情報の取得に対応します。
主な機能
- 01データセット URL からプロジェクトを作成
- 02プロジェクトに操作を適用
- 03プロジェクトデータを CSV で出力
- 04プロジェクトを削除
- 05プロジェクトモデル情報を取得
活用シーン
- 01データセット URL から OpenRefine プロジェクトを開始
- 02MCP クライアント経由でデータクリーニング操作を適用
- 03クリーニング後のプロジェクトデータを CSV に出力
MCP 対応
OpenRefine API の機能を MCP ツールとプロジェクトモデルのリソースとして公開します。MCP クライアントはプロジェクトの作成・管理、操作の適用、CSV 出力、構造の確認を行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OpenRefine MCP Server
OpenRefine の HTTP API に対して、型付けされた検索可能なインターフェースを提供する Model Context Protocol(MCP)サーバーです。これにより、MCP 対応クライアント(Claude Desktop など)がデータクレンジングのパイプラインを安全かつ再現可能な方法で実行できます。
インストール
前提条件
- Python 3.13 以降
- uv パッケージマネージャー
- OpenRefine インスタンスが稼働していること(デフォルト:
http://localhost:3333)
パッケージのインストール
# Clone the repository
git clone <repository-url>
cd openrefine_mcp
# Install dependencies using uv
uv sync
Claude Desktop のセットアップ
-
Claude Desktop の設定ファイルを作成または編集します。
# On macOS/Linux ~/.config/claude_desktop_config.json # On Windows %APPDATA%\claude_desktop_config.json -
OpenRefine MCP サーバーを設定に追加します。
{ "mcpServers": { "openrefine": { "command": "uv", "args": [ "--directory", "path/to/your/openrefine_mcp", "run", "openrefine-mcp-server" ], "env": { "OPENREFINE_URL": "http://localhost:3333" } } } } -
Claude Desktop を再起動して、新しい MCP サーバーを読み込みます。
機能
この MCP サーバーは、以下の OpenRefine API エンドポイントを実装しています。
| OpenRefine API エンドポイント | MCP の実装 | ステータス |
|---|---|---|
POST /command/core/create-project-from-upload | create_project(dataset_url: str, name: str | None = None) | ✅ |
GET /command/core/get-models | get_project_models(project_id: int) リソース | ✅ |
POST /command/core/apply-operations | apply_operations(project_id: int, operations: str) | ✅ |
POST /command/core/export-rows | export_csv(project_id: int) | ✅ |
POST /command/core/delete-project | delete_project(project_id: int) | ✅ |
POST /command/core/set-project-metadata | - | ❌ |
POST /command/core/set-project-tags | - | ❌ |
GET /command/core/get-all-project-metadata | - | ❌ |
POST /command/core/preview-expression | - | ❌ |
GET /command/core/get-processes | - | ❌ |
利用可能なツール
create_project(dataset_url: str, name: str | None = None)→ データセット URL から新しい OpenRefine プロジェクトを作成しますapply_operations(project_id: int, operations: str)→ OpenRefine プロジェクトに操作を適用しますexport_csv(project_id: int)→ OpenRefine プロジェクトから CSV データをエクスポートしますdelete_project(project_id: int)→ OpenRefine プロジェクトを削除します
利用可能なリソース
openrefine://project/{project_id}/models→ 列の定義、レコードモデルの設定、利用可能なスクリプト言語、オーバーレイモデルなど、プロジェクトの構造情報を返します
開発
テストの実行
make test
MCP Inspector サーバーの実行
make inspector
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。