timeverse-omni-converter-mcp
Format Converter MCP
通用格式转换 MCP Server
一个覆盖音频、视频、图片、Office、数据、电子书、PDF、字幕等全格式转换的 Model Context Protocol (MCP) 服务器,可被 TimeVerse Studio、Claude Desktop、Cursor、VS Code 等任意 MCP 客户端调用。
✨ 特性
特性 | 说明 |
🎯 格式覆盖广 | 9 大格式域、71 种去重格式,另含字幕、PDF 操作等特殊能力 |
🧩 14 个工具 | 10 个核心转换工具 + 4 个辅助工具,按格式域精准分类,LLM 易于选择 |
🧠 智能路由 | 自动选择最优转换路径(直转 / 多步链式),依赖不可用时自动降级 |
🔧 6 大引擎 | FFmpeg / ImageMagick / LibreOffice / Pandoc / Python / PDF 统一封装 |
⚡ 零配置 | 启动时自检测系统依赖,缺失时提示或降级 |
🛡️ 生产可用 | 分级错误处理、资源上限防护、临时文件 TTL 清理 |
Related MCP server: ChangeThisFile MCP Server
📦 支持的格式
格式域 | 工具 | 引擎 | 格式数 | 示例 |
音频 |
| FFmpeg | 12 | MP3, WAV, FLAC, AAC, OGG, M4A, WMA, AIFF, OPUS, AC3, AMR, MKA |
视频 |
| FFmpeg | 14 | MP4, AVI, MKV, MOV, WebM, FLV, WMV, M4V, MPEG, 3GP, TS, GIF, VOB, RMVB |
图片 |
| ImageMagick / Pillow | 16 | JPEG, PNG, GIF, BMP, TIFF, WebP, SVG, HEIC, ICO, PSD, RAW, AVIF, EXR |
文档 |
| LibreOffice / Pandoc / pdf2docx | 10 | DOCX, DOC, PDF, RTF, ODT, TXT, PAGES*, WPS*, HTML, MD |
演示 |
| LibreOffice | 6 | PPTX, PPT, ODP, PDF, KEY*, HTML |
表格 |
| openpyxl / pandas / LibreOffice | 8 | XLSX, XLS, ODS, CSV, TSV, NUMBERS*, FODS, HTML |
标记 |
| Pandoc | 12 | Markdown, HTML, RST, AsciiDoc, LaTeX, Org, MediaWiki, EPUB, Typst, TXT, IPYNB |
数据 |
| Python (PyYAML/tomlkit/pandas/lxml) | 8 | JSON, YAML, XML, TOML, CSV, TSV, Parquet, Protobuf |
电子书 |
| Pandoc / Calibre | 5 | EPUB, MOBI, AZW3, FB2, PDF |
字幕 |
| pysubs2 | 3 | SRT, ASS/SSA, VTT |
PDF 操作 |
| PyMuPDF / pypdf | 9 种操作 | merge, split, compress, extract, watermark, rotate, to_images |
*标记为受限格式(PAGES / WPS / NUMBERS / KEY),需 macOS 原生应用或 iCloud 导出。
合计去重后约 71 种格式,覆盖行业 95%+ 的常见转换需求。
⚠️ 已知限制
受限格式:
PAGES/WPS/NUMBERS/KEY需 macOS 原生应用或 iCloud 导出,其它平台通常无法直接转换。HEIC/HEIF 解码:依赖 ImageMagick 的 libheif 支持;缺失时无法解码 Apple 高效图片。
引擎缺省降级:若未安装 LaTeX,Markdown→PDF 会降级为 weasyprint;若未安装 Calibre,MOBI/AZW3 电子书不可用;若未安装 ImageMagick,图片转换回退到 Python Pillow(能力更有限)。
Protocol Buffers:转换为 PB 需要额外的
.proto定义文件。Parquet / Protobuf:对应的 Python 依赖(
pyarrow、protobuf)为可选,需手动安装。
🧰 工具列表
核心转换工具(10 个)
工具 | 说明 |
| 音频/视频互转,提取音频、截取片段、嵌入字幕 |
| 图片互转,缩放、优化、矢量↔栅格、DPI 控制 |
| Word/PDF/RTF/TXT/HTML/MD 高保真转换,OCR、表格提取 |
| PPT/ODP/PDF/HTML/PNG(幻灯片图片)转换 |
| Excel/CSV/TSV/JSON/HTML 转换,保留公式与多工作表 |
| Markdown/HTML/LaTeX/EPUB 等标记文本转换,目录/高亮/公式 |
| JSON/YAML/XML/TOML/CSV/Parquet/Protobuf 数据转换 |
| EPUB/MOBI/AZW3/FB2/PDF 电子书转换,封面/元数据 |
| PDF 合并/拆分/压缩/提取/水印/旋转/转图片 |
| SRT/ASS/VTT 字幕互转,时间偏移、编码转换 |
辅助工具(4 个)
工具 | 说明 |
| 查询支持的格式、转换路径与可用引擎 |
| 探测文件元信息(格式、编码、分辨率、时长、页数等) |
| 批量转换,支持 Glob 匹配与并行执行 |
| 检查所有引擎与系统依赖的可用性与版本 |
所有转换工具统一遵循 input_path + output_format + options 参数范式。
🏗️ 架构
┌─────────────────────────────────────────────────────┐
│ MCP Client (LLM) │
│ Claude / Cursor / VS Code / ... │
└──────────────────────┬──────────────────────────────┘
│ JSON-RPC (stdio)
┌──────────────────────┴──────────────────────────────┐
│ MCP Protocol Layer │
│ tool list · tool call · notifications │
├──────────────────────────────────────────────────────┤
│ Tool Router Layer │
│ 请求解析 → 格式识别 → 路由分发 → 结果封装 │
├───────────┬───────────┬──────────┬───────────────────┤
│ Format │ Conversion│ File │ Dependency │
│ Registry │ Planner │ Manager │ Checker │
├───────────┴───────────┴──────────┴───────────────────┤
│ Conversion Engine Layer │
│ FFmpeg · ImageMagick · LibreOffice · Pandoc │
│ Python · PDF │
└──────────────────────────────────────────────────────┘智能路径规划示例:
源 → 目标 | 路径 |
PDF → XLSX | PDF → CSV (pdfplumber) → XLSX (openpyxl) |
PDF → DOCX | PDF → DOCX (pdf2docx) |
XLSX → JSON | XLSX → DataFrame (pandas) → JSON |
PPTX → MD | PPTX → HTML (LibreOffice) → MD (Pandoc) |
DOCX → EPUB | DOCX → HTML (Pandoc) → EPUB (Pandoc) |
⚙️ 技术栈
主语言:TypeScript (Node.js ≥ 18)
协议:
@modelcontextprotocol/sdk转换引擎:FFmpeg / ImageMagick / LibreOffice / Pandoc / Python (venv 隔离) / PyMuPDF
系统依赖
依赖 | 版本 | 用途 | 安装 |
Node.js | ≥ 18 | 运行 MCP Server | |
FFmpeg | ≥ 6.0 | 音视频/字幕转换 |
|
ImageMagick | ≥ 7.0 | 图片转换 |
|
LibreOffice | ≥ 7.5 | Office 文档保真转换 | |
Pandoc | ≥ 3.0 | 标记/文档/电子书转换 |
|
Python | ≥ 3.10 | 数据/PDF/表格/字幕 |
LaTeX(可选,Markdown→PDF 高质量)与 Calibre(可选,MOBI/AZW3)可缺省,系统会自动降级。
Python 依赖
pip install -r python/requirements.txt核心依赖:openpyxl、pandas、PyYAML、tomlkit、xmltodict、PyMuPDF、pypdf、pdf2docx、pysubs2、Pillow(pyarrow、protobuf 为可选)。
🚀 安装
先安装系统依赖(FFmpeg / ImageMagick / LibreOffice / Pandoc):
Windows:
npm run prepare-deps(一键下载便携版)macOS:
brew install ffmpeg imagemagick pandoc && brew install --cask libreofficeLinux:
apt install ffmpeg imagemagick libreoffice pandoc
然后构建并安装 Python 依赖:
# 1. 安装 Node 依赖
npm install
# 2. 构建(生成 dist/)
npm run build
# 3. 安装 Python 依赖(建议使用虚拟环境)
python3 -m venv .venv # macOS/Linux;Windows 使用 python
source .venv/bin/activate # macOS/Linux;Windows 使用 .venv\Scripts\activate
pip install -r python/requirements.txt🔌 MCP 配置
在 MCP 客户端的 mcpServers 配置中添加以下服务器即可。
TimeVerse Studio(推荐 · npm 托管)
TimeVerse Studio 使用标准 mcpServers JSON 接入。发布到 npm 后,直接通过 npx 一键运行,无需本地构建:
{
"mcpServers": {
"timeverse-omni-converter-mcp": {
"command": "npx",
"args": ["-y", "timeverse-omni-converter-mcp"],
"env": {
"FC_PYTHON_PATH": "python",
"FC_TEMP_DIR": "C:/temp/format-converter",
"FC_MAX_FILE_SIZE": "524288000",
"FC_TIMEOUT": "300000"
}
}
}
}Claude Desktop / Cursor(本地构建)
本地构建后,通过 node 直接运行:
{
"mcpServers": {
"timeverse-omni-converter-mcp": {
"command": "node",
"args": ["C:/path/to/timeverse-omni-converter-mcp/dist/index.js"],
"env": {
"FC_PYTHON_PATH": "python",
"FC_TEMP_DIR": "C:/temp/format-converter",
"FC_MAX_FILE_SIZE": "524288000",
"FC_TIMEOUT": "300000"
}
}
}
}macOS:将
args改为/Users/<you>/timeverse-omni-converter-mcp/dist/index.js,并将FC_PYTHON_PATH改为python3(或删除该项,让其自动检测.venv/python3)。
🔧 环境变量
变量 | 默认值 | 说明 |
|
| Python 解释器路径 |
|
| FFmpeg 可执行文件路径 |
|
| ffprobe 可执行文件路径 |
|
| ImageMagick 可执行文件路径 |
|
| LibreOffice 可执行文件路径 |
|
| Pandoc 可执行文件路径 |
|
| Calibre 电子书转换器路径 |
| 系统临时目录 | 临时文件目录 |
|
| 最大输入文件大小 |
|
| 解压后总大小上限(防 zip bomb) |
|
| 最大压缩比 |
|
| 图片解压像素上限(防解压炸弹) |
|
| 单次转换超时 |
|
| 默认并行数 |
|
| 日志级别 |
💬 使用示例
向 MCP 客户端中的 LLM 发出自然语言指令,例如:
「把
a.mov转成a.mp4,分辨率 1920x1080」→convert_media「把
photo.heic转成photo.png」→convert_image「把
report.docx转成report.pdf」→convert_document「把
data.json转成data.csv」→convert_data「把
slides.pptx每一页导出成 PNG」→convert_presentation「把
book.epub转成book.mobi」→convert_ebook「合并
a.pdf和b.pdf」→convert_pdf(operation: "merge")「把
subs.ass转成subs.srt」→convert_subtitle
工具调用示例:
{
"name": "convert_media",
"arguments": {
"input_path": "C:/media/input.mov",
"output_format": "mp4",
"options": {
"video_codec": "libx264",
"video_resolution": "1920x1080",
"crf": 23
}
}
}返回结果:
{
"success": true,
"outputPath": "C:/media/input.mp4",
"outputSize": 10485760,
"duration": 3215,
"warnings": []
}❓ 常见问题
Q: 转换提示依赖缺失或失败怎么办?
A: 调用 check_dependencies 工具查看各引擎(FFmpeg / ImageMagick / LibreOffice / Pandoc / Python)的可用状态与版本,安装缺失的依赖后重试。
Q: Python 相关转换(数据 / PDF / 表格 / 字幕)报错?
A: 确认已通过 pip install -r python/requirements.txt 安装依赖,并通过 FC_PYTHON_PATH 指向正确的 Python 解释器(或已激活虚拟环境)。
Q: 目标文件已存在会发生什么?
A: 默认自动重命名为 文件名_1.扩展名;批量转换时可通过 on_conflict 参数控制 overwrite / skip / rename。
Q: 为什么某些格式(如 PAGES / NUMBERS)无法转换? A: 这些是 Apple 专有格式,需 macOS 原生应用或 iCloud 导出,属于受限格式,详见「已知限制」。
Q: 大文件转换超时怎么办?
A: 调大 FC_TIMEOUT(默认 300000ms),并注意 FC_MAX_FILE_SIZE(默认 500MB)上限。
🛡️ 安全
Server 处理不可信文件内容,内置多项资源与安全防护:
输入文件大小、解压后体积、压缩比、图片像素上限(防 zip bomb / 解压炸弹)
单次转换超时与并发上限
解析器禁用 XXE(外部实体注入)、PDF 嵌入脚本、外部资源加载
外部进程统一使用参数数组调用(
execFile),避免命令注入
📄 License
MIT
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 Servers
- FlicenseNot gradedqualityCmaintenanceEnables document conversion and processing through an MCP server interface for AI assistants.
- AlicenseAqualityCmaintenanceEnables file conversion between 690+ formats (image, video, audio, document, data, font, ebook, archive) using an MCP server, with no API key or signup required.2215MIT
- AlicenseAqualityDmaintenanceEnables document format conversion between Word, Markdown, PDF, HTML, and plain text, supporting batch operations and format validation via the AI MCP protocol.4161MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that extracts clean text, tables, and structured data from documents, images, code, and audio files, supporting 97 formats with OCR, transcription, and code intelligence.MIT
Related MCP Connectors
Normalize and convert more than 400 file types via TweekIT's hosted MCP streamable HTTP endpoint.
Process video, audio, images, and documents with 86+ cloud media processing robots.
Normalize and convert 400+ file types via TweekIT's hosted MCP endpoint.
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/elimyliu/timeverse-omni-converter-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server