ChangeThisFile MCP Server
ChangeThisFile MCP Server
从任何 MCP 客户端使用 ChangeThisFile 的七个文件工具:覆盖 1,000 多种支持路线的转换、文档翻译、表格提取、精确大小压缩、自然语言路由和任务状态检查。
由 ChangeThisFile.com 提供支持。发现和付费预览任务都是公开的。常规的 convert_file 现在接受经过验证的开发者密钥,并与 REST API 使用量共享配额。在连接器兼容窗口期内,匿名转换仍然可用;在 2026 年 8 月 27 日之前不会强制要求身份验证,并且只有在连接器支持得到验证之后才会强制执行。
工具
工具 | 描述 |
| 转换文件。传入可公开访问的 |
| 列出所有支持的转换路线,可按 |
| 翻译文档并保留其布局。返回免费预览和完整输出的一次性结账链接。 |
| 从 PDF 或图片中提取表格到 Excel。返回免费预览和完整输出的一次性结账链接。 |
| 将 PDF、图片或视频压缩到精确的最大大小。免费,但有每日限制。 |
| 将自然语言的文件指令路由到转换、翻译、提取或压缩。 |
| 检查已提交的任务,并获取其预览、结账链接或下载 URL。 |
Related MCP server: Omni File Converter MCP
选项 1 — 远程端点(推荐,无需安装)
服务器托管在 https://changethisfile.com/mcp,使用可流式 HTTP 传输(MCP 规范 2025-03-26)。如果你的客户端支持远程 MCP 服务器,直接指向该端点即可。支持自定义请求头的客户端可以发送 Authorization: Bearer ctf_sk_... 来使用经过身份验证的开发者计量。
{
"mcpServers": {
"changethisfile": {
"type": "streamable-http",
"url": "https://changethisfile.com/mcp"
}
}
}Claude Code:
claude mcp add --transport http changethisfile https://changethisfile.com/mcp选项 2 — 本地 stdio 服务器(本包)
对于只支持 stdio 的客户端,本包在 stdio 与托管端点之间架起桥梁:
{
"mcpServers": {
"changethisfile": {
"command": "npx",
"args": ["-y", "github:aadilr/changethisfile-mcp"],
"env": {
"CTF_API_KEY": "ctf_sk_your_key_here"
}
}
}
}CTF_API_KEY 是可选的:不设置时,每个网络每月可获得 25 次免费转换;超过后 convert_file 会要求提供密钥。从 ChangeThisFile 仪表盘 获取经过验证的免费密钥(或使用 {"email":"you@example.com"} 发送 POST https://changethisfile.com/v1/keys/free,然后点击验证邮件);其每月 25 次转换在 MCP 和 REST 之间共享。付费套餐每月 29 美元起。
或者直接克隆并运行:
git clone https://github.com/aadilr/changethisfile-mcp.git
cd changethisfile-mcp
npm install
node index.js选项 3 — Agent Skill / Claude Code 插件
本仓库兼作 Agent Skill 和 Claude Code 插件。
任何支持技能的智能体(Claude Code、Codex CLI、Cursor、Gemini CLI、Copilot 等):
npx skills add aadilr/changethisfile-mcpClaude Code 插件(捆绑了 MCP 服务器 + 技能):
/plugin marketplace add aadilr/changethisfile-mcp
/plugin install changethisfile@changethisfilefile-conversion 技能在已连接时会优先使用 MCP 工具,否则会回退到捆绑的脚本(skills/file-conversion/scripts/convert.sh),该脚本通过纯 HTTPS 与托管端点通信——无需 MCP 客户端。
选项 4 — Docker
docker build -t changethisfile-mcp .
docker run -i --rm -e CTF_API_KEY changethisfile-mcp快速测试
curl -X POST https://changethisfile.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'支持的格式
类别 | 示例 |
图片 | JPG, PNG, WebP, GIF, BMP, AVIF, ICO, SVG, TIFF, HEIC, PSD, RAW |
视频 | MP4, WebM, MKV, AVI, MOV, 3GP, FLV, WMV |
音频 | MP3, WAV, FLAC, AAC, OGG, M4A, OPUS |
文档 | PDF, DOCX, DOC, ODT, RTF, TXT, HTML, MD, PPT, PPTX |
数据 | JSON, CSV, TSV, YAML, XML, TOML, XLSX, XLS |
字体 | TTF, OTF, WOFF, WOFF2 |
电子书 | EPUB, MOBI, AZW3, FB2, CBR, CBZ |
压缩包 | ZIP, RAR, 7Z, TAR, TAR.GZ, TAR.BZ2, TAR.XZ |
使用 list_conversions 查看完整的路线表。
环境变量
变量 | 默认值 | 用途 |
| 未设置 | 可选的已验证开发者密钥,作为 bearer token 转发;该值永远不会被记录 |
|
| 覆盖上游端点 |
| 未设置 |
|
隐私与限制
发现和付费预览任务无需账户。在兼容模式下,常规转换暂时保持匿名;现在,经过验证的密钥即可启用共享的开发者计量。
文件在服务器端处理,并会在 24 小时内自动删除;下载 URL 在 1 小时后过期。
MCP 输入上限为 25 MB。经过身份验证的
convert_file使用开发者账户的共享 API/MCP 速率和每月配额;其他高开销工具保留按账户或按 IP 的滥用限制。
许可证
MIT
Available Tools
2 toolsconvert_fileConvert FileAInspect
Convert a file from one format to another. Pass EITHER a publicly accessible URL (source_url) OR base64-encoded file contents (base64_content + source_format) — exactly one is required. Returns a temporary download URL (valid 1 hour; file deleted within 24 hours).
| Name | Required | Description | Default |
|---|---|---|---|
| source_url | No | Publicly accessible URL of the file to convert (preferred for large files) | |
| base64_content | No | Base64-encoded file content (for small files; max ~5MB) | |
| source_format | No | Source format extension (e.g. "docx", "mp4"). Auto-detected from URL if omitted. | |
| target_format | Yes | Target format extension (e.g. "json", "mp3", "pdf"). Required. | |
| filename | No | Optional filename hint for auto-detection (e.g. "document.docx") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral details: returns a temporary download URL (valid 1 hour) and that the file is deleted within 24 hours. These details are beyond what annotations provide (readOnlyHint=false, destructiveHint=false) and give the agent important lifecycle information. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at 3 sentences, each serving a distinct purpose: stating the core action, specifying parameter rules, and detailing the return behavior. No extraneous information is included, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains the return format (temporary URL with expiry) and data retention. It covers all input modalities and constraints. The presence of sibling tool name provides context. The description is complete for a conversion tool of moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all 5 parameters (100% coverage), setting baseline at 3. The description adds semantic value by explaining the mutual exclusivity of source_url and base64_content, specifying the ~5MB limit for base64, and noting that source_format can be auto-detected. This enhances the agent's understanding beyond the schema's per-parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a clear verb-resource pair: 'Convert a file from one format to another.' This immediately identifies the tool's core function. It also distinguishes itself from the sibling tool 'list_conversions' by focusing on performing the conversion rather than listing available formats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the two mutually exclusive input methods (url vs base64) and clarifies that exactly one is required. It provides guidance on when to prefer each (URL for large files, base64 for small files) and mentions auto-detection of source format. However, it does not explicitly state when not to use this tool or compare it to alternatives beyond the sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_conversionsList Supported ConversionsARead-onlyInspect
List all supported conversion routes. Optionally filter by source format to see what you can convert FROM a specific format.
| Name | Required | Description | Default |
|---|---|---|---|
| source_format | No | Filter by source format (e.g. "docx" returns all DOCX target options) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description need not restate safety. The description adds the filtering behavior, which is useful but not extensive behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences efficiently communicate the purpose and optional filter, with zero unnecessary words. Front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description fully covers what the agent needs to know: what it lists and how to filter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the parameter already described, but the description adds meaning by explaining the filter effect and providing an example ('docx' returns all DOCX target options), enhancing understandability.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and resource 'supported conversion routes', and implicitly distinguishes from sibling 'convert_file' by indicating this tool provides options for conversion rather than performing the conversion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It specifies when to use the tool (to list conversion routes, optionally filtered by source format) and gives a concrete example. However, it does not explicitly state when not to use it or mention alternatives beyond the sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.0.0- First observed
convert_file - First observed
list_conversions
TDQS
The two tools have clearly distinct purposes: one performs file conversions, the other lists supported conversion routes. No overlap exists.
Both tools follow a consistent verb_noun pattern (convert_file, list_conversions) using snake_case, making naming predictable.
With only 2 tools, the server feels minimal for a file conversion service. While covering the core functionality, the low count suggests a thin surface.
The server covers basic conversion and format discovery, but lacks features like conversion history, batch processing, or progress tracking, leaving notable gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Convert files between 400+ image, video, audio, document, ebook, archive and font formats.
Convert files between formats without quality loss. Speed up your workflow with fast, reliable con…
Convert images to PNG, JPEG, WebP, or AVIF through one public remote MCP tool.
Convert between 200+ format pairs: JSON, CSV, XML, YAML, PDF, Excel, DOCX and more.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for seamless document format conversion using Pandoc, supporting Markdown, HTML, PDF, DOCX (.docx), csv and more.1579MIT
- AlicenseNot gradedqualityDmaintenanceConverts various document formats to desired output formats, currently supporting PDF to image conversion. No access keys required for basic file format conversion operations.3MIT
- AlicenseNot gradedqualityCmaintenanceFile conversion built for AI agents. CLI, REST API, and MCP server — all sharing one engine.141MIT
- AlicenseNot gradedqualityCmaintenanceA local file conversion server supporting audio, video, image, document, and specialized formats via Model Context Protocol. It enables batch and single-file conversions without cloud dependencies.12MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aadilr/changethisfile-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server