Skip to main content

OpenRefine MCP Server

Test

A Model Context Protocol (MCP) server that provides a typed, discoverable interface to OpenRefine's HTTP API. This allows any MCP-capable client (like Claude Desktop) to orchestrate data-cleaning pipelines safely and reproducibly.

Installation

Prerequisites

  • Python 3.13 or higher
  • uv package manager
  • OpenRefine instance running (default: http://localhost:3333)

Install the Package

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

# Install dependencies using uv
uv sync

Setup Claude Desktop

  1. Create or edit your Claude Desktop configuration file:

    # On macOS/Linux
    ~/.config/claude_desktop_config.json
    
    # On Windows
    %APPDATA%\claude_desktop_config.json
    
  2. Add the OpenRefine MCP server to your configuration:

    {
      "mcpServers": {
        "openrefine": {
          "command": "uv",
          "args": [
            "--directory",
            "path/to/your/openrefine_mcp",
            "run",
            "openrefine_mcp/openrefine_server.py"
          ],
          "env": {
            "OPENREFINE_URL": "http://localhost:3333"
          }
        }
      }
    }
    
  3. Restart Claude Desktop to load the new MCP server.

Features

This MCP server implements the following OpenRefine API endpoints:

OpenRefine API Endpoint MCP Implementation Status
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) resource ✅
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 - ❌

Available Tools

  • create_project(dataset_url: str, name: str | None = None) → Creates a new OpenRefine project from a dataset URL
  • apply_operations(project_id: int, operations: str) → Applies operations to an OpenRefine project
  • export_csv(project_id: int) → Exports CSV data from an OpenRefine project
  • delete_project(project_id: int) → Deletes an OpenRefine project

Available Resources

  • openrefine://project/{project_id}/models → Returns structural information about the project including column definitions, record model configuration, available scripting languages, and overlay models

Development

Running Tests

make test

Running the MCP Inspector server

make inspector

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for iflow-mcp_fiquemsabendo-openrefine-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_fiquemsabendo-openrefine-mcp 0.1.0
File Size Uploaded
iflow_mcp_fiquemsabendo_openrefine_mcp-0.1.0.tar.gz 8.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_fiquemsabendo-openrefine-mcp 0.1.0
File Interpreter ABI Platform
iflow_mcp_fiquemsabendo_openrefine_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.6 kB

Release files / iflow_mcp_fiquemsabendo_openrefine_mcp-0.1.0.tar.gz

Download URL iflow_mcp_fiquemsabendo_openrefine_mcp-0.1.0.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
92b75bb1c27a5418f606a8b9a61bf2a4263c65beb62b5c1b9062e33b402a5d49
BLAKE2b-256 checksum
How to use checksums
0a34e2deed4b003bb8861f86579721e3e1f806104c95659d978c8d3ed9669637
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_fiquemsabendo_openrefine_mcp-0.1.0-py3-none-any.whl

Download URL iflow_mcp_fiquemsabendo_openrefine_mcp-0.1.0-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2332a9105cff7ef311e70338e6040fe487ac51683f4d77cfdcd62ab1f0bfadf9
BLAKE2b-256 checksum
How to use checksums
78d6357572a8093e13ab33a51a96507c34d43e1ba0a2cd0463abe79f4452b763
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page