/ ディレクトリ / プレイグラウンド / markdownify-mcp
● コミュニティ zcaceres ⚡ 即起動

markdownify-mcp

作者 zcaceres · zcaceres/markdownify-mcp

PDF、Word文書、スプレッドシート、スライドデック、ウェブページ、画像、オーディオ、YouTubeの動画をチャットからクリーンなマークダウンに変換します。

zcaceres/markdownify-mcpは、変換ツール(MicrosoftのmarkitdownとYouTubeトランスクリプト取得ツールを含む)を統一されたインターフェースでラップするTypeScript MCPです。RAGパイプラインへのデータ供給に最適で、レガシー文書をマークダウンネイティブワークフローに貼り付けるのに適しています。

なぜ使うのか

主な機能

ライブデモ

実際の動作

markdownify.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "markdownify": {
      "command": "npx",
      "args": [
        "-y",
        "markdownify-mcp"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "markdownify": {
      "command": "npx",
      "args": [
        "-y",
        "markdownify-mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "markdownify": {
      "command": "npx",
      "args": [
        "-y",
        "markdownify-mcp"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "markdownify": {
      "command": "npx",
      "args": [
        "-y",
        "markdownify-mcp"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "markdownify",
      "command": "npx",
      "args": [
        "-y",
        "markdownify-mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "markdownify": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "markdownify-mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add markdownify -- npx -y markdownify-mcp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: markdownify-mcp

PDFのフォルダをマークダウンナレッジベースに取り込む方法

👤 RAGビルダー、ナレッジマネージャー ⏱ ~30 min intermediate

使うタイミング: 50個のPDFリサーチペーパーがあり、埋め込み用にクリーンなテキストが必要な場合です。

前提条件
  • pnpm — npm i -g pnpm
  • インストール + 実行 — git clone the repo, pnpm install, pnpm start
フロー
  1. ファイルのリスト化
    List every .pdf under /library/papers/.✓ コピーしました
    → パスリスト
  2. バッチ変換
    For each, call pdf-to-markdown. Write the output to /library/markdown/<same-name>.md.✓ コピーしました
    → マークダウンファイルが表示される
  3. 1つをスポットチェック
    Show me the first 500 chars of /library/markdown/attention-is-all-you-need.md.✓ コピーしました
    → 読みやすいマークダウン、PDFアーティファクトなし

結果: /markdown/ ツリーを埋め込み用に準備

注意点
  • スキャンされたPDF(画像のみ)は空のマークダウンを生成します — 変換前にスキャンされたPDFに事前OCRを実行
  • 数学が多いPDFは方程式が失われます — 数式の場合は、Mathpixまたはnougat OCRモデルを別途ペアリングしてみてください
組み合わせ: filesystem

会議録音を検索可能なノートに変える方法

👤 会議を記録している全員 ⏱ ~10 min beginner

使うタイミング: 通話後、記憶が薄れる前に。

前提条件
  • Whisper用のOpenAI キー — platform.openai.com (or any Whisper-compatible endpoint)
フロー
  1. トランスクライブ
    audio-to-markdown on /recordings/2026-04-14-standup.m4a.✓ コピーしました
    → タイムスタンプ付きマークダウン
  2. アクションの抽出
    From the transcript, list action items with owners.✓ コピーしました
    → アクションチェックリスト

結果: 検索可能な会議ノート+アクション

注意点
  • Whisperがスピーカーを誤認識します — スピーカーダイアライゼーションには専用ツールを使用してください。markdownifyはテキストのみを提供します
組み合わせ: notion

YouTubeビデオを見ずに要約する方法

👤 研究者、学習者 ⏱ ~5 min beginner

使うタイミング: フィードの90分間のビデオを5分しかない時。

フロー
  1. トランスクリプトを取得
    youtube-to-markdown https://youtu.be/xyz123.✓ コピーしました
    → トランスクリプトマークダウン
  2. 要約
    Summarize in 5 bullets + key timestamps.✓ コピーしました
    → ジャンプポイント付きの箇条書き要約

結果: 実際にビデオを見るかどうかの決定

注意点
  • 一部のビデオは字幕が無効です — ツールが空を返します— ファイルがある場合はaudio-to-markdownにフォールバック

組み合わせ

他のMCPと組み合わせて10倍の力を

markdownify + filesystem

インボックスフォルダをナレッジベースフォルダに一括変換

Convert every file in /inbox/ to markdown under /kb/ preserving the directory tree.✓ コピーしました
markdownify + notion

変換されたドキュメントをNotionに直接追加

Convert the PDF /specs/rfq-2026.pdf and create a Notion page with the result.✓ コピーしました
markdownify + excel

xlsx-to-markdownをexcel MCPと組み合わせてラウンドトリッピングを行う

Read /report.xlsx sheet 'Summary', convert to markdown, and save to /docs/report.md.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
pdf-to-markdown path_or_url: str PDFを変換 無料(ローカル)
docx-to-markdown path_or_url: str Word文書 無料
xlsx-to-markdown path_or_url: str スプレッドシートをテーブルとして 無料
pptx-to-markdown path_or_url: str スライドデック 無料
image-to-markdown path_or_url: str 画像 無料またはOCR有効時は1回のLLMコール
audio-to-markdown path: str オーディオ/音声メモ 1回のWhisperコール($0.006/分)
youtube-to-markdown url: str YouTube字幕 無料
webpage-to-markdown url: str 読み込み可能なウェブテキスト 無料
bing-search-to-markdown query: str 高速ウェブ検索 無料
get-markdown-file path: str 前の変換を取得 無料

コストと制限

運用コスト

APIクォータ
ローカルコンバーターの場合は制限なし。オーディオの場合はWhisper/OpenAI
呼び出しあたりのトークン
ドキュメントサイズによります
金額
オーディオトランスクリプション以外は無料(Whisper経由で約$0.006/分)
ヒント
大量のPDFバッチの場合は、LLMに貼り付ける前に変換を実行してください— Claudeに直接PDFを解析させるより安いです。

セキュリティ

権限、シークレット、影響範囲

最小スコープ: ソースファイルのファイルシステム読み込み、出力への書き込み
認証情報の保管: OPENAI_API_KEY(オーディオ用)を環境変数に設定
データ送信先: ローカルコンバーターはローカルに留まります。オーディオはWhisperエンドポイントに送信されます。
絶対に付与しない: 信頼できないURLをサンドボックスなしでwebpage-to-markdownで実行しないでください— SSRF リスク

トラブルシューティング

よくあるエラーと対処法

pnpm installが失敗する

Nodeのバージョンが古い— Node 18以上が必要です。nvm install 20.

確認: node -v
pdf-to-markdownが空の文字列を返す

スキャンされたPDF(画像のみ)の可能性があります。最初にOCRを実行してください(ocrmypdf)。

youtube-to-markdown「字幕が利用できません」

ビデオ所有者が字幕を無効にしました。オーディオをダウンロードしてaudio-to-markdownを使用してください。

audio-to-markdown 401

OPENAI_API_KEYが見つからないか無効です。

確認: echo $OPENAI_API_KEY

代替案

markdownify-mcp 他との比較

代替案代わりに使う場面トレードオフ
markitdown (Microsoft)MCPなしで基盤となるコンバーターを直接使用したい場合MCPインターフェースなし、独自のラッピングが必要
unstructured.ioレイアウト認識を備えたエンタープライズスケールの取り込み高度な機能は有料

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る