Excel设计书图像化MCP服务器

将Excel设计书按打印页面转换为高精度图片并返回文件路径的MCP服务器,适用于需要读取Excel视觉元素的文档分析场景。

  • by nakada-memo
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 nakada-memo/smart-excel-reader-mcp

使用说明

Smart Excel Reader MCP Server

Excel 設計書を画像として読み取る MCP サーバーです。セル単位の読み取りではなく、印刷ページごとに画像化することで、図形や枠線などの視覚的要素を正確に取得し、大きな設計書でも高精度で読み取れます。

特徴

  • 📄 ページごとの画像化: Excel の印刷設定に従ってページごとに分割して高精度に画像化
  • 🎨 視覚要素の完全再現: 図形、枠線、条件付き書式、グラフなどを正確に表示
  • ✂️ 自動トリミング: 余白部分を自動的にカットして画像サイズを最小化
  • 💾 ファイル保存: 画像をディスクに保存し、ファイルパスのみを返すため軽量
  • ⚡ 高精度: Microsoft Excel 本体を使用するため 100%正確なレンダリング
  • 🔧 Cline 最適化: 画像バイナリを返さないため、タイムアウトやコンテキスト超過を防止

必要要件

  • OS: Windows
  • 必須ソフトウェア: Microsoft Excel (インストール済みであること)
  • Python: 3.10 以上

インストール

1. リポジトリのクローン

git clone https://github.com/yourusername/smart-excel-reader-mcp.git
cd smart-excel-reader-mcp

2. 依存関係のインストール

pip install -e .

または

pip install -r requirements.txt

3. Claude Desktop 設定

Claude Desktop の設定ファイル (claude_desktop_config.json) に以下を追加:

Python を直接使用する場合(推奨):

{
  "mcpServers": {
    "smart-excel-reader": {
      "command": "C:/Users/YourUsername/AppData/Local/Programs/Python/Python310/python.exe",
      "args": ["-m", "smart_excel_reader.server"],
      "env": {
        "PYTHONPATH": "C:/path/to/smart-excel-reader-mcp/src"
      }
    }
  }
}

重要:

  • パスは実際のプロジェクトの場所に置き換えてください
  • Python のパスも実際の環境に合わせてください(where pythonで確認)

4. Cline 設定

Cline の設定ファイル (cline_mcp_settings.json) に以下を追加:

{
  "smart-excel-reader": {
    "autoApprove": [],
    "disabled": false,
    "timeout": 60,
    "type": "stdio",
    "command": "python",
    "args": ["-m", "smart_excel_reader.server"],
    "env": {},
    "cwd": "C:/path/to/smart-excel-reader-mcp/src"
  }
}

使用可能なツール

1. list_excel_sheets

Excel ファイル内の全シート名を一覧表示します。

パラメータ:

  • file_path (必須): Excel ファイルのパス

使用例:

C:\Documents\設計書.xlsx にはどんなシートがありますか?

2. excel_to_images_by_pages ⭐ 推奨

Excel シートを印刷ページごとに分割して画像に変換し、ディスクに保存します。

パラメータ:

  • file_path (必須): Excel ファイルのパス
  • save_to_dir (必須): 画像を保存するディレクトリ
  • sheet_name (オプション): シート名(指定しない場合はアクティブシート)
  • zoom_level (オプション): ズームレベル(デフォルト: 100、範囲: 10-400)
  • trim_whitespace (オプション): 余白を自動トリミング(デフォルト: true)

使用例:

C:\Documents\設計書.xlsx の「画面遷移図」シートを
ページごとに画像化して C:\output\ に保存してください

出力:

Converted sheet '画面遷移図' from 設計書.xlsx into 3 page(s) (zoom: 100%)
Saved to: C:\output\

Files created:
  1. 画面遷移図_page1.png
  2. 画面遷移図_page2.png
  3. 画面遷移図_page3.png

重要な特徴:

  • ✅ 画像はディスクに保存され、ファイルパスのみが返されます
  • ✅ 画像バイナリを返さないため、Cline でもタイムアウトしません
  • ✅ Excel の印刷範囲・改ページ設定を自動的に検出します
  • ✅ 各ページが独立した高解像度画像になります

使用例

シート一覧を確認

ユーザー: この設計書にはどんなシートがありますか?

Claude: [list_excel_sheetsツールを使用]
→ シート名のリストが表示される

大きな設計書をページごとに画像化

ユーザー: C:\Projects\画面遷移図.xlsx の「プロジェクト管理」シートを
          ページごとに画像化して C:\work\ に保存してください

Claude: [excel_to_images_by_pagesツールを使用]
→ 3つのPNGファイルが作成される:
  - プロジェクト管理_page1.png
  - プロジェクト管理_page2.png
  - プロジェクト管理_page3.png

Excel の印刷設定を活用

  1. Excel で印刷範囲を設定
  2. 改ページプレビューでページ区切りを調整
  3. MCP サーバーで画像化 → 設定通りに分割される

トラブルシューティング

Excel が起動しない

  • Microsoft Excel がインストールされているか確認
  • Excel のライセンスが有効か確認
  • 管理者権限で実行してみる

pywin32 のインポートエラー

pip install --upgrade pywin32
python Scripts/pywin32_postinstall.py -install

ModuleNotFoundError: No module named 'mcp'

Python 環境が複数ある場合、正しい Python でインストール:

# 使用しているPythonを確認
where python

# 該当するPythonでインストール
C:\path\to\python.exe -m pip install mcp pywin32 Pillow

印刷範囲が正しく検出されない

  1. Excel で該当シートを開く
  2. 表示 → 改ページプレビュー で確認
  3. 必要に応じて改ページを調整
  4. MCP サーバーを再起動

ページが 1 枚しか生成されない

  • Excel ファイルに印刷範囲や改ページが設定されていない可能性
  • ページレイアウト → 改ページ → 改ページの挿入 で手動設定

ライセンス

MIT License

更新履歴

v0.2.0 (2025-11-25)

  • ページごとの画像化機能を追加 (excel_to_images_by_pages)
  • Cline 最適化: 画像バイナリを返さず、ファイルパスのみを返すように変更
  • 印刷範囲・改ページの自動検出機能を実装
  • タイムアウト・コンテキスト超過問題を解決

v0.1.0 (2025-11-XX)

  • 初回リリース
  • 基本的な画像変換機能を実装