timeverse-omni-converter-mcp
Format Converter 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.
✨ 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 |
| FFmpeg | 12 | MP3, WAV, FLAC, AAC, OGG, M4A, WMA, AIFF, OPUS, AC3, AMR, MKA |
Vídeo |
| FFmpeg | 14 | MP4, AVI, MKV, MOV, WebM, FLV, WMV, M4V, MPEG, 3GP, TS, GIF, VOB, RMVB |
Imagen |
| ImageMagick / Pillow | 16 | JPEG, PNG, GIF, BMP, TIFF, WebP, SVG, HEIC, ICO, PSD, RAW, AVIF, EXR |
Documento |
| LibreOffice / Pandoc / pdf2docx | 10 | DOCX, DOC, PDF, RTF, ODT, TXT, PAGES*, WPS*, HTML, MD |
Presentación |
| LibreOffice | 6 | PPTX, PPT, ODP, PDF, KEY*, HTML |
Hoja de cálculo |
| openpyxl / pandas / LibreOffice | 8 | XLSX, XLS, ODS, CSV, TSV, NUMBERS*, FODS, HTML |
Marcado |
| Pandoc | 12 | Markdown, HTML, RST, AsciiDoc, LaTeX, Org, MediaWiki, EPUB, Typst, TXT, IPYNB |
Datos |
| Python (PyYAML/tomlkit/pandas/lxml) | 8 | JSON, YAML, XML, TOML, CSV, TSV, Parquet, Protobuf |
Libro electrónico |
| Pandoc / Calibre | 5 | EPUB, MOBI, AZW3, FB2, PDF |
Subtítulos |
| pysubs2 | 3 | SRT, ASS/SSA, VTT |
Operaciones 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/KEYrequieren 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
.protoadicional.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 |
| Conversión mutua de audio/vídeo, extracción de audio, recorte de segmentos, incrustación de subtítulos |
| Conversión mutua de imágenes, escalado, optimización, vectorial↔raster, control de DPI |
| Conversión de alta fidelidad Word/PDF/RTF/TXT/HTML/MD, OCR, extracción de tablas |
| Conversión de PPT/ODP/PDF/HTML/PNG (imágenes de diapositivas) |
| Conversión de Excel/CSV/TSV/JSON/HTML, conserva fórmulas y múltiples hojas |
| Conversión de texto de marcado Markdown/HTML/LaTeX/EPUB, tabla de contenidos/resaltado/fórmulas |
| Conversión de datos JSON/YAML/XML/TOML/CSV/Parquet/Protobuf |
| Conversión de libros electrónicos EPUB/MOBI/AZW3/FB2/PDF, portada/metadatos |
| Fusión/división/compresión/extracción/marca de agua/rotación/conversión a imágenes de PDF |
| Conversión mutua de subtítulos SRT/ASS/VTT, desplazamiento temporal, conversión de codificación |
Herramientas auxiliares (4)
Herramienta | Descripción |
| Consulta los formatos compatibles, rutas de conversión y motores disponibles |
| Detecta metadatos del archivo (formato, codificación, resolución, duración, número de páginas, etc.) |
| Conversión por lotes, compatible con coincidencia Glob y ejecución en paralelo |
| 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/sdkMotores 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 | |
FFmpeg | ≥ 6.0 | Conversión de audio/vídeo/subtítulos |
|
ImageMagick | ≥ 7.0 | Conversión de imágenes |
|
LibreOffice | ≥ 7.5 | Conversión fiel de documentos Office | |
Pandoc | ≥ 3.0 | Conversión de marcado/documentos/libros electrónicos |
|
Python | ≥ 3.10 | Datos/PDF/hojas de cálculo/subtítulos |
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.txtDependencias 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 libreofficeLinux:
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
argsa/Users/<you>/timeverse-omni-converter-mcp/dist/index.jsy cambieFC_PYTHON_PATHapython3(o elimine ese elemento para que detecte automáticamente.venv/python3).
🔧 Variables de entorno
Variable | Valor predeterminado | Descripción |
|
| Ruta del intérprete de Python |
|
| Ruta del ejecutable de FFmpeg |
|
| Ruta del ejecutable de ffprobe |
|
| Ruta del ejecutable de ImageMagick |
|
| Ruta del ejecutable de LibreOffice |
|
| Ruta del ejecutable de Pandoc |
|
| Ruta del conversor de libros electrónicos de Calibre |
| Directorio temporal del sistema | Directorio de archivos temporales |
|
| Tamaño máximo del archivo de entrada |
|
| Límite de tamaño total tras descompresión (anti zip bomb) |
|
| Relación de compresión máxima |
|
| Límite de píxeles al descomprimir imágenes (anti bomba de descompresión) |
|
| Tiempo de espera por conversión |
|
| Número de procesos en paralelo predeterminado |
|
| Nivel de registro |
💬 Ejemplos de uso
Envíe instrucciones en lenguaje natural al LLM del cliente MCP, por ejemplo:
«Convierte
a.movaa.mp4, resolución 1920x1080» →convert_media«Convierte
photo.heicaphoto.png» →convert_image«Convierte
report.docxareport.pdf» →convert_document«Convierte
data.jsonadata.csv» →convert_data«Exporta cada diapositiva de
slides.pptxcomo PNG» →convert_presentation«Convierte
book.epubabook.mobi» →convert_ebook«Fusiona
a.pdfyb.pdf» →convert_pdf(operation: "merge")«Convierte
subs.assasubs.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
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