Skip to main content
Glama
elimyliu

timeverse-omni-converter-mcp

by elimyliu

Format Converter MCP

License Version Node.js TypeScript MCP

범용 포맷 변환 MCP Server

오디오, 비디오, 이미지, Office, 데이터, 전자책, PDF, 자막 등 전 포맷 변환을 지원하는 Model Context Protocol (MCP) 서버로, TimeVerse Studio, Claude Desktop, Cursor, VS Code 등 모든 MCP 클라이언트에서 호출할 수 있습니다.

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 디코딩: ImageMagick의 libheif 지원에 의존합니다. 없으면 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 구성

MCP 클라이언트의 mcpServers 구성에 다음 서버를 추가하면 됩니다.

TimeVerse Studio(권장 · npm 호스팅)

TimeVerse Studio는 표준 mcpServers JSON으로 연동합니다. 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_PATHpython3로 변경합니다(또는 해당 항목을 삭제하여 .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 (5min)

단일 변환 타임아웃

FC_PARALLEL

1

기본 병렬 수

FC_LOG_LEVEL

info

로그 레벨


💬 사용 예시

MCP 클라이언트의 LLM에 자연어 명령을 전달합니다. 예:

  • a.mova.mp4로 변환, 해상도 1920x1080」→ convert_media

  • photo.heicphoto.png로 변환」→ convert_image

  • report.docxreport.pdf로 변환」→ convert_document

  • data.jsondata.csv로 변환」→ convert_data

  • slides.pptx의 각 페이지를 PNG로 내보내기」→ convert_presentation

  • book.epubbook.mobi로 변환」→ convert_ebook

  • a.pdfb.pdf 병합」→ convert_pdf(operation: "merge")

  • subs.asssubs.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": []
}

❓ 자주 묻는 질문

Q: 변환 시 의존성 누락 또는 실패가 발생하면 어떻게 하나요? A: check_dependencies 도구를 호출하여 각 엔진(FFmpeg / ImageMagick / LibreOffice / Pandoc / Python)의 가용 상태와 버전을 확인하고, 누락된 의존성을 설치한 후 다시 시도하세요.

Q: Python 관련 변환(데이터 / PDF / 스프레드시트 / 자막)에서 오류가 발생하나요? A: pip install -r python/requirements.txt로 의존성을 설치했는지 확인하고, FC_PYTHON_PATH가 올바른 Python 인터프리터를 가리키는지 확인하세요(또는 가상 환경 활성화).

Q: 대상 파일이 이미 존재하면 어떻게 되나요? A: 기본적으로 파일명_1.확장자로 자동 이름 변경됩니다. 일괄 변환 시 on_conflict 매개변수로 overwrite / skip / rename을 제어할 수 있습니다.

Q: 일부 포맷(예: PAGES / NUMBERS)은 왜 변환할 수 없나요? A: 이는 Apple 독점 포맷으로, macOS 네이티브 앱 또는 iCloud 내보내기가 필요하며 제한 포맷에 해당합니다. 자세한 내용은 「알려진 제한 사항」을 참조하세요.

Q: 대용량 파일 변환 시 타임아웃이 발생하면 어떻게 하나요? A: FC_TIMEOUT(기본 300000ms)을 늘리고, FC_MAX_FILE_SIZE(기본 500MB) 상한에 주의하세요.


🛡️ 보안

Server는 신뢰할 수 없는 파일 콘텐츠를 처리하므로, 여러 리소스 및 보안 보호 기능이 내장되어 있습니다:

  • 입력 파일 크기, 압축 해제 후 용량, 압축 비율, 이미지 픽셀 상한(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