{
  "markdown": "# ChangeThisFile MCP Server\n\nUse 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.\n\nPowered by [ChangeThisFile.com](https://changethisfile.com). Discovery and paid-preview jobs are public. General `convert_file` accepts a verified developer key now and shares its quota with REST API usage. Anonymous conversion remains available during the connector compatibility window; authentication will not be enforced before August 27, 2026, and only after connector support is verified.\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `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. |\n| `list_conversions` | List all supported conversion routes, optionally filtered by `source_format` (e.g. `docx` → see every format you can convert DOCX into). |\n| `translate_file` | Translate a document with its layout preserved. Returns a free preview and a one-time checkout link for the full output. |\n| `extract_tables` | Extract tables from PDFs or images into Excel. Returns a free preview and a one-time checkout link for the full output. |\n| `compress_file` | Compress a PDF, image, or video to an exact maximum size. Free with a daily limit. |\n| `do_file_job` | Route a plain-language file instruction to conversion, translation, extraction, or compression. |\n| `check_job` | Check a submitted job and retrieve its preview, checkout link, or download URL. |\n\n## Option 1 — Remote endpoint (recommended, no install)\n\nThe 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.\n\n```json\n{\n  \"mcpServers\": {\n    \"changethisfile\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://changethisfile.com/mcp\"\n    }\n  }\n}\n```\n\nClaude Code:\n\n```bash\nclaude mcp add --transport http changethisfile https://changethisfile.com/mcp\n```\n\n## Option 2 — Local stdio server (this package)\n\nFor clients that only speak stdio, this package bridges stdio ↔ the hosted endpoint:\n\n```json\n{\n  \"mcpServers\": {\n    \"changethisfile\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"github:aadilr/changethisfile-mcp\"],\n      \"env\": {\n        \"CTF_API_KEY\": \"ctf_sk_your_key_here\"\n      }\n    }\n  }\n}\n```\n\n`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](https://changethisfile.com/dashboard) (or `POST https://changethisfile.com/v1/keys/free` with `{\"email\":\"you@example.com\"}` and click the verification email); its 25 monthly conversions are shared across MCP and REST. Paid plans start at $29/month.\n\nOr clone and run directly:\n\n```bash\ngit clone https://github.com/aadilr/changethisfile-mcp.git\ncd changethisfile-mcp\nnpm install\nnode index.js\n```\n\n## Option 3 — Agent Skill / Claude Code plugin\n\nThis repo doubles as an [Agent Skill](https://agentskills.io) and Claude Code plugin.\n\n**Any skills-capable agent** (Claude Code, Codex CLI, Cursor, Gemini CLI, Copilot, and more):\n\n```bash\nnpx skills add aadilr/changethisfile-mcp\n```\n\n**Claude Code plugin** (bundles the MCP server + the skill):\n\n```\n/plugin marketplace add aadilr/changethisfile-mcp\n/plugin install changethisfile@changethisfile\n```\n\nThe `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.\n\n## Option 4 — Docker\n\n```bash\ndocker build -t changethisfile-mcp .\ndocker run -i --rm -e CTF_API_KEY changethisfile-mcp\n```\n\n## Quick test\n\n```bash\ncurl -X POST https://changethisfile.com/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\",\"params\":{}}'\n```\n\n## Supported formats\n\n| Category | Examples |\n|----------|----------|\n| Image | JPG, PNG, WebP, GIF, BMP, AVIF, ICO, SVG, TIFF, HEIC, PSD, RAW |\n| Video | MP4, WebM, MKV, AVI, MOV, 3GP, FLV, WMV |\n| Audio | MP3, WAV, FLAC, AAC, OGG, M4A, OPUS |\n| Document | PDF, DOCX, DOC, ODT, RTF, TXT, HTML, MD, PPT, PPTX |\n| Data | JSON, CSV, TSV, YAML, XML, TOML, XLSX, XLS |\n| Font | TTF, OTF, WOFF, WOFF2 |\n| Ebook | EPUB, MOBI, AZW3, FB2, CBR, CBZ |\n| Archive | ZIP, RAR, 7Z, TAR, TAR.GZ, TAR.BZ2, TAR.XZ |\n\nUse `list_conversions` for the full route table.\n\n## Environment variables\n\n| Variable | Default | Purpose |\n|----------|---------|---------|\n| `CTF_API_KEY` | unset | Optional verified developer key forwarded as a bearer token; the value is never logged |\n| `CTF_MCP_URL` | `https://changethisfile.com/mcp` | Override the upstream endpoint |\n| `CHANGETHISFILE_MCP_URL` | unset | Legacy alias for `CTF_MCP_URL` |\n\n## Privacy & limits\n\n- Discovery and paid-preview jobs require no account. General conversion is temporarily anonymous in compatibility mode; a verified key enables shared developer metering now.\n- Files are processed server-side and **auto-deleted within 24 hours**; download URLs expire after 1 hour.\n- MCP inputs are capped at 25 MB. Authenticated `convert_file` uses the developer account's shared API/MCP rate and monthly quota; other expensive tools retain per-account or per-IP abuse limits.\n\n## License\n\nMIT\n",
  "bytes": 5757,
  "sha": "ec4d2e7f0f95852071996ec3bd0d52cb92ccb540a092205e8e78f92f748dada3",
  "repo_slug": "aadilr/changethisfile-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_changethisfile_mcp_6e22d453/readme"
}