Skip to main content
Glama
elimyliu

timeverse-omni-converter-mcp

by elimyliu

Format Converter MCP

License Version Node.js TypeScript MCP

Универсальный MCP-сервер для конвертации форматов

Сервер Model Context Protocol (MCP), охватывающий конвертацию всех форматов: аудио, видео, изображения, Office, данные, электронные книги, PDF, субтитры и другие. Может вызываться любым MCP-клиентом, таким как TimeVerse Studio, Claude Desktop, Cursor, VS Code и другими.

English


✨ Возможности

Возможность

Описание

🎯 Широкий охват форматов

9 доменов форматов, 71 уникальный формат, плюс специальные возможности: субтитры, операции с PDF

🧩 14 инструментов

10 основных инструментов конвертации + 4 вспомогательных, точно классифицированы по доменам форматов, легко выбираются LLM

🧠 Умная маршрутизация

Автоматический выбор оптимального пути конвертации (прямая / многошаговая цепочка), автоматическое понижение при недоступности зависимостей

🔧 6 движков

Единая обёртка для FFmpeg / ImageMagick / LibreOffice / Pandoc / Python / PDF

⚡ Ноль конфигурации

Автоматическое обнаружение системных зависимостей при запуске, подсказка или понижение при отсутствии

🛡️ Готово к продакшену

Многоуровневая обработка ошибок, защита от превышения ресурсов, очистка временных файлов по TTL


Related MCP server: ChangeThisFile MCP Server

📦 Поддерживаемые форматы

Домен форматов

Инструмент

Движок

Кол-во форматов

Примеры

Аудио

convert_media

FFmpeg

12

MP3, WAV, FLAC, AAC, OGG, M4A, WMA, AIFF, OPUS, AC3, AMR, MKA

Видео

convert_media

FFmpeg

14

MP4, AVI, MKV, MOV, WebM, FLV, WMV, M4V, MPEG, 3GP, TS, GIF, VOB, RMVB

Изображения

convert_image

ImageMagick / Pillow

16

JPEG, PNG, GIF, BMP, TIFF, WebP, SVG, HEIC, ICO, PSD, RAW, AVIF, EXR

Документы

convert_document

LibreOffice / Pandoc / pdf2docx

10

DOCX, DOC, PDF, RTF, ODT, TXT, PAGES*, WPS*, HTML, MD

Презентации

convert_presentation

LibreOffice

6

PPTX, PPT, ODP, PDF, KEY*, HTML

Таблицы

convert_spreadsheet

openpyxl / pandas / LibreOffice

8

XLSX, XLS, ODS, CSV, TSV, NUMBERS*, FODS, HTML

Разметка

convert_markup

Pandoc

12

Markdown, HTML, RST, AsciiDoc, LaTeX, Org, MediaWiki, EPUB, Typst, TXT, IPYNB

Данные

convert_data

Python (PyYAML/tomlkit/pandas/lxml)

8

JSON, YAML, XML, TOML, CSV, TSV, Parquet, Protobuf

Электронные книги

convert_ebook

Pandoc / Calibre

5

EPUB, MOBI, AZW3, FB2, PDF

Субтитры

convert_subtitle

pysubs2

3

SRT, ASS/SSA, VTT

Операции с PDF

convert_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)

Инструмент

Описание

convert_media

Взаимная конвертация аудио/видео, извлечение аудио, обрезка фрагментов, встраивание субтитров

convert_image

Взаимная конвертация изображений, масштабирование, оптимизация, вектор↔растр, управление DPI

convert_document

Высокоточная конвертация Word/PDF/RTF/TXT/HTML/MD, OCR, извлечение таблиц

convert_presentation

Конвертация PPT/ODP/PDF/HTML/PNG (изображения слайдов)

convert_spreadsheet

Конвертация Excel/CSV/TSV/JSON/HTML, сохранение формул и нескольких листов

convert_markup

Конвертация разметки Markdown/HTML/LaTeX/EPUB и др., оглавление/подсветка/формулы

convert_data

Конвертация данных JSON/YAML/XML/TOML/CSV/Parquet/Protobuf

convert_ebook

Конвертация электронных книг EPUB/MOBI/AZW3/FB2/PDF, обложка/метаданные

convert_pdf

Объединение/разделение/сжатие/извлечение/водяной знак/поворот/изображения PDF

convert_subtitle

Взаимная конвертация субтитров SRT/ASS/VTT, сдвиг по времени, конвертация кодировки

Вспомогательные инструменты (4)

Инструмент

Описание

get_supported_formats

Запрос поддерживаемых форматов, путей конвертации и доступных движков

get_file_info

Определение метаинформации файла (формат, кодировка, разрешение, длительность, число страниц и т.д.)

batch_convert

Пакетная конвертация, поддержка Glob-шаблонов и параллельного выполнения

check_dependencies

Проверка доступности и версий всех движков и системных зависимостей

Все инструменты конвертации единообразно следуют парадигме параметров 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

nodejs.org

FFmpeg

≥ 6.0

Аудио/видео/субтитры

winget install ffmpeg / brew install ffmpeg / apt install ffmpeg

ImageMagick

≥ 7.0

Конвертация изображений

winget install ImageMagick / brew install imagemagick / apt install imagemagick

LibreOffice

≥ 7.5

Точная конвертация Office

libreoffice.org

Pandoc

≥ 3.0

Разметка/документы/электронные книги

winget install pandoc / brew install pandoc / apt install pandoc

Python

≥ 3.10

Данные/PDF/таблицы/субтитры

python.org

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 libreoffice

  • Linux: 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).


🔧 Переменные окружения

Переменная

Значение по умолчанию

Описание

FC_PYTHON_PATH

python

Путь к интерпретатору Python

FC_FFMPEG_PATH

ffmpeg

Путь к исполняемому файлу FFmpeg

FC_FFPROBE_PATH

ffprobe

Путь к исполняемому файлу ffprobe

FC_IMAGEMAGICK_PATH

magick

Путь к исполняемому файлу ImageMagick

FC_LIBREOFFICE_PATH

soffice

Путь к исполняемому файлу LibreOffice

FC_PANDOC_PATH

pandoc

Путь к исполняемому файлу Pandoc

FC_CALIBRE_PATH

ebook-convert

Путь к конвертеру электронных книг Calibre

FC_TEMP_DIR

системный временный каталог

Каталог для временных файлов

FC_MAX_FILE_SIZE

524288000 (500MB)

Максимальный размер входного файла

FC_MAX_EXTRACTED_SIZE

1073741824 (1GB)

Верхний предел общего размера после распаковки (защита от zip bomb)

FC_MAX_COMPRESSION_RATIO

100

Максимальный коэффициент сжатия

FC_MAX_PIXELS

100000000

Верхний предел пикселей при распаковке изображений (защита от бомб распаковки)

FC_TIMEOUT

300000 (5 мин)

Таймаут одной конвертации

FC_PARALLEL

1

Число параллельных операций по умолчанию

FC_LOG_LEVEL

info

Уровень журналирования


💬 Примеры использования

Дайте 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

F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables document conversion and processing through an MCP server interface for AI assistants.
  • A
    license
    A
    quality
    C
    maintenance
    Enables file conversion between 690+ formats (image, video, audio, document, data, font, ebook, archive) using an MCP server, with no API key or signup required.
    2
    21
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP 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

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/elimyliu/timeverse-omni-converter-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server