reparatio-mcp

reparatio-mcp

MCP server for Reparatio that lets AI assistants inspect, convert, merge, append, and query local data files in over 25 formats.

Category
访问服务器

README

reparatio-mcp

Alpha software. Interfaces, tool names, and behaviour may change without notice between versions.

MCP server for Reparatio — inspect, convert, merge, append, and query local data files directly from your AI assistant.

Supports CSV, TSV, Excel (.xlsx / .xls), ODS, JSON, JSONL, GeoJSON, Parquet, Feather, Arrow, ORC, Avro, SQLite, YAML, BSON, SRT, VTT, HTML, Markdown, XML, SQL dumps, PDF (text layer), and files compressed with gzip, bzip2, zstd, or zip.

See also: reparatio-cli (command-line tool) · reparatio-sdk (Python SDK)


How it works

The MCP server runs locally on your machine. When your AI assistant calls a tool, the server reads the file from your disk, sends it to the Reparatio API for processing, and writes the result back to disk — returning the output path to the assistant. Binary data never passes through the MCP protocol layer; only file paths and options travel as JSON.


Prerequisites

  • Python 3.11 or later — check with python3 --version
  • A Reparatio API key — required for convert, merge, append, and query. inspect_file works without a key.
    • Get a key at reparatio.app (Professional plan — $79/mo)
    • The MCP server requires the Professional plan; Standard ($29/mo) does not include API or MCP access
    • Keys are prefixed with rp_

uvx (from uv) is the recommended way to run the server — no install step required. Install uv with:

curl -LsSf https://astral.sh/uv/install.sh | sh

Installation

Option A — run without installing (recommended):

uvx reparatio-mcp

Option B — install permanently:

pip install reparatio-mcp

Client configuration

MCP is a client-side protocol. Your AI assistant application needs to support MCP tool calls. The sections below cover every major client. The LLM backend (Claude, GPT-4o, Grok, DeepSeek, Gemini, a local Ollama model, etc.) is configured separately inside each client — the MCP server works with any of them.


Claude Desktop

Edit claude_desktop_config.json:

Platform Path
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json
Linux ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "reparatio": {
      "command": "uvx",
      "args": ["reparatio-mcp"],
      "env": {
        "REPARATIO_API_KEY": "rp_YOUR_KEY"
      }
    }
  }
}

Restart Claude Desktop after saving. You should see "reparatio" listed under MCP servers in the app.


Cursor

Cursor supports MCP servers globally or per-project.

Global (~/.cursor/mcp.json):

{
  "mcpServers": {
    "reparatio": {
      "command": "uvx",
      "args": ["reparatio-mcp"],
      "env": {
        "REPARATIO_API_KEY": "rp_YOUR_KEY"
      }
    }
  }
}

Per-project (.cursor/mcp.json in your project root) — same format.

Reload the MCP server list in Cursor Settings → MCP after saving.


Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "reparatio": {
      "command": "uvx",
      "args": ["reparatio-mcp"],
      "env": {
        "REPARATIO_API_KEY": "rp_YOUR_KEY"
      }
    }
  }
}

VS Code — GitHub Copilot

VS Code 1.99+ supports MCP natively. Add to your settings.json (Ctrl+Shift+P → "Open User Settings (JSON)"):

{
  "mcp": {
    "servers": {
      "reparatio": {
        "type": "stdio",
        "command": "uvx",
        "args": ["reparatio-mcp"],
        "env": {
          "REPARATIO_API_KEY": "rp_YOUR_KEY"
        }
      }
    }
  }
}

VS Code — Continue

Continue is a VS Code / JetBrains extension that supports many LLM backends (OpenAI, Anthropic, DeepSeek, Grok, Gemini, Ollama, and more) alongside MCP tool servers.

Edit ~/.continue/config.json:

{
  "mcpServers": [
    {
      "name": "reparatio",
      "command": "uvx",
      "args": ["reparatio-mcp"],
      "env": {
        "REPARATIO_API_KEY": "rp_YOUR_KEY"
      }
    }
  ]
}

Continue handles the LLM connection separately. Reparatio tools are available regardless of which model you point Continue at.


Zed

Edit ~/.config/zed/settings.json:

{
  "context_servers": {
    "reparatio": {
      "command": {
        "path": "uvx",
        "args": ["reparatio-mcp"],
        "env": {
          "REPARATIO_API_KEY": "rp_YOUR_KEY"
        }
      }
    }
  }
}

Open WebUI (Ollama and others)

Open WebUI is a self-hosted chat interface that works with Ollama, OpenAI-compatible APIs, and others, and supports MCP tool servers.

  1. Go to Settings → Tools → MCP Servers
  2. Add a new server:
    • Command: uvx reparatio-mcp
    • Environment: REPARATIO_API_KEY=rp_YOUR_KEY
  3. Save and reload.

The tools will be available to whichever model you have selected — Llama 3, Mistral, Qwen, DeepSeek-R1, or any other Ollama model.


Claude Code (CLI)

Add to your project's .mcp.json or run inline:

{
  "mcpServers": {
    "reparatio": {
      "command": "uvx",
      "args": ["reparatio-mcp"],
      "env": {
        "REPARATIO_API_KEY": "rp_YOUR_KEY"
      }
    }
  }
}

Available tools

inspect_file

Detect encoding, count rows, list column types and statistics, and return a data preview. No API key required.

Parameter Type Default Description
path string required Local file path
no_header bool false Treat first row as data (CSV/TSV)
fix_encoding bool true Auto-detect and repair encoding
delimiter string "" Custom delimiter (auto-detected if blank)
sheet string "" Sheet or table name for Excel, ODS, SQLite
preview_rows int 8 Preview rows to return (1–100)

convert_file

Convert a file from any supported input format to any supported output format. Professional plan required ($79/mo).

Parameter Type Default Description
input_path string required Source file path
target_format string required Output format: csv, tsv, csv.gz, csv.bz2, csv.zst, csv.zip, tsv.gz, tsv.bz2, tsv.zst, tsv.zip, xlsx, ods, json, json.gz, json.bz2, json.zst, json.zip, jsonl, jsonl.gz, jsonl.bz2, jsonl.zst, jsonl.zip, geojson, geojson.gz, geojson.bz2, geojson.zst, geojson.zip, yaml, bson, srt, vtt, parquet, feather, arrow, orc, avro, sqlite
output_path string auto Where to save the result
no_header bool false Treat first row as data
fix_encoding bool true Repair encoding
delimiter string "" Custom delimiter for CSV-like input
sheet string "" Sheet or table to read
columns array [] Rename columns — new names in order
select_columns array [] Columns to include (all if omitted)
deduplicate bool false Remove duplicate rows
sample_n int Random sample of N rows
sample_frac float Random sample fraction (e.g. 0.1 for 10%)
geometry_column string "geometry" WKT geometry column for GeoJSON output
encoding_override string "" Force a specific encoding instead of auto-detecting. Pass any Python codec name, e.g. cp037 (EBCDIC US), cp500 (EBCDIC International), cp1026 (EBCDIC Turkish), cp1140 (EBCDIC US+Euro). Leave blank for auto-detection.

merge_files

Merge two files using a SQL-style join or append (row-stacking). Professional plan required ($79/mo).

Parameter Type Default Description
file1_path string required First file path
file2_path string required Second file path
operation string required append, left, right, outer, or inner
target_format string required Output format
output_path string auto Where to save the result
join_on string "" Comma-separated column name(s) to join on
no_header bool false Treat first row as data
fix_encoding bool true Repair encoding

Operations:

Value Behaviour
append Stack all rows from both files; missing columns filled with null
left All rows from file 1; matching columns from file 2
right All rows from file 2; matching columns from file 1
outer All rows from both files; nulls where no match
inner Only rows matching in both files

append_files

Stack rows from two or more files vertically. Handles column mismatches gracefully. Professional plan required ($79/mo).

Parameter Type Default Description
paths array required List of file paths (minimum 2)
target_format string required Output format
output_path string auto Where to save the result
no_header bool false Treat first row as data
fix_encoding bool true Repair encoding

query_file

Run a SQL query against a file. The file is loaded as a table named data. Professional plan required ($79/mo).

Parameter Type Default Description
path string required Source file path
sql string required SQL query (table name: data)
target_format string "csv" Output format
output_path string auto Where to save the result
no_header bool false Treat first row as data
fix_encoding bool true Repair encoding
delimiter string "" Custom delimiter for CSV-like input
sheet string "" Sheet or table to read

Supports SELECT, WHERE, GROUP BY, ORDER BY, LIMIT, aggregations, and most scalar functions.


Supported formats

Format Input Output
CSV
TSV
CSV.GZ (gzip)
CSV.BZ2 (bzip2)
CSV.ZST (zstd)
CSV.ZIP
TSV.GZ (gzip)
TSV.BZ2 (bzip2)
TSV.ZST (zstd)
TSV.ZIP
GZ (any supported format inside)
ZIP (any supported format inside)
BZ2 (any supported format inside)
ZST (any supported format inside)
Excel (.xlsx)
Excel (.xls, legacy)
ODS
JSON
JSON.GZ (gzip)
JSON.BZ2 (bzip2)
JSON.ZST (zstd)
JSON.ZIP
JSON Lines
JSON Lines GZ (gzip)
JSON Lines BZ2 (bzip2)
JSON Lines ZST (zstd)
JSON Lines ZIP
GeoJSON
GeoJSON.GZ (gzip)
GeoJSON.BZ2 (bzip2)
GeoJSON.ZST (zstd)
GeoJSON.ZIP
Parquet
Feather
Arrow
ORC
Avro
SQLite
YAML
BSON
SRT (subtitles)
VTT (subtitles)
HTML / HTM
Markdown
XML
SQL dump
PDF (text layer)

Example prompts

Once the server is connected, you can use natural language:

Inspect ~/data/sales.csv and tell me about the schema.

Convert ~/data/sales.csv to Parquet.

Convert ~/data/report.xlsx, sheet "Q3", to CSV, selecting only the
"date", "region", and "revenue" columns.

Merge orders.csv and customers.csv on customer_id using a left join,
output as Parquet.

Append all the CSV files in ~/data/monthly/ into one file and save it
as ~/data/all_months.parquet.

Query ~/data/events.parquet: give me total revenue by region for 2025,
sorted descending, as a JSON file.

I have ~/data/legacy.csv from an old Windows system — fix the encoding
and convert it to Excel.

Convert ~/data/mainframe.dat (EBCDIC cp037 encoding) to CSV.
Use encoding_override: cp037.

Output paths

If you don't specify output_path, the server picks a sensible default in the same directory as the input:

Tool Default output
convert_file {input_stem}.{target_format}
merge_files {file1_stem}_{operation}_{file2_stem}.{target_format}
append_files appended.{target_format}
query_file {input_stem}_query.{target_format}

Pricing

Plan Price MCP access
Free (anonymous) $0 No (inspect_file only, 100-row limit)
Free (registered) $0 No (inspect_file only, 250-row limit)
Standard $29/month No
Professional $79/month Yes — full access, 2 GB files
Credits $10 = 25 conversions No

The Professional plan is required for MCP tool access (convert, merge, append, query). inspect_file is free for all users but output is truncated for non-Professional accounts. A Professional plan removes all row limits and enables all tools.


Privacy

Your files are sent to the Reparatio API at reparatio.app for processing. Files are handled in memory and never stored — see the Privacy Policy. If you need to keep data fully local, this tool is not the right fit.


Environment variables

Variable Default Description
REPARATIO_API_KEY Your rp_... API key

Troubleshooting

"REPARATIO_API_KEY is not set" The key is missing from the env block in your client config. Check spelling — it must be exactly REPARATIO_API_KEY.

"uvx: command not found" Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh, then restart your terminal and your AI client.

"Insufficient plan" The tool you called requires a Professional plan key ($79/mo). inspect_file is always free.

"File not found" Use an absolute path (starting with / or ~). Relative paths are resolved from the server process's working directory, which may not be what you expect.

"Parse failure" The file could not be read in the detected format. Try setting fix_encoding: true, specifying a delimiter, or confirming the file extension matches the actual format.

Tools not appearing in the client Restart the client after editing the config. Check that uvx is on the PATH visible to the client process — on macOS/Linux, confirm with which uvx.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选