这是一个提供类型化且可发现接口的 Model Context Protocol (MCP) 服务器,用于 OpenRefine 的 HTTP API。这允许任何支持 MCP 的客户端(如 Claude Desktop)安全且可重复地编排数据清洗管道。
http://localhost:3333)# 克隆仓库
git clone <repository-url>
cd openrefine_mcp
# 使用 uv 安装依赖
uv sync
创建或编辑你的 Claude Desktop 配置文件:
# 在 macOS/Linux 上
~/.config/claude_desktop_config.json
# 在 Windows 上
%APPDATA%\claude_desktop_config.json
将 OpenRefine MCP 服务器添加到你的配置中:
{
"mcpServers": {
"openrefine": {
"command": "uv",
"args": [
"--directory",
"path/to/your/openrefine_mcp",
"run",
"openrefine_mcp/openrefine_server.py"
],
"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
make inspector
本项目采用 MIT 许可证 - 详情见 LICENSE 文件。