ChangeThisFile — file conversion between 690+ formats (hosted Streamable HTTP + stdio)
RemoteAbout ChangeThisFile — file conversion between 690+ formats (hosted Streamable HTTP + stdio)
ChangeThisFile is an MCP server for converting and processing files across a broad range of formats. It supports document translation, table extraction, compression, and plain-language job routing, with hosted HTTP and stdio options.
Key features
- 01Convert files across supported formats
- 02Translate documents while preserving layout
- 03Extract tables from PDFs and images
- 04Compress files to a maximum size
- 05Route plain-language file instructions
- 06Check submitted job status
Use cases
- 01Convert a file using a URL or base64 content
- 02Translate a document and retrieve its preview
- 03Export PDF or image tables to Excel
- 04Compress a video, PDF, or image to a size limit
MCP support
Exposes seven file-processing tools to MCP clients, including conversion, translation, extraction, compression, natural-language routing, and job checks. It is available through hosted Streamable HTTP or a local stdio bridge.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://changethisfile.com/mcpclaude mcp add --transport http changethisfile https://changethisfile.com/mcp{"mcpServers":{"changethisfile":{"type":"http","url":"https://changethisfile.com/mcp"}}}Open in Cursor{"servers":{"changethisfile":{"type":"http","url":"https://changethisfile.com/mcp"}}}Open in VS Code{"mcpServers":{"changethisfile":{"type":"http","url":"https://changethisfile.com/mcp"}}}{"mcpServers":{"changethisfile":{"serverUrl":"https://changethisfile.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
7| Parameter | Type | Required | Description |
|---|---|---|---|
| filename | string | No | Optional filename hint for auto-detection (e.g. "document.docx"). Include this for extensionless download URLs when known. |
| source_url | string | No | Publicly accessible URL of the file to convert (preferred for large files) |
| source_format | string | No | Source format extension (e.g. "docx", "mp4"). Optional: detected from filename, URL response filename, or file bytes when omitted. |
| target_format | string | Yes | Target format extension (e.g. "json", "mp3", "pdf"). Required. |
| base64_content | string | No | Base64-encoded file content (for small files; max ~5MB) |
Details
From the project READMEChangeThisFile MCP Server
Use ChangeThisFile's seven file tools from any MCP client: conversion across 1,000+ supported routes, document translation, table extraction, exact-size compression, natural-language routing, and job status checks.
Powered by ChangeThisFile.com. Discovery and paid-preview jobs are public. General convert_file works without a key for 25 conversions per month per network; after that it needs a free verified developer key (25 conversions/month, shared with the REST API), and paid API plans raise the limit.
Tools
| Tool | Description |
|---|---|
convert_file | Convert a file. Pass a publicly accessible source_url or base64_content (max ~5MB), plus a target_format (e.g. pdf, mp3, json). Source format is auto-detected from the URL/filename, or pass source_format explicitly. Returns a download URL valid for 1 hour. |
list_conversions | List all supported conversion routes, optionally filtered by source_format (e.g. docx → see every format you can convert DOCX into). |
translate_file | Translate a document with its layout preserved. Returns a free preview and a one-time checkout link for the full output. |
extract_tables | Extract tables from PDFs or images into Excel. Returns a free preview and a one-time checkout link for the full output. |
compress_file | Compress a PDF, image, or video to an exact maximum size. Free with a daily limit. |
do_file_job | Route a plain-language file instruction to conversion, translation, extraction, or compression. |
check_job | Check a submitted job and retrieve its preview, checkout link, or download URL. |
Option 1 — Remote endpoint (recommended, no install)
The server is hosted at https://changethisfile.com/mcp using streamable HTTP transport (MCP spec 2025-03-26). If your client supports remote MCP servers, point it straight at the endpoint. Clients that support custom headers can send Authorization: Bearer ctf_sk_... to use authenticated developer metering.
{
"mcpServers": {
"changethisfile": {
"type": "streamable-http",
"url": "https://changethisfile.com/mcp"
}
}
}
Claude Code:
claude mcp add --transport http changethisfile https://changethisfile.com/mcp
Option 2 — Local stdio server (this package)
For clients that only speak stdio, this package bridges stdio ↔ the hosted endpoint:
{
"mcpServers": {
"changethisfile": {
"command": "npx",
"args": ["-y", "github:aadilr/changethisfile-mcp"],
"env": {
"CTF_API_KEY": "ctf_sk_your_key_here"
}
}
}
}
CTF_API_KEY is optional: without it you get 25 free conversions per month per network; after that convert_file asks for a key. Get a verified free key from the ChangeThisFile dashboard (or POST https://changethisfile.com/v1/keys/free with {"email":"[email protected]"} and click the verification email); its 25 monthly conversions are shared across MCP and REST. Paid plans start at $29/month.
Or clone and run directly:
git clone https://github.com/aadilr/changethisfile-mcp.git
cd changethisfile-mcp
npm install
node index.js
Option 3 — Agent Skill / Claude Code plugin
This repo doubles as an Agent Skill and Claude Code plugin.
Any skills-capable agent (Claude Code, Codex CLI, Cursor, Gemini CLI, Copilot, and more):
npx skills add aadilr/changethisfile-mcp
Claude Code plugin (bundles the MCP server + the skill):
/plugin marketplace add aadilr/changethisfile-mcp
/plugin install changethisfile@changethisfile
The file-conversion skill prefers the MCP tools when connected and otherwise falls back to a bundled script (skills/file-conversion/scripts/convert.sh) that talks to the hosted endpoint over plain HTTPS — no MCP client required.
Option 4 — Docker
docker build -t changethisfile-mcp .
docker run -i --rm -e CTF_API_KEY changethisfile-mcp
Quick test
curl -X POST https://changethisfile.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
Supported formats
| Category | Examples |
|---|---|
| Image | JPG, PNG, WebP, GIF, BMP, AVIF, ICO, SVG, TIFF, HEIC, PSD, RAW |
| Video | MP4, WebM, MKV, AVI, MOV, 3GP, FLV, WMV |
| Audio | MP3, WAV, FLAC, AAC, OGG, M4A, OPUS |
| Document | PDF, DOCX, DOC, ODT, RTF, TXT, HTML, MD, PPT, PPTX |
| Data | JSON, CSV, TSV, YAML, XML, TOML, XLSX, XLS |
| Font | TTF, OTF, WOFF, WOFF2 |
| Ebook | EPUB, MOBI, AZW3, FB2, CBR, CBZ |
| Archive | ZIP, RAR, 7Z, TAR, TAR.GZ, TAR.BZ2, TAR.XZ |
Use list_conversions for the full route table.
Environment variables
| Variable | Default | Purpose |
|---|---|---|
CTF_API_KEY | unset | Optional verified developer key forwarded as a bearer token; the value is never logged |
CTF_MCP_URL | https://changethisfile.com/mcp | Override the upstream endpoint |
CHANGETHISFILE_MCP_URL | unset | Legacy alias for CTF_MCP_URL |
Privacy & limits
- Discovery and paid-preview jobs require no account. General conversion is temporarily anonymous in compatibility mode; a verified key enables shared developer metering now.
- Files are processed server-side and auto-deleted within 24 hours; download URLs expire after 1 hour.
- MCP inputs are capped at 25 MB. Authenticated
convert_fileuses the developer account's shared API/MCP rate and monthly quota; other expensive tools retain per-account or per-IP abuse limits.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.