数据清理接口服务

OpenRefine MCP Server为OpenRefine的HTTP API提供了一个类型化、可发现的接口,允许任何MCP兼容客户端(如Claude Desktop)安全且可重复地编排数据清理管道。

  • by FiquemSabendo
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 FiquemSabendo/openrefine_mcp

使用说明

OpenRefine MCP服务器

一种模型上下文协议(MCP)服务器,为OpenRefine的HTTP API提供类型化的可发现接口。这允许任何支持MCP的客户端(如Claude Desktop)安全且可重复地编排数据清理管道。

安装

先决条件

  • Python 3.13或更高版本
  • 紫外线 包管理器
  • OpenRefine实例正在运行(默认值: http://localhost:3333)

安装软件包

# Clone the repository
git clone <repository-url>
cd openrefine_mcp

# Install dependencies using uv
uv sync

设置克劳德桌面

  1. 创建或编辑您的Claude Desktop配置文件:

    # On macOS/Linux
    ~/.config/claude_desktop_config.json
    
    # On Windows
    %APPDATA%\claude_desktop_config.json
    
  2. 将OpenRefine MCP服务器添加到您的配置中:

    {
      "mcpServers": {
        "openrefine": {
          "command": "uv",
          "args": [
            "--directory",
            "path/to/your/openrefine_mcp",
            "run",
            "openrefine-mcp-server"
          ],
          "env": {
            "OPENREFINE_URL": "http://localhost:3333"
          }
        }
      }
    }
    
  3. 重新启动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检查器服务器

make inspector

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。