timeverse-omni-converter-mcp
Format Converter MCP
Универсальный MCP-сервер для конвертации форматов
Сервер Model Context Protocol (MCP), охватывающий конвертацию всех форматов: аудио, видео, изображения, Office, данные, электронные книги, PDF, субтитры и другие. Может вызываться любым MCP-клиентом, таким как TimeVerse Studio, Claude Desktop, Cursor, VS Code и другими.
✨ Возможности
Возможность | Описание |
🎯 Широкий охват форматов | 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: зависит от поддержки libheif в ImageMagick; при отсутствии декодирование эффективных изображений 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
Добавьте следующий сервер в конфигурацию mcpServers вашего MCP-клиента.
TimeVerse Studio (рекомендуется · размещение через npm)
TimeVerse Studio подключается через стандартный JSON mcpServers. После публикации в 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) |
|
| Максимальный коэффициент сжатия |
|
| Верхний предел пикселей при распаковке изображений (защита от бомб распаковки) |
|
| Таймаут одной конвертации |
|
| Число параллельных операций по умолчанию |
|
| Уровень журналирования |
💬 Примеры использования
Дайте LLM в MCP-клиенте команды на естественном языке, например:
«Конвертируй
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": []
}❓ Часто задаваемые вопросы
В: Что делать, если конвертация сообщает об отсутствии зависимостей или ошибке?
О: Вызовите инструмент check_dependencies, чтобы увидеть статус доступности и версии каждого движка (FFmpeg / ImageMagick / LibreOffice / Pandoc / Python), установите недостающие зависимости и повторите попытку.
В: Ошибки при конвертации, связанной с Python (данные / PDF / таблицы / субтитры)?
О: Убедитесь, что зависимости установлены через pip install -r python/requirements.txt, и что FC_PYTHON_PATH указывает на правильный интерпретатор Python (или активирована виртуальная среда).
В: Что произойдёт, если целевой файл уже существует?
О: По умолчанию файл автоматически переименовывается в имя_файла_1.расширение; при пакетной конвертации поведение можно управлять параметром on_conflict: overwrite / skip / rename.
В: Почему некоторые форматы (например, PAGES / NUMBERS) не конвертируются? О: Это проприетарные форматы Apple, требующие нативных приложений macOS или экспорта через iCloud; это ограниченные форматы, подробнее см. «Известные ограничения».
В: Что делать при таймауте конвертации больших файлов?
О: Увеличьте FC_TIMEOUT (по умолчанию 300000 мс) и обратите внимание на верхний предел FC_MAX_FILE_SIZE (по умолчанию 500MB).
🛡️ Безопасность
Сервер обрабатывает содержимое недоверенных файлов и имеет встроенные механизмы защиты ресурсов и безопасности:
Верхние пределы размера входного файла, объёма после распаковки, коэффициента сжатия, пикселей изображения (защита от 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