Skip to main content
Glama
elimyliu

timeverse-omni-converter-mcp

by elimyliu

Format Converter MCP

License Version Node.js TypeScript MCP

Servidor MCP de conversión de formatos universal

Un servidor Model Context Protocol (MCP) que cubre la conversión de todo tipo de formatos: audio, vídeo, imagen, Office, datos, libros electrónicos, PDF, subtítulos, etc. Puede ser invocado por cualquier cliente MCP como TimeVerse Studio, Claude Desktop, Cursor, VS Code, entre otros.

English


✨ Características

Característica

Descripción

🎯 Amplia cobertura de formatos

9 dominios de formato, 71 formatos deduplicados, además de capacidades especiales como subtítulos y operaciones PDF

🧩 14 herramientas

10 herramientas de conversión principales + 4 herramientas auxiliares, clasificadas con precisión por dominio de formato, fáciles de seleccionar para LLM

🧠 Enrutamiento inteligente

Selecciona automáticamente la ruta de conversión óptima (directa / cadena de múltiples pasos), degradación automática cuando las dependencias no están disponibles

🔧 6 motores

FFmpeg / ImageMagick / LibreOffice / Pandoc / Python / PDF unificados en una sola interfaz

⚡ Cero configuración

Detecta automáticamente las dependencias del sistema al iniciar, avisa o degrada si faltan

🛡️ Listo para producción

Manejo de errores por niveles, protección de límites de recursos, limpieza TTL de archivos temporales


Related MCP server: ChangeThisFile MCP Server

📦 Formatos compatibles

Dominio de formato

Herramienta

Motor

N.º de formatos

Ejemplos

Audio

convert_media

FFmpeg

12

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

Vídeo

convert_media

FFmpeg

14

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

Imagen

convert_image

ImageMagick / Pillow

16

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

Documento

convert_document

LibreOffice / Pandoc / pdf2docx

10

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

Presentación

convert_presentation

LibreOffice

6

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

Hoja de cálculo

convert_spreadsheet

openpyxl / pandas / LibreOffice

8

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

Marcado

convert_markup

Pandoc

12

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

Datos

convert_data

Python (PyYAML/tomlkit/pandas/lxml)

8

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

Libro electrónico

convert_ebook

Pandoc / Calibre

5

EPUB, MOBI, AZW3, FB2, PDF

Subtítulos

convert_subtitle

pysubs2

3

SRT, ASS/SSA, VTT

Operaciones PDF

convert_pdf

PyMuPDF / pypdf

9 operaciones

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

Los formatos marcados con * son formatos restringidos (PAGES / WPS / NUMBERS / KEY), que requieren aplicaciones nativas de macOS o exportación desde iCloud.

En total, aproximadamente 71 formatos tras deduplicar, cubriendo más del 95% de las necesidades de conversión habituales de la industria.


⚠️ Limitaciones conocidas

  • Formatos restringidos: PAGES / WPS / NUMBERS / KEY requieren aplicaciones nativas de macOS o exportación desde iCloud; normalmente no se pueden convertir directamente en otras plataformas.

  • Decodificación HEIC/HEIF: depende del soporte libheif de ImageMagick; si falta, no se pueden decodificar las imágenes eficientes de Apple.

  • Degradación por motor ausente: si no está instalado LaTeX, Markdown→PDF se degrada a weasyprint; si no está instalado Calibre, los libros electrónicos MOBI/AZW3 no están disponibles; si no está instalado ImageMagick, la conversión de imágenes recurre a Python Pillow (con capacidades más limitadas).

  • Protocol Buffers: la conversión a PB requiere un archivo de definición .proto adicional.

  • Parquet / Protobuf: las dependencias de Python correspondientes (pyarrow, protobuf) son opcionales y deben instalarse manualmente.


🧰 Lista de herramientas

Herramientas de conversión principales (10)

Herramienta

Descripción

convert_media

Conversión mutua de audio/vídeo, extracción de audio, recorte de segmentos, incrustación de subtítulos

convert_image

Conversión mutua de imágenes, escalado, optimización, vectorial↔raster, control de DPI

convert_document

Conversión de alta fidelidad Word/PDF/RTF/TXT/HTML/MD, OCR, extracción de tablas

convert_presentation

Conversión de PPT/ODP/PDF/HTML/PNG (imágenes de diapositivas)

convert_spreadsheet

Conversión de Excel/CSV/TSV/JSON/HTML, conserva fórmulas y múltiples hojas

convert_markup

Conversión de texto de marcado Markdown/HTML/LaTeX/EPUB, tabla de contenidos/resaltado/fórmulas

convert_data

Conversión de datos JSON/YAML/XML/TOML/CSV/Parquet/Protobuf

convert_ebook

Conversión de libros electrónicos EPUB/MOBI/AZW3/FB2/PDF, portada/metadatos

convert_pdf

Fusión/división/compresión/extracción/marca de agua/rotación/conversión a imágenes de PDF

convert_subtitle

Conversión mutua de subtítulos SRT/ASS/VTT, desplazamiento temporal, conversión de codificación

Herramientas auxiliares (4)

Herramienta

Descripción

get_supported_formats

Consulta los formatos compatibles, rutas de conversión y motores disponibles

get_file_info

Detecta metadatos del archivo (formato, codificación, resolución, duración, número de páginas, etc.)

batch_convert

Conversión por lotes, compatible con coincidencia Glob y ejecución en paralelo

check_dependencies

Comprueba la disponibilidad y versión de todos los motores y dependencias del sistema

Todas las herramientas de conversión siguen uniformemente el paradigma de parámetros input_path + output_format + options.


🏗️ Arquitectura

┌─────────────────────────────────────────────────────┐
│              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                                         │
└──────────────────────────────────────────────────────┘

Ejemplo de planificación inteligente de rutas:

Origen → Destino

Ruta

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)


⚙️ Pila tecnológica

  • Lenguaje principal: TypeScript (Node.js ≥ 18)

  • Protocolo: @modelcontextprotocol/sdk

  • Motores de conversión: FFmpeg / ImageMagick / LibreOffice / Pandoc / Python (aislado en venv) / PyMuPDF

Dependencias del sistema

Dependencia

Versión

Uso

Instalación

Node.js

≥ 18

Ejecutar el servidor MCP

nodejs.org

FFmpeg

≥ 6.0

Conversión de audio/vídeo/subtítulos

winget install ffmpeg / brew install ffmpeg / apt install ffmpeg

ImageMagick

≥ 7.0

Conversión de imágenes

winget install ImageMagick / brew install imagemagick / apt install imagemagick

LibreOffice

≥ 7.5

Conversión fiel de documentos Office

libreoffice.org

Pandoc

≥ 3.0

Conversión de marcado/documentos/libros electrónicos

winget install pandoc / brew install pandoc / apt install pandoc

Python

≥ 3.10

Datos/PDF/hojas de cálculo/subtítulos

python.org

LaTeX (opcional, Markdown→PDF de alta calidad) y Calibre (opcional, MOBI/AZW3) pueden omitirse; el sistema se degrada automáticamente.

Dependencias de Python

pip install -r python/requirements.txt

Dependencias principales: openpyxl, pandas, PyYAML, tomlkit, xmltodict, PyMuPDF, pypdf, pdf2docx, pysubs2, Pillow (pyarrow, protobuf son opcionales).


🚀 Instalación

Instale primero las dependencias del sistema (FFmpeg / ImageMagick / LibreOffice / Pandoc):

  • Windows: npm run prepare-deps (descarga versiones portátiles con un clic)

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

  • Linux: apt install ffmpeg imagemagick libreoffice pandoc

A continuación, compile e instale las dependencias de 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

🔌 Configuración de MCP

Añada el siguiente servidor a la configuración mcpServers de su cliente MCP.

TimeVerse Studio (recomendado · alojado en npm)

TimeVerse Studio se conecta mediante el JSON estándar mcpServers. Una vez publicado en npm, se ejecuta directamente con npx sin necesidad de compilación local:

{
  "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 (compilación local)

Tras la compilación local, ejecute directamente con 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: cambie args a /Users/<you>/timeverse-omni-converter-mcp/dist/index.js y cambie FC_PYTHON_PATH a python3 (o elimine ese elemento para que detecte automáticamente .venv/python3).


🔧 Variables de entorno

Variable

Valor predeterminado

Descripción

FC_PYTHON_PATH

python

Ruta del intérprete de Python

FC_FFMPEG_PATH

ffmpeg

Ruta del ejecutable de FFmpeg

FC_FFPROBE_PATH

ffprobe

Ruta del ejecutable de ffprobe

FC_IMAGEMAGICK_PATH

magick

Ruta del ejecutable de ImageMagick

FC_LIBREOFFICE_PATH

soffice

Ruta del ejecutable de LibreOffice

FC_PANDOC_PATH

pandoc

Ruta del ejecutable de Pandoc

FC_CALIBRE_PATH

ebook-convert

Ruta del conversor de libros electrónicos de Calibre

FC_TEMP_DIR

Directorio temporal del sistema

Directorio de archivos temporales

FC_MAX_FILE_SIZE

524288000 (500MB)

Tamaño máximo del archivo de entrada

FC_MAX_EXTRACTED_SIZE

1073741824 (1GB)

Límite de tamaño total tras descompresión (anti zip bomb)

FC_MAX_COMPRESSION_RATIO

100

Relación de compresión máxima

FC_MAX_PIXELS

100000000

Límite de píxeles al descomprimir imágenes (anti bomba de descompresión)

FC_TIMEOUT

300000 (5min)

Tiempo de espera por conversión

FC_PARALLEL

1

Número de procesos en paralelo predeterminado

FC_LOG_LEVEL

info

Nivel de registro


💬 Ejemplos de uso

Envíe instrucciones en lenguaje natural al LLM del cliente MCP, por ejemplo:

  • «Convierte a.mov a a.mp4, resolución 1920x1080» → convert_media

  • «Convierte photo.heic a photo.png» → convert_image

  • «Convierte report.docx a report.pdf» → convert_document

  • «Convierte data.json a data.csv» → convert_data

  • «Exporta cada diapositiva de slides.pptx como PNG» → convert_presentation

  • «Convierte book.epub a book.mobi» → convert_ebook

  • «Fusiona a.pdf y b.pdf» → convert_pdf (operation: "merge")

  • «Convierte subs.ass a subs.srt» → convert_subtitle

Ejemplo de llamada a herramienta:

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

Resultado devuelto:

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

❓ Preguntas frecuentes

P: ¿Qué hago si la conversión indica que falta una dependencia o falla? R: Llame a la herramienta check_dependencies para ver el estado de disponibilidad y la versión de cada motor (FFmpeg / ImageMagick / LibreOffice / Pandoc / Python), instale las dependencias que falten y vuelva a intentarlo.

P: ¿Las conversiones relacionadas con Python (datos / PDF / hojas de cálculo / subtítulos) dan error? R: Confirme que ha instalado las dependencias con pip install -r python/requirements.txt y que FC_PYTHON_PATH apunta al intérprete de Python correcto (o que el entorno virtual está activado).

P: ¿Qué ocurre si el archivo de destino ya existe? R: De forma predeterminada se renombra automáticamente a nombre_1.extensión; en la conversión por lotes puede controlar el comportamiento con el parámetro on_conflict: overwrite / skip / rename.

P: ¿Por qué algunos formatos (como PAGES / NUMBERS) no se pueden convertir? R: Son formatos propietarios de Apple que requieren aplicaciones nativas de macOS o exportación desde iCloud; son formatos restringidos. Consulte «Limitaciones conocidas».

P: ¿Qué hago si la conversión de archivos grandes agota el tiempo de espera? R: Aumente FC_TIMEOUT (predeterminado 300000ms) y tenga en cuenta el límite de FC_MAX_FILE_SIZE (predeterminado 500MB).


🛡️ Seguridad

El servidor procesa contenido de archivos no confiables e incorpora múltiples protecciones de recursos y seguridad:

  • Límites de tamaño del archivo de entrada, volumen tras descompresión, relación de compresión y píxeles de imagen (anti zip bomb / bomba de descompresión)

  • Tiempo de espera por conversión y límite de concurrencia

  • Los analizadores deshabilitan XXE (inyección de entidades externas), scripts incrustados en PDF y carga de recursos externos

  • Los procesos externos se invocan uniformemente con matrices de argumentos (execFile) para evitar la inyección de comandos


📄 Licencia

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