/ ディレクトリ / プレイグラウンド / MarkItDown MCP
● 公式 microsoft ⚡ 即起動

MarkItDown MCP

作者 microsoft · microsoft/markitdown

MicrosoftのMarkItDownをMCPとして提供 — PDF・DOCX・PPTX・XLSX・音声・HTMLをClaudeが読めるクリーンなMarkdownに変換。

MarkItDownはMicrosoftのユニバーサルドキュメント→Markdownコンバーターで、MCPサーバーとしてパッケージ化されています。OfficeドキュメントやPDF・画像・音声ファイル・ZIP・EPub・URLを渡すと、Claudeが推論可能な構造化Markdownが返ってきます。MCPレイヤー(markitdown-mcp)は同じmonorepo内の別パッケージです。

なぜ使うのか

主な機能

ライブデモ

実際の動作

markitdown-mcp.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "markitdown-mcp": {
      "command": "uvx",
      "args": [
        "markitdown-mcp"
      ]
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "markitdown-mcp": {
      "command": "uvx",
      "args": [
        "markitdown-mcp"
      ]
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "markitdown-mcp": {
      "command": "uvx",
      "args": [
        "markitdown-mcp"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "markitdown-mcp": {
      "command": "uvx",
      "args": [
        "markitdown-mcp"
      ]
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "markitdown-mcp",
      "command": "uvx",
      "args": [
        "markitdown-mcp"
      ]
    }
  ]
}

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

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

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

claude mcp add markitdown-mcp -- uvx markitdown-mcp

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

ユースケース

実用的な使い方: MarkItDown MCP

200ページのPDFをClaudeが読めるMarkdownとして展開する

👤 PDFが多いワークフローを持つ研究者・弁護士など ⏱ ~15 min beginner

使うタイミング: PDFの具体的な内容について議論したいが、ページごとにコピペしたくないとき。

フロー
  1. 変換する
    Use markitdown. Convert ~/Downloads/whitepaper.pdf to Markdown. Tell me total length and section count.✓ コピーしました
    → 目次サマリー付きでMarkdownが返される
  2. 具体的な内容について議論する
    From section 3, what claims do they make about throughput? Quote the exact lines.✓ コピーしました
    → セクション参照付きの直接引用
  3. 別のドキュメントと比較する
    Now convert competitor.pdf the same way. Compare their throughput claims.✓ コピーしました
    → 主張をドキュメントごとに整理した表

結果: 2つのPDFを取り込み、比較し、チャット内で引用可能な状態になる。

注意点
  • スキャンされたPDFが空で返される — MarkItDownは基本的なOCRを行う — 画像のみのPDFは事前にOCRを実行しておく
組み合わせ: filesystem

ブラウザスクレイピングなしに任意のURLをクリーンなMarkdownに変換する

👤 URLで記事やドキュメントを取り込みたい全ての人 ⏱ ~10 min beginner

使うタイミング: 記事が動的にレンダリングされているかペイウォールの内側にあり、生のHTMLではなく構造化された出力が欲しいとき。

フロー
  1. 取得して変換する
    Use markitdown to convert https://example.com/long-article. Strip nav and footer.✓ コピーしました
    → Markdown形式の記事本文
  2. 要約または引用する
    Give me the core claim and the strongest evidence cited.✓ コピーしました
    → 構造化サマリー

結果: URLが推論可能なMarkdownに変換される。

注意点
  • JS依存のSPAが空で返される — SPAにはブラウザベースのMCP(browser-act・mcp-chrome)を使い、その後markitdownにパイプする

混在するOfficeドキュメントのフォルダを一括変換してナレッジベースを作る

👤 内部コーパスを構築するナレッジ運営・サポートチーム ⏱ ~30 min intermediate

使うタイミング: Dropbox/SharePointに混在するフォーマットのドキュメントが大量にあり、全て読み込み可能な状態にしたいとき。

フロー
  1. ファイルを棚卸しする
    List ~/docs/ — group by extension. How many PDFs, DOCXs, PPTXs?✓ コピーしました
    → 拡張子ごとのファイル数
  2. 全て変換する
    Convert every doc in ~/docs/ to Markdown into ~/docs-md/. Preserve folder structure.✓ コピーしました
    → .mdファイルを持つミラーツリー
  3. 検索用にインデックスを作る
    Now give me a single index.md listing each doc's title and 2-line summary.✓ コピーしました
    → ナレッジベースのインデックスファイル

結果: 混在フォーマットのフォルダが均質なMarkdownコーパスに変換される。

組み合わせ: filesystem

組み合わせ

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

markitdown-mcp + filesystem

ソースファイルを一覧してから一括変換する

List ~/inbox/, convert each via markitdown, save to ~/processed/.✓ コピーしました
markitdown-mcp + office-word-mcp

WordドキュメントをMarkdownに変換して編集し、また新しいdocxに書き戻す

MarkItDown the .docx → edit the .md → use word-mcp to write a new .docx with the edits.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
convert_to_markdown uri (file:// or http://) テキストとして扱いたいあらゆるドキュメントに使用 0 (LLM hooks optional, paid)

コストと制限

運用コスト

APIクォータ
N/A — ローカル実行
呼び出しあたりのトークン
可変 — 大きなPDFは数万行のMarkdownになることがある
金額
無料 (MIT)。オプションのLLM/Whisperフックは別途課金。
ヒント
大きな付録はスキップする — ファイルタイプがサポートしていればページ範囲を指定して変換する

セキュリティ

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

最小スコープ: filesystem-read outbound:url-fetch
認証情報の保管: デフォルトではなし。LLMフックには独自のキーが必要
データ送信先: 取得を依頼したURL。LLMフックが有効な場合はそのエンドポイント

トラブルシューティング

よくあるエラーと対処法

レアなフォーマットでImportErrorが発生する

MarkItDownにはオプションのエクストラがある: pip install markitdown[all] でyoutube/azure-docsなどのパーサーを含める

レガシーDOCのエンコードエラー

OfficeでDOCXとして保存し直してから変換する。.docのサポートはベストエフォート

表がつぶれて見える

MarkItDownは表構造を保持するが、Claudeがレンダリングするには明示的なプロンプトが必要な場合がある — HTMLテーブルモードを要求する

代替案

MarkItDown MCP 他との比較

代替案代わりに使う場面トレードオフ
Docling / Unstructured複雑な科学文書でPDFのレイアウト忠実度が必要なとき依存関係が重い。表の精度は高い
kreuzbergスキャンドキュメントにOCRをかけた純粋なテキスト抽出が必要なとき最適化の目標が異なる

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

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