Skip to main content
Glama
aadilr

ChangeThisFile MCP Server

by aadilr

ChangeThisFile MCP Server

从任何 MCP 客户端使用 ChangeThisFile 的七个文件工具:覆盖 1,000 多种支持路线的转换、文档翻译、表格提取、精确大小压缩、自然语言路由和任务状态检查。

ChangeThisFile.com 提供支持。发现和付费预览任务都是公开的。常规的 convert_file 现在接受经过验证的开发者密钥,并与 REST API 使用量共享配额。在连接器兼容窗口期内,匿名转换仍然可用;在 2026 年 8 月 27 日之前不会强制要求身份验证,并且只有在连接器支持得到验证之后才会强制执行。

工具

工具

描述

convert_file

转换文件。传入可公开访问的 source_url base64_content(最大 ~5MB),以及 target_format(例如 pdfmp3json)。源格式会根据 URL/文件名自动检测,也可以显式传入 source_format。返回有效期为 1 小时的下载 URL。

list_conversions

列出所有支持的转换路线,可按 source_format 过滤(例如 docx → 查看 DOCX 可以转换成的所有格式)。

translate_file

翻译文档并保留其布局。返回免费预览和完整输出的一次性结账链接。

extract_tables

从 PDF 或图片中提取表格到 Excel。返回免费预览和完整输出的一次性结账链接。

compress_file

将 PDF、图片或视频压缩到精确的最大大小。免费,但有每日限制。

do_file_job

将自然语言的文件指令路由到转换、翻译、提取或压缩。

check_job

检查已提交的任务,并获取其预览、结账链接或下载 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-mcp

Claude Code 插件(捆绑了 MCP 服务器 + 技能):

/plugin marketplace add aadilr/changethisfile-mcp
/plugin install changethisfile@changethisfile

file-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 查看完整的路线表。

环境变量

变量

默认值

用途

CTF_API_KEY

未设置

可选的已验证开发者密钥,作为 bearer token 转发;该值永远不会被记录

CTF_MCP_URL

https://changethisfile.com/mcp

覆盖上游端点

CHANGETHISFILE_MCP_URL

未设置

CTF_MCP_URL 的旧版别名

隐私与限制

  • 发现和付费预览任务无需账户。在兼容模式下,常规转换暂时保持匿名;现在,经过验证的密钥即可启用共享的开发者计量。

  • 文件在服务器端处理,并会在 24 小时内自动删除;下载 URL 在 1 小时后过期。

  • MCP 输入上限为 25 MB。经过身份验证的 convert_file 使用开发者账户的共享 API/MCP 速率和每月配额;其他高开销工具保留按账户或按 IP 的滥用限制。

许可证

MIT

Available Tools

2 tools
convert_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).

ParametersJSON Schema
NameRequiredDescriptionDefault
source_urlNoPublicly accessible URL of the file to convert (preferred for large files)
base64_contentNoBase64-encoded file content (for small files; max ~5MB)
source_formatNoSource format extension (e.g. "docx", "mp4"). Auto-detected from URL if omitted.
target_formatYesTarget format extension (e.g. "json", "mp3", "pdf"). Required.
filenameNoOptional filename hint for auto-detection (e.g. "document.docx")

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 ConversionsA
Read-only
Inspect

List all supported conversion routes. Optionally filter by source format to see what you can convert FROM a specific format.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_formatNoFilter by source format (e.g. "docx" returns all DOCX target options)

TDQS

A4.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 2 tool updatesv1.0.0
    • First observedconvert_file
    • First observedlist_conversions

TDQS

A4.3/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one performs file conversions, the other lists supported conversion routes. No overlap exists.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern (convert_file, list_conversions) using snake_case, making naming predictable.

Tool Count3/5

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.

Completeness3/5

The server covers basic conversion and format discovery, but lacks features like conversion history, batch processing, or progress tracking, leaving notable gaps.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

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

Related MCP Servers

Latest Blog Posts

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