mcpField
F
filemorph

filemorph

本地服务
github.com/CloudCorpRecords生产力01 周前更新

关于 filemorph

filemorph 是一个本地 MCP 桥接服务和命令行工具,通过托管的 FileTypeConverters 服务转换文件。它提供格式查询、转换检查、提交和结果获取,不自行转换或保存文件。

主要功能

  1. 01转换 44 种格式的文件
  2. 02查询格式与支持的转换组合
  3. 03通过 base64 或 HTTPS URL 提交文件
  4. 04获取先前提交的转换结果
  5. 05通过命令行调用工具

适用场景

  1. 01检查 PDF 到 DOCX 是否支持转换
  2. 02将提交的电子表格转换为 CSV
  3. 03获取先前提交的转换结果
  4. 04在终端运行文件转换命令

MCP 相关

它将 FileTypeConverters 的上游工具作为本地 MCP 服务提供,并将调用转发至托管的 MCP 服务。结果原样返回。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-filemorph": {
"command": "npx",
"args": [
"-y",
"@reneturcios/filemorph"
]
}
}
}
启动命令npx -y @reneturcios/filemorph

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/filemorph0.1.0
ocighcr.io/cloudcorprecords/filemorph:0.1.0

工具

5

收录的工具列表 · 更新于 1 周前

此工具无需参数。

详细介绍

filemorph

filemorph 是一个小型本地桥接服务,连接托管的 FileTypeConverters MCP 服务,可在涵盖文档、电子表格、 图像、电子书和字幕的 44 种格式之间转换文件。你可以 通过 base64 内容或公开的 https URL 提供文件,选择 目标格式,然后获取转换后的输出——较小的文本输出会 直接内联返回,较大或二进制输出则以 base64 和下载 URL 的形式返回。

桥接服务本身不执行转换,也不保留任何文件。 它会在本地提供上游服务的工具列表,该列表 完全按照从实时端点捕获的内容呈现,并将 每次工具调用转发到上游,原样返回结果。 其中两个工具用于读取参考数据,一个用于检查 是否支持某对格式,一个用于提交转换,还有一个 用于获取之前提交的转换。

工具

  • list_formats — 转换器可读取或写入的所有格式, 包含其 id、名称、扩展名和类别。 其他工具会将这些 id 用作 from 和 to。无参数。
  • check_conversion — 检查一种格式能否转换为另一种格式, 在发送任何文件前进行检查。 返回所用引擎、是否需要 AI Deep Read、该格式对接受的 选项,以及不支持该格式对时的替代方案。格式可以用 id (docx)、扩展名 (jpeg) 或常用名称 (word、 excel) 指定。必填:from、to。
  • list_conversions — 返回某种源格式支持的目标格式, 或可生成指定目标格式的所有源格式,以紧凑的 {from,to,slug,engine,mode} 行呈现。可选:from、to。
  • convert_file — 提交文件进行转换。内容以 base64 或公开的 https url 形式传入;如果文件名或 URL 包含扩展名,则 from 可选。大小不超过 200 KB 的文本输出 (Markdown、CSV、JSON、HTML……)会以内联 text 形式返回; 其他输出则以 base64 和接受相同 bearer token 的 downloadUrl 形式返回。 文件大小上限为 10 MB。设置 deepRead: true 可通过 AI Deep Read 读取扫描件、照片和手写内容(每页 1 个点数)。必填:to。可选: filename、base64、url、from、options、 deepRead。
  • get_conversion — 按 id 获取之前提交的转换:其状态、 任何警告,以及仍保留期间的输出(内联文本或 base64)。 必填:id。

配置

  • FILETYPECONVERTERS_MCP_URL(可选)— 覆盖 上游端点。默认值为 https://filetypeconverters.com/api/mcp。 (此覆盖钩子是本次重建自行添加并明确标注的 内容。)
  • FILETYPECONVERTERS_API_KEY(可选)— 设置后, 每个上游请求都会携带 Authorization: Bearer <key> 标头。未设置时, 不会发送身份验证标头。(此转发功能同样是明确标注的 重建内容;原始接口是在无密钥情况下捕获的,但注册记录声明 必须提供 Authorization 标头。)
转发机制

首次调用工具时,客户端会与上游建立可流式传输的 HTTP 会话:发送 JSON-RPC initialize 请求(protocolVersion 2025-03-26,clientInfo 名称为 filemorph),然后发送 notifications/initialized 通知,接着发送携带调用方原样参数的 tools/call 请求。上游通过 initialize 响应返回 Mcp-Session-Id 标头时,该值会随该会话之后的每个请求 一同发送;此会话会在进程存续期间重复使用。响应 可能是普通 JSON,也可能是服务器发送事件; 两种格式都会读取。

成功的上游结果会原样传递, 包括上游设置的任何 isError 标志。 失败情况——JSON-RPC 错误、非 2xx 状态、无法读取的响应, 或无法完成的请求——会作为 isError 结果返回, 其文本以 filemorph error: 开头(此呈现方式 是本次重建自行添加并明确标注的内容)。

命令行

每个工具也是一个子命令,接受一个 JSON 参数 字符串(不需要参数的工具可省略):

npx @reneturcios/filemorph list_formats
npx @reneturcios/filemorph check_conversion '{"from":"pdf","to":"docx"}'
npx @reneturcios/filemorph convert_file '{"to":"md","filename":"report.pdf","base64":"..."}'
npx @reneturcios/filemorph get_conversion '{"id":"conv-42"}'
npx @reneturcios/filemorph --version

退出代码:成功时为 0,结果包含 isError 时为 1,用法错误时为 2。

MCP 服务

npx -y @reneturcios/filemorph mcp

MCP 客户端配置:

{
  "mcpServers": {
    "filemorph": {
      "command": "npx",
      "args": ["-y", "@reneturcios/filemorph", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/filemorph
docker run --rm ghcr.io/cloudcorprecords/filemorph --version

容器的默认命令是 mcp,因此第一种形式是 stdio MCP 服务;其他参数都会正常传递给命令行。

开发

npm install
npm run build
npm test
npm run dev

测试套件完全使用桩接的 JSON-RPC 上游服务运行,不会进行实时网络调用。

许可证

MIT——详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。