ChangeThisFile — file conversion between 690+ formats (hosted Streamable HTTP + stdio)

by aadilr

3 stars
283 downloads
Not rated
GitHub Website

About

MCP server for ChangeThisFile — free file conversion between 690+ formats (image, video, audio, document, data, font, ebook, archive). No auth required.

Details

Author
aadilr
GitHub stars
3
Downloads
283
Categories
File Management, Other, Media

- Convert between 690+ file formats
- No API key or signup required
- Remote streamable HTTP or local stdio transport
- Runs on real engines (FFmpeg, LibreOffice, Calibre, etc.)
- Temporary signed download URL (valid 1 hour)
- Auto-delete uploaded files within 24 hours

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name ChangeThisFile — file conversion between 690+ formats (hosted Streamable HTTP + stdio)
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

You can use the hosted remote endpoint (https://changethisfile.com/mcp) with streamable HTTP transport, or run a local stdio bridge via npx github:aadilr/changethisfile-mcp. It also works as a Claude Code plugin, an Agent Skill, or via Docker. Two tools are provided: convert_file (pass a source URL or base64 content and a target format) and list_conversions (list all supported routes).

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "changethisfile \u2014 file conversion between 690+ formats (hosted streamable http + stdio)": {
            "changethisfile-mcp": {
                "command": "node",
                "args": [
                    "index.js"
                ]
            }
        }
    }
}

McpServers

{
    "changethisfile-mcp": {
        "command": "node",
        "args": [
            "index.js"
        ]
    }
}

ChangeThisFile MCP Server

Convert files between 690+ formats from any MCP client — image, video, audio, document, data, spreadsheet, font, ebook, and archive. Free, no API key, no signup.

Powered by ChangeThisFile.com. Conversions run on real engines (FFmpeg, LibreOffice, Calibre, 7-Zip, sharp, Ghostscript, fonttools, and more) and return a temporary signed download URL. Uploaded files are auto-deleted within 24 hours.

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). |

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:

{
  "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"]
    }
  }
}

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 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 |
|----------|---------|---------|
| CHANGETHISFILE_MCP_URL | https://changethisfile.com/mcp | Override the upstream endpoint |

Privacy & limits

- No authentication or account required.
- Files are processed server-side and auto-deleted within 24 hours; download URLs expire after 1 hour.
- Per-IP rate limiting applies. For higher volume, see the authenticated API.

License

MIT

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.