timeverse-omni-converter-mcp
Format Converter MCP
汎用フォーマット変換 MCP Server
音声・動画・画像・Office・データ・電子書籍・PDF・字幕など、あらゆるフォーマット変換をカバーする Model Context Protocol (MCP) サーバーです。TimeVerse Studio、Claude Desktop、Cursor、VS Code など、任意の MCP クライアントから呼び出せます。
✨ 特徴
特徴 | 説明 |
🎯 幅広いフォーマット対応 | 9 大フォーマット領域、71 種類の重複排除済みフォーマットに加え、字幕・PDF 操作などの特殊機能も搭載 |
🧩 14 のツール | 10 のコア変換ツール + 4 の補助ツール。フォーマット領域ごとに正確に分類され、LLM が選択しやすい設計 |
🧠 スマートルーティング | 最適な変換パス(直接変換 / 多段チェーン)を自動選択。依存関係が利用不可の場合は自動的にフォールバック |
🔧 6 大エンジン | FFmpeg / ImageMagick / LibreOffice / Pandoc / Python / PDF を統一的にラップ |
⚡ ゼロ設定 | 起動時にシステム依存関係を自動検出し、不足時は警告またはフォールバック |
🛡️ 本番利用可能 | 段階的エラー処理、リソース上限保護、一時ファイル TTL クリーンアップ |
Related MCP server: ChangeThisFile MCP Server
📦 対応フォーマット
フォーマット領域 | ツール | エンジン | フォーマット数 | 例 |
音声 |
| FFmpeg | 12 | MP3, WAV, FLAC, AAC, OGG, M4A, WMA, AIFF, OPUS, AC3, AMR, MKA |
動画 |
| FFmpeg | 14 | MP4, AVI, MKV, MOV, WebM, FLV, WMV, M4V, MPEG, 3GP, TS, GIF, VOB, RMVB |
画像 |
| ImageMagick / Pillow | 16 | JPEG, PNG, GIF, BMP, TIFF, WebP, SVG, HEIC, ICO, PSD, RAW, AVIF, EXR |
ドキュメント |
| LibreOffice / Pandoc / pdf2docx | 10 | DOCX, DOC, PDF, RTF, ODT, TXT, PAGES*, WPS*, HTML, MD |
プレゼンテーション |
| LibreOffice | 6 | PPTX, PPT, ODP, PDF, KEY*, HTML |
スプレッドシート |
| openpyxl / pandas / LibreOffice | 8 | XLSX, XLS, ODS, CSV, TSV, NUMBERS*, FODS, HTML |
マークアップ |
| Pandoc | 12 | Markdown, HTML, RST, AsciiDoc, LaTeX, Org, MediaWiki, EPUB, Typst, TXT, IPYNB |
データ |
| Python (PyYAML/tomlkit/pandas/lxml) | 8 | JSON, YAML, XML, TOML, CSV, TSV, Parquet, Protobuf |
電子書籍 |
| Pandoc / Calibre | 5 | EPUB, MOBI, AZW3, FB2, PDF |
字幕 |
| pysubs2 | 3 | SRT, ASS/SSA, VTT |
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 個)
ツール | 説明 |
| 音声/動画の相互変換、音声抽出、クリップ切り出し、字幕埋め込み |
| 画像の相互変換、リサイズ、最適化、ベクター↔ラスター、DPI 制御 |
| Word/PDF/RTF/TXT/HTML/MD の高忠実度変換、OCR、表抽出 |
| PPT/ODP/PDF/HTML/PNG(スライド画像)変換 |
| Excel/CSV/TSV/JSON/HTML 変換、数式と複数シートを保持 |
| Markdown/HTML/LaTeX/EPUB などのマークアップテキスト変換、目次/ハイライト/数式 |
| JSON/YAML/XML/TOML/CSV/Parquet/Protobuf データ変換 |
| EPUB/MOBI/AZW3/FB2/PDF 電子書籍変換、表紙/メタデータ |
| PDF 結合/分割/圧縮/抽出/透かし/回転/画像変換 |
| SRT/ASS/VTT 字幕の相互変換、時間オフセット、エンコーディング変換 |
補助ツール(4 個)
ツール | 説明 |
| 対応フォーマット、変換パス、利用可能なエンジンを照会 |
| ファイルメタ情報(フォーマット、エンコーディング、解像度、長さ、ページ数など)を検出 |
| バッチ変換。Glob マッチングと並列実行に対応 |
| 全エンジンとシステム依存関係の可用性とバージョンを確認 |
すべての変換ツールは 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 の実行 | |
FFmpeg | ≥ 6.0 | 音声/動画/字幕変換 |
|
ImageMagick | ≥ 7.0 | 画像変換 |
|
LibreOffice | ≥ 7.5 | Office ドキュメントの忠実度変換 | |
Pandoc | ≥ 3.0 | マークアップ/ドキュメント/電子書籍変換 |
|
Python | ≥ 3.10 | データ/PDF/スプレッドシート/字幕 |
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 libreofficeLinux:
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_PATHをpython3に変更してください(またはこの項目を削除して、.venv/python3を自動検出させます)。
🔧 環境変数
変数 | デフォルト値 | 説明 |
|
| Python インタープリタのパス |
|
| FFmpeg 実行ファイルのパス |
|
| ffprobe 実行ファイルのパス |
|
| ImageMagick 実行ファイルのパス |
|
| LibreOffice 実行ファイルのパス |
|
| Pandoc 実行ファイルのパス |
|
| Calibre 電子書籍コンバータのパス |
| システム一時ディレクトリ | 一時ファイルディレクトリ |
|
| 最大入力ファイルサイズ |
|
| 解凍後の合計サイズ上限(zip bomb 対策) |
|
| 最大圧縮比 |
|
| 画像解凍時のピクセル上限(解凍爆弾対策) |
|
| 単一変換のタイムアウト |
|
| デフォルトの並列数 |
|
| ログレベル |
💬 使用例
MCP クライアント内の LLM に自然言語で指示を出します。例:
「
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": []
}❓ よくある質問
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
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