MarkItDown MCP Server

※画像はChatGPTで生成

目次

概要

[MarkItDown]について調査した際の覚書。
Perplexityで「MarkItDowについて教えて」で検索。

MarkItDownとは

[MarkItDown]はPythonベースのユーティリティツール。
様々な形式のファイルをMarkdown形式に変換するもの。

※[MarkItDown]自体はMCPサーバーではなく、Pythonベースのユーティリティツール。
 MarkItDownの機能をModel Context Protocolサーバーとして提供する[MarkItDown MCP Server]がある。

MarkItDown MCP Serverとは

MarkItDownのコア機能を拡張したサーバーサイドソリューションで、
RESTful APIを提供することで、ユーザーがファイルをサーバーに送信してMarkdownに変換し、
結果を取得することがでる。

MarkDownに変換できるファイル形式

オフィス文書
  • PowerPoint(.pptx)
  • Word(.docx)
  • Excel(.xlsx、xls 、古い形式にも対応)
  • Outlook メッセージ
PDF
  • PDF(.pdf)
メディア
  • 画像ファイル(EXIFメタデータとOCR機能付き)
  • 音声ファイル(EXIFメタデータと音声文字起こし)
    • WAVファイル
    • MP3ファイル
  • YouTube動画(トランスクリプション取得)
ウェブ・テキスト形式
  • HTML(Wikipediaなどの特別処理あり)
  • テキストベースの形式
    • CSV
    • JSON
    • XML
その他
  • ZIPファイル(内容を反復諸織)

MarkItDown MCP Serverはこれらのファイル形式を全て構造化されたMarkdown形式に変換することができ、
OCR機能や音声認識を使用して画像や音声からもテキストを抽出することが可能。
オプションの依存関係をインストールすることで、特定のファイル形式に対する変換機能を追加することもでる。

動画の文字起こしはできるか?

MarkItDownは動画の文字起こし機能に対応している。

YouTubeの対応
  • YouTubeのURLから動画の概要欄と文字起こしをMarkdown形式に変換することができる。
  • 動画のタイトル、説明、メタデータなども同時に抽出可能。
音声ファイルの処理
  • MP3やWAV形式の音声ファイルからメタデータと文字起こしを行うことができる。
  • speech_recognitionライブラリを利用し、WhisperやGoogle Speech APIを通じて
    音声をテキスト化できる。
  • タイムスタンプ付きのMarkdown形式に整形されます
※日本語について

デフォルト設定では日本語の文字起こしが正常に機能しない。下記対応が必要。

  • コードの一部を変更する必要がある。
    _markitdown.pyのWavConverterクラス内の「recognizer.recognize_google(audio).strip()」という
    部分に「language=”ja-JP”」という引数を追加することで日本語対応が可能になる。

PowerPoint内の画像もMarkDown形式で再現されるか?

PowerPoint内の画像は[MarkItDown MCP Server]でMarkdown形式に変換される際に再現される。

PowerPointプレゼンテーションから画像を変換する具体的な仕組みは以下。
  • PowerPointのスライド内で画像が検出されると、その画像データが抽出される。
  • 抽出された画像は標準的なMarkdown構文 “ の形式で変換される。
  • 画像処理にはいくつかの方法があり、最近の更新では外部ストレージシステムとの連携機能も
    追加されている。
画像の処理には主に以下の方法が採用される。
  • 外部アップロードハンドラー機能を使用して画像をホスティングサービスにアップロードし、
    そのURLを参照する方法。
  • 画像データをデータURI形式(base64エンコード)で直接Markdown内に埋め込む方法。
  • 単にファイル名を参照する方法(設定や状況に応じて)

この機能により、PowerPointプレゼンテーションをMarkdownに変換する際に、
テキストだけでなく画像も含めた完全な内容の再現が可能となっている(らしい)。
PowerPointの内容をWeb公開する際にも、視覚的な要素を保持したまま変換することができる。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次