mcpField
M
markitdown

markitdown

github.com/microckドキュメント40855 回インストール17 週間前に更新
リポジトリ

markitdown について

markitdownは、文書、メディア、Webコンテンツ、構造化データをMarkdownに変換するPythonユーティリティ兼スキルです。文書構造を保った出力や一括処理に対応し、文書分析やLLM・RAGのパイプラインに適しています。

主な機能

  1. 01OfficeファイルとPDFの変換
  2. 02OCRによる画像テキスト抽出
  3. 03音声とYouTubeの文字起こし
  4. 04Webと構造化データの変換
  5. 05ファイルとZIPの一括処理

活用シーン

  1. 01LLM分析用の文書準備
  2. 02OfficeファイルのMarkdown化
  3. 03画像や音声からのテキスト抽出
  4. 04文書群の一括変換

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/microck/ordinary-claude-skills --skill markitdown

インストール後、Claude Code で/markitdownを入力して読み込まれたか確認します。

同梱ファイルmetadata.json

詳細

MarkItDown

概要

MarkItDown は、さまざまなファイル形式を Markdown 形式に変換する Python ユーティリティです。LLM やテキスト分析のパイプラインでの使用に最適化されています。ドキュメントの構造(見出し、リスト、表、ハイパーリンク)を保持しながら、クリーンでトークン効率の高い Markdown 出力を生成します。

このスキルを使用する場面

次のようなリクエストがあったときに、このスキルを使用します。

  • ドキュメントを Markdown 形式に変換する
  • PDF、Word、PowerPoint、Excel ファイルからテキストを抽出する
  • 画像に OCR を実行してテキストを抽出する
  • 音声ファイルをテキストに書き起こす
  • YouTube 動画のトランスクリプトを抽出する
  • HTML、EPUB、ウェブコンテンツを Markdown に変換する
  • 構造化データ(CSV、JSON、XML)を読みやすい Markdown に変換する
  • 複数のファイルや ZIP アーカイブを一括変換する
  • LLM 分析や RAG システム向けにドキュメントを準備する

主な機能

1. ドキュメント変換

構造を保持しながら、Office ドキュメントや PDF を Markdown に変換します。

対応形式:

  • PDF ファイル(Azure Document Intelligence との連携はオプション)
  • Word ドキュメント(DOCX)
  • PowerPoint プレゼンテーション(PPTX)
  • Excel スプレッドシート(XLSX、XLS)

基本的な使用方法:

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("document.pdf")
print(result.text_content)

コマンドライン:

markitdown document.pdf -o output.md

ドキュメント固有の機能について詳しくは、references/document_conversion.md を参照してください。

2. メディア処理

OCR を使用して画像からテキストを抽出し、音声ファイルをテキストに書き起こします。

対応形式:

  • 画像(JPEG、PNG、GIF など)。EXIF メタデータの抽出にも対応
  • 音声認識による音声ファイルの文字起こし(speech_recognition が必要)

OCR による画像処理:

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("image.jpg")
print(result.text_content)  # Includes EXIF metadata and OCR text

音声の文字起こし:

result = md.convert("audio.wav")
print(result.text_content)  # Transcribed speech

高度なメディア処理オプションについては、references/media_processing.md を参照してください。

3. ウェブコンテンツの抽出

ウェブ上のコンテンツや電子書籍を Markdown に変換します。

対応形式:

  • HTML ファイルとウェブページ
  • YouTube 動画のトランスクリプト(URL 経由)
  • EPUB 書籍
  • RSS フィード

YouTube のトランスクリプト:

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("https://youtube.com/watch?v=VIDEO_ID")
print(result.text_content)

ウェブコンテンツの抽出について詳しくは、references/web_content.md を参照してください。

4. 構造化データの処理

構造化データ形式を、読みやすい Markdown の表に変換します。

対応形式:

  • CSV ファイル
  • JSON ファイル
  • XML ファイル

CSV から Markdown の表への変換:

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("data.csv")
print(result.text_content)  # Formatted as Markdown table

形式ごとのオプションについては、references/structured_data.md を参照してください。

5. 高度な連携機能

AI を活用した機能により、変換品質を向上させます。

Azure Document Intelligence: 表の抽出やレイアウト分析を改善し、PDF 処理を強化します。

from markitdown import MarkItDown

md = MarkItDown(docintel_endpoint="<endpoint>", docintel_key="<key>")
result = md.convert("complex.pdf")

LLM による画像の説明: GPT-4o を使用して、詳細な画像の説明を生成します。

from markitdown import MarkItDown
from openai import OpenAI

client = OpenAI()
md = MarkItDown(llm_client=client, llm_model="gpt-4o")
result = md.convert("presentation.pptx")  # Images described with LLM

連携方法について詳しくは、references/advanced_integrations.md を参照してください。

6. 一括処理

複数のファイルや ZIP アーカイブ全体を一度に処理します。

ZIP ファイルの処理:

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("archive.zip")
print(result.text_content)  # All files converted and concatenated

一括処理スクリプト: 付属の一括処理スクリプトを使用して、ディレクトリ内のファイルを変換します。

python scripts/batch_convert.py /path/to/documents /path/to/output

実装の詳細については、scripts/batch_convert.py を参照してください。

インストール

すべての機能を含むインストール:

uv pip install 'markitdown[all]'

モジュール別インストール(特定の機能):

uv pip install 'markitdown[pdf]'           # PDF support
uv pip install 'markitdown[docx]'          # Word support
uv pip install 'markitdown[pptx]'          # PowerPoint support
uv pip install 'markitdown[xlsx]'          # Excel support
uv pip install 'markitdown[audio]'         # Audio transcription
uv pip install 'markitdown[youtube]'       # YouTube transcripts

要件:

  • Python 3.10 以降

出力形式

MarkItDown は、LLM での利用に最適化された、クリーンでトークン効率の高い Markdown を生成します。

  • 見出し、リスト、表を保持します
  • ハイパーリンクと書式を維持します
  • 関連するメタデータ(EXIF、ドキュメントのプロパティなど)を含めます
  • 一時ファイルは作成しません(ストリーミング方式)

よくあるワークフロー

RAG 向けのドキュメント準備:

from markitdown import MarkItDown

md = MarkItDown()

# Convert knowledge base documents
docs = ["manual.pdf", "guide.docx", "faq.html"]
markdown_content = []

for doc in docs:
    result = md.convert(doc)
    markdown_content.append(result.text_content)

# Now ready for embedding and indexing

ドキュメント分析パイプライン:

# Convert all PDFs in directory
for file in documents/*.pdf; do
    markitdown "$file" -o "markdown/$(basename "$file" .pdf).md"
done

プラグインシステム

MarkItDown は、独自の変換ロジックを追加できる拡張可能なプラグインに対応しています。セキュリティ上の理由から、プラグインはデフォルトで無効になっています。

from markitdown import MarkItDown

# Enable plugins if needed
md = MarkItDown(enable_plugins=True)

リソース

このスキルには、各機能の包括的なリファレンスドキュメントが含まれています。

  • references/document_conversion.md - PDF、DOCX、PPTX、XLSX の詳細な変換オプション
  • references/media_processing.md - 画像 OCR と音声文字起こしの詳細
  • references/web_content.md - HTML、YouTube、EPUB の抽出
  • references/structured_data.md - CSV、JSON、XML の変換形式
  • references/advanced_integrations.md - Azure Document Intelligence と LLM の統合
  • scripts/batch_convert.py - ディレクトリを対象としたバッチ処理ユーティリティ

コメント