【MCP】Claude×MarkItDownでpptxファイルをマークダウン形式に要約する。

# TL;DR

PDF、PowerPoint、Word文書などをAIで分析しようとすると、手作業でテキスト抽出や整形が必要です。
Claude連携によるMarkItDownは、この面倒な作業をめちゃくちゃ効率化できます。

本記事で

# MarkItDownとは？


MarkItDownは、**Microsoftが開発したPythonベースのツール** で、多様な形式のファイルをMarkdown形式に変換する機能を提供しています。
対応フォーマットには以下が含まれます。

- ドキュメント: PDF、Word、PowerPoint、Excel
- メディア: 画像（OCR機能付き）、音声（文字起こし機能）
- Web: HTML、YouTubeのURL
- アーカイブ: ZIPファイル内のコンテンツ
- 電子書籍: EPUB

Markdown形式は大規模言語モデル（LLM）が効率的に処理できる形式です。
構造化されたテキストはAIにとって理解しやすいため、望んでいる通りの出力を得やすくなったり、またトークン消費も最適化されることからコストの節約にもつながります。

## 公式Github

READMEに導入方法が記載されています。

https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp


# MarkItDownでできること

以下操作イメージを先にご紹介します。

## 処理対象ファイル

IPAが公式に共有している以下のパワーポイントをマークダウン形式に変換します。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3780099/5b69942d-ab44-491d-87bc-d37d8db71f7e.png)




引用：

https://www.ipa.go.jp/security/sme/f55m8k0000001wpz-att/outline_guidance_incident.pdf


## Claude Desktopでの操作

```md
/md "対象ファイルのパス名"
```
と入力するだけです。
今回はローカルDocumentsフォルダに保存したファイルパスを入力しています。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3780099/6531dd70-2ae7-46b5-9d3a-903378b923a1.png)


## 処理結果

上記ファイルの読み取り結果をマークダウン形式で返してくれています。

```

I'll help you analyze the PDF document. Let me convert it to a more readable format first.

セキュリティインシデント対応の手引きの内容を日本語で要約いたします。

このドキュメントは「中小企業のためのセキュリティインシデント対応の手引き」で、2024年7月に独立行政法人情報処理推進機構(IPA)のセキュリティセンターによって発行されたものです。

このガイドは以下の3つの主要なステップでインシデント対応を説明しています：

## ステップ1: 検知・初動対応
このステップでは以下の内容が含まれています：
- 検知と連絡受付：インシデントの兆候や発生を発見した場合は情報セキュリティ責任者に報告
- 対応体制の構築：情報セキュリティ責任者は経営者に報告し、対応のための体制を立ち上げる
- 初動対応：外部からのアクセスを遮断、情報や機器の隔離、システムやサービスの停止など

## ステップ2: 報告・公表
このステップでは：
- 第一報：状況をウェブサイトやメディアを通じて公表し、必要に応じて問い合わせ窓口を開設
- 第二報以降・最終報：被害者や影響を受けた取引先に対応状況や再発防止策を報告し、必要に応じて関係機関に届け出る

## ステップ3: 復旧・再発防止
このステップには次の内容が含まれます：
- 調査・対応：5W1Hの観点で状況を調査し、必要な修復を実施
- 証拠保全：訴訟対応などのために証拠を保全
- 復旧：修復確認後、停止したシステムやサービスを復旧
- 再発防止：根本原因を分析し、新たな技術的対策や運用改善などを実施

ガイドラインには以下の事象ごとの対応ポイントも含まれています：
- ウイルス感染・ランサムウェア感染の場合：感染機器の使用停止、ネットワークからの分離、バックアップの重要性
- 情報漏えいの場合：不正アクセス、内部犯行、誤送信、誤公開、紛失・置忘れなどへの対応
- システム停止の場合：様々な原因に対する対応と事業継続計画（BCP）の必要性

また、インシデント発生時に整理すべき事項のリストや、相談窓口・報告先の情報も提供されています：
- IPA（情報処理推進機構）：技術的相談、ウイルス・不正アクセスの届出
- 警察のサイバー犯罪相談窓口
- JPCERT/CC（一般社団法人JPCERTコーディネーションセンター）：インシデント対応依頼
- 個人情報保護委員会：個人情報・マイナンバー漏えいの報告

さらに、インシデント対応に役立つ参考情報として、「サイバー攻撃被害に係る情報の共有・公表ガイダンス」、「インシデントハンドリングマニュアル」、「ランサムウェア対策特設ページ」が紹介されており、中小企業の情報セキュリティ対策ガイドラインも参照されています。

このガイドラインは中小企業がセキュリティインシデントに適切に対応し、被害を最小限に抑え、事業継続を確保するための実践的なフレームワークを提供しています。

```


以下例としてステップ１のスライドですが、
インデントの項目も上手く要約できていることがわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3780099/be31e926-cb16-447e-944b-6469ce4a67c1.png)


めちゃくちゃ便利。すごい。


# Claude Desktopとの連携がもたらすメリット

上からわかるようにMarkItDownはMCP（Model Context Protocol）サーバー機能を提供しており、Claude Desktopと直接連携できます。
この連携によって得られるメリットは計り知れません。

1. **シームレスなファイル処理**: 複雑なフォーマットのファイルを直接Claudeに理解させることができます
2. **コンテキストの維持**: 文書の構造や書式情報を保持したまま、AIに情報を伝えられます
3. **バッチ処理の効率化**: 複数のファイルをまとめて変換し、一括で分析できます
4. **マルチモーダル情報の統合**: 画像内のテキスト、音声の文字起こしなど、異なる形式の情報を統合できます

# 実践的な活用シーン

MarkItDownとClaude Desktopの連携は、以下のような場面で特に威力を発揮します。

### 1. 資料の分析と要約

大量のPDF資料やプレゼン資料をMarkdown化し、Claudeに「特定のトピックに関する情報をまとめて」と依頼するだけで、横断的な分析が可能になります。
例えば、研究論文や市場調査レポートから重要ポイントを抽出する作業が格段に効率化されます。

### 2. 会議の効率化

会議の録音ファイルをMarkItDownで変換し、Claude Desktopに渡せば、議事録の作成やアクションアイテムの抽出が自動化できます。
さらに、過去の会議資料と組み合わせることで、継続案件の進捗管理も容易になります。

### 3. 情報のキュレーションと知識ベース構築

Webページや社内文書をMarkdown化することで、必要な情報だけを抽出し、社内の知識ベースを構築できます。
Claude Desktopがこれらの情報を理解し、質問に対して適切な回答を提供してくれるでしょう。

### 4. 多言語コンテンツの処理

MarkItDownで変換した文書をClaude Desktopに渡せば、多言語コンテンツの翻訳や要約が容易になります。
国際的なプロジェクトや多言語対応が必要なビジネスでも役立ちます。


# MarkitDownの使用方法・Claudeとの連携方法

ここまでMCP前提の話をしていますが、MCPサーバー機能を提供し始め、Claude Desktopなどのアプリケーションと統合できるようになったのはつい最近です。
このMCP連携によって利便性がさらにアップしているため、今回私のような非エンジニアでも使用できるようになっています。
以下連携方法を記載しますが、基本はGithubリポジトリのREADMEに書いてある通りとなります。

## 1. インストール方法

まず、MarkItDownとそのMCP連携機能をインストールする必要があります。

```bash
# リポジトリをクローン
git clone https://github.com/microsoft/markitdown.git
cd markitdown

# インストール (すべての機能を含む)
pip install -e 'packages/markitdown[all]'

# MCPパッケージも別途インストール
pip install -e 'packages/markitdown-mcp'
```

または、Dockerを使う方法もあります。

```bash
# Dockerイメージをビルド
docker build -t markitdown-mcp:latest .
```

## 2. Claude Desktopの設定

Claude Desktopでmarkitdown-mcpを使用するには、`claude_desktop_config.json`ファイルを設定する必要があります。 
このファイルの場所はClaude Desktopのインストール場所によって異なります。
基本は「設定」＞「開発者」＞「構成を編集」から見つけることができると思います。

設定ファイルの例

```json
{
  "mcpServers": {
    "markitdown": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "markitdown-mcp:latest"
      ]
    }
  }
}
```

特定のディレクトリをマウントする場合は以下のように設定します。

```json
{
  "mcpServers": {
    "markitdown": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v",
        "/home/user/data:/workdir",
        "markitdown-mcp:latest"
      ]
    }
  }
}
```

### 3. 使用方法

設定が完了すると、サーバーは以下のMCPコマンドに応答します。

- `/md <fileのパス>` → 指定されたファイルをMarkdownに変換

例えば、「このPDF文書の主要なポイントを3つにまとめて」「このプレゼン資料の具体的な提案内容を要約して」などの指示も可能です。


### 4. デバッグ方法

MCPサーバーをデバッグする場合は、mcpinspectorツールを使用できます。
これにより、指定したホストとポートを通じてインスペクターに接続できます。


:::note warn
サーバーは認証をサポートしておらず、実行するユーザーの権限で動作します。
このため、SSEモードで実行する場合は、localhost（デフォルト）にバインドしてサーバーを実行することが推奨されています。
:::





# まとめ

MarkItDownとClaude Desktopの連携は、”単なるファイル変換ツール”以上の価値を提供していると思います。

また今回はここまで試していませんが、MarkItDownはプラグイン機能も備えているので、独自の変換機能も追加できます。これにより、業界特有のファイル形式や社内独自フォーマットにも対応することも可能です。

MarkItDownはAIの力を最大限に活用するため、今後のデジタルワークフローに欠かせない存在になりえます。皆さんも、ぜひMarkItDownとClaude Desktopの連携で、新たな業務効率化の可能性を探ってみてはいかがでしょうか。


## 参考リンク

- [MarkItDown GitHub リポジトリ](https://github.com/microsoft/markitdown/tree/main/packages/markitdown-mcp)
- [MarkItDown 公式ドキュメント](https://github.com/microsoft/markitdown/blob/main/README.md)
- [Claude Desktop 公式サイト](https://claude.ai/desktop)