Skip to main content
Glama
elimyliu

timeverse-omni-converter-mcp

by elimyliu

Format Converter MCP

License Version Node.js TypeScript MCP

Universal format conversion MCP Server

A Model Context Protocol (MCP) server covering full-format conversion across audio, video, images, Office, data, ebooks, PDF, subtitles, and more. It can be called by any MCP client such as TimeVerse Studio, Claude Desktop, Cursor, VS Code, etc.

English


โœจ Features

Feature

Description

๐ŸŽฏ Wide format coverage

9 format domains, 71 deduplicated formats, plus special capabilities such as subtitles and PDF operations

๐Ÿงฉ 14 tools

10 core conversion tools + 4 auxiliary tools, precisely categorized by format domain, easy for LLMs to select

๐Ÿง  Smart routing

Automatically selects the optimal conversion path (direct / multi-step chain), auto-degrades when dependencies are unavailable

๐Ÿ”ง 6 engines

Unified wrapper for FFmpeg / ImageMagick / LibreOffice / Pandoc / Python / PDF

โšก Zero configuration

Auto-detects system dependencies at startup, prompts or degrades when missing

๐Ÿ›ก๏ธ Production-ready

Tiered error handling, resource limit protection, temp file TTL cleanup


Related MCP server: ChangeThisFile MCP Server

๐Ÿ“ฆ Supported Formats

Format Domain

Tool

Engine

Format Count

Examples

Audio

convert_media

FFmpeg

12

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

Video

convert_media

FFmpeg

14

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

Image

convert_image

ImageMagick / Pillow

16

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

Document

convert_document

LibreOffice / Pandoc / pdf2docx

10

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

Presentation

convert_presentation

LibreOffice

6

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

Spreadsheet

convert_spreadsheet

openpyxl / pandas / LibreOffice

8

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

Markup

convert_markup

Pandoc

12

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

Data

convert_data

Python (PyYAML/tomlkit/pandas/lxml)

8

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

Ebook

convert_ebook

Pandoc / Calibre

5

EPUB, MOBI, AZW3, FB2, PDF

Subtitle

convert_subtitle

pysubs2

3

SRT, ASS/SSA, VTT

PDF Operations

convert_pdf

PyMuPDF / pypdf

9 operations

merge, split, compress, extract, watermark, rotate, to_images

* marks restricted formats (PAGES / WPS / NUMBERS / KEY), requiring macOS native apps or iCloud export.

Total of approximately 71 formats after deduplication, covering 95%+ of common industry conversion needs.


โš ๏ธ Known Limitations

  • Restricted formats: PAGES / WPS / NUMBERS / KEY require macOS native apps or iCloud export; they usually cannot be converted directly on other platforms.

  • HEIC/HEIF decoding: Depends on ImageMagick's libheif support; Apple's high-efficiency images cannot be decoded when it is missing.

  • Engine fallback: If LaTeX is not installed, Markdownโ†’PDF degrades to weasyprint; if Calibre is not installed, MOBI/AZW3 ebooks are unavailable; if ImageMagick is not installed, image conversion falls back to Python Pillow (with more limited capabilities).

  • Protocol Buffers: Converting to PB requires an additional .proto definition file.

  • Parquet / Protobuf: The corresponding Python dependencies (pyarrow, protobuf) are optional and must be installed manually.


๐Ÿงฐ Tool List

Core Conversion Tools (10)

Tool

Description

convert_media

Audio/video interconversion, audio extraction, clip trimming, subtitle embedding

convert_image

Image interconversion, resizing, optimization, vectorโ†”raster, DPI control

convert_document

High-fidelity Word/PDF/RTF/TXT/HTML/MD conversion, OCR, table extraction

convert_presentation

PPT/ODP/PDF/HTML/PNG (slide images) conversion

convert_spreadsheet

Excel/CSV/TSV/JSON/HTML conversion, preserves formulas and multiple worksheets

convert_markup

Markdown/HTML/LaTeX/EPUB and other markup text conversion, TOC/highlight/formulas

convert_data

JSON/YAML/XML/TOML/CSV/Parquet/Protobuf data conversion

convert_ebook

EPUB/MOBI/AZW3/FB2/PDF ebook conversion, cover/metadata

convert_pdf

PDF merge/split/compress/extract/watermark/rotate/to images

convert_subtitle

SRT/ASS/VTT subtitle interconversion, time offset, encoding conversion

Auxiliary Tools (4)

Tool

Description

get_supported_formats

Query supported formats, conversion paths, and available engines

get_file_info

Probe file metadata (format, encoding, resolution, duration, page count, etc.)

batch_convert

Batch conversion, supports Glob matching and parallel execution

check_dependencies

Check availability and versions of all engines and system dependencies

All conversion tools uniformly follow the input_path + output_format + options parameter paradigm.


๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              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                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Smart path planning examples:

Source โ†’ Target

Path

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)


โš™๏ธ Tech Stack

  • Primary language: TypeScript (Node.js โ‰ฅ 18)

  • Protocol: @modelcontextprotocol/sdk

  • Conversion engines: FFmpeg / ImageMagick / LibreOffice / Pandoc / Python (venv isolated) / PyMuPDF

System Dependencies

Dependency

Version

Purpose

Installation

Node.js

โ‰ฅ 18

Run MCP Server

nodejs.org

FFmpeg

โ‰ฅ 6.0

Audio/video/subtitle conversion

winget install ffmpeg / brew install ffmpeg / apt install ffmpeg

ImageMagick

โ‰ฅ 7.0

Image conversion

winget install ImageMagick / brew install imagemagick / apt install imagemagick

LibreOffice

โ‰ฅ 7.5

High-fidelity Office document conversion

libreoffice.org

Pandoc

โ‰ฅ 3.0

Markup/document/ebook conversion

winget install pandoc / brew install pandoc / apt install pandoc

Python

โ‰ฅ 3.10

Data/PDF/spreadsheet/subtitle

python.org

LaTeX (optional, high-quality Markdownโ†’PDF) and Calibre (optional, MOBI/AZW3) can be omitted; the system will automatically degrade.

Python Dependencies

pip install -r python/requirements.txt

Core dependencies: openpyxl, pandas, PyYAML, tomlkit, xmltodict, PyMuPDF, pypdf, pdf2docx, pysubs2, Pillow (pyarrow, protobuf are optional).


๐Ÿš€ Installation

First install the system dependencies (FFmpeg / ImageMagick / LibreOffice / Pandoc):

  • Windows: npm run prepare-deps (one-click download of portable versions)

  • macOS: brew install ffmpeg imagemagick pandoc && brew install --cask libreoffice

  • Linux: apt install ffmpeg imagemagick libreoffice pandoc

Then build and install the Python dependencies:

# 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 Configuration

Add the following server to the mcpServers configuration of your MCP client.

TimeVerse Studio uses the standard mcpServers JSON integration. After publishing to npm, run it directly via npx with one command โ€” no local build required:

{
  "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 (local build)

After building locally, run directly via 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: change args to /Users/<you>/timeverse-omni-converter-mcp/dist/index.js, and change FC_PYTHON_PATH to python3 (or remove the entry to let it auto-detect .venv/python3).


๐Ÿ”ง Environment Variables

Variable

Default

Description

FC_PYTHON_PATH

python

Python interpreter path

FC_FFMPEG_PATH

ffmpeg

FFmpeg executable path

FC_FFPROBE_PATH

ffprobe

ffprobe executable path

FC_IMAGEMAGICK_PATH

magick

ImageMagick executable path

FC_LIBREOFFICE_PATH

soffice

LibreOffice executable path

FC_PANDOC_PATH

pandoc

Pandoc executable path

FC_CALIBRE_PATH

ebook-convert

Calibre ebook converter path

FC_TEMP_DIR

System temp directory

Temporary file directory

FC_MAX_FILE_SIZE

524288000 (500MB)

Maximum input file size

FC_MAX_EXTRACTED_SIZE

1073741824 (1GB)

Total extracted size limit (anti zip bomb)

FC_MAX_COMPRESSION_RATIO

100

Maximum compression ratio

FC_MAX_PIXELS

100000000

Image decompression pixel limit (anti decompression bomb)

FC_TIMEOUT

300000 (5min)

Single conversion timeout

FC_PARALLEL

1

Default parallelism

FC_LOG_LEVEL

info

Log level


๐Ÿ’ฌ Usage Examples

Give natural language instructions to the LLM in your MCP client, for example:

  • "Convert a.mov to a.mp4, resolution 1920x1080" โ†’ convert_media

  • "Convert photo.heic to photo.png" โ†’ convert_image

  • "Convert report.docx to report.pdf" โ†’ convert_document

  • "Convert data.json to data.csv" โ†’ convert_data

  • "Export every page of slides.pptx as PNG" โ†’ convert_presentation

  • "Convert book.epub to book.mobi" โ†’ convert_ebook

  • "Merge a.pdf and b.pdf" โ†’ convert_pdf (operation: "merge")

  • "Convert subs.ass to subs.srt" โ†’ convert_subtitle

Tool call example:

{
  "name": "convert_media",
  "arguments": {
    "input_path": "C:/media/input.mov",
    "output_format": "mp4",
    "options": {
      "video_codec": "libx264",
      "video_resolution": "1920x1080",
      "crf": 23
    }
  }
}

Returned result:

{
  "success": true,
  "outputPath": "C:/media/input.mp4",
  "outputSize": 10485760,
  "duration": 3215,
  "warnings": []
}

โ“ FAQ

Q: What should I do if conversion reports missing dependencies or fails? A: Call the check_dependencies tool to view the availability status and versions of each engine (FFmpeg / ImageMagick / LibreOffice / Pandoc / Python), install the missing dependencies, and retry.

Q: Python-related conversions (data / PDF / spreadsheet / subtitle) report errors? A: Make sure the dependencies have been installed via pip install -r python/requirements.txt, and point FC_PYTHON_PATH to the correct Python interpreter (or an activated virtual environment).

Q: What happens if the target file already exists? A: By default it is automatically renamed to filename_1.extension; for batch conversion, the on_conflict parameter can control overwrite / skip / rename.

Q: Why can't certain formats (such as PAGES / NUMBERS) be converted? A: These are Apple proprietary formats that require macOS native apps or iCloud export. They are restricted formats โ€” see "Known Limitations" for details.

Q: What should I do if large file conversion times out? A: Increase FC_TIMEOUT (default 300000ms), and note the FC_MAX_FILE_SIZE (default 500MB) limit.


๐Ÿ›ก๏ธ Security

The server processes untrusted file content and has multiple built-in resource and security protections:

  • Input file size, extracted volume, compression ratio, and image pixel limits (anti zip bomb / decompression bomb)

  • Per-conversion timeout and concurrency limits

  • Parsers disable XXE (external entity injection), PDF embedded scripts, and external resource loading

  • External processes are uniformly invoked with argument arrays (execFile) to avoid command injection


๐Ÿ“„ 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