4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ExcelMCP(読み取り用)作ってみた

Last updated at Posted at 2025-10-22

【MCP】ExcelReadMCP - AIアシスタントでExcelファイルを直接読み取り・検索できるツール

記念すべき初投稿ですが、すさまじく実用的なツールのお話です。
最近になってようやくExcelのMCPがいくつか出てきましたが、実際にこのツールを開発したのは5月ごろなので恐らく最速だったと思っています。
(記事にするという意識がなかったので割とデカ目の負け惜しみ)

この記事はこんな人向け

  • CursorやGitHub CopilotなどのMCP対応ツールを使っている人
  • ExcelファイルをAIツールでもそのまま扱いたい人

レガシーシステムのExcel課題を解決!

特にこんな悩みを持っている人にオススメ:

「レガシーなプロジェクトでAIを導入しても、仕様書やデータがExcelばっかりでAIとの相性が悪くて困ってる...。」
「MarkDownに起こすにもスクショを貼りまくるわけにはいかないし、そもそも直接読めればこんな手間かからないのに!」

ExcelファイルをそのままAIに読み込ませて、データ分析やレポート作成を効率化したい開発者必見です。

ExcelをAIで直接処理!MCP対応のExcel読み取りツール

ExcelReadMCPは、Model Context Protocol(MCP) 対応のAIアシスタント(Cursor、GitHub Copilotなど)と連携して、Excelファイルを直接読み取り・検索できる専用ツールです。Excelファイルのデータ取得と検索に特化し、AIによるデータ分析やレポート作成を効率的に実現します。

GitHub:https://github.com/OgumaruSuisan/ExcelReadMCP

必要な環境

  • Python 3.7以上
  • 必要なライブラリ
    • pandas>=2.0 - データ処理用
    • openpyxl>=3.1 - Excelファイル読み込み用
    • mcp>=1.18.0 - Model Context Protocol用

セットアップ手順

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

GitHubからExcelReadMCPをクローンします。

git clone https://github.com/OgumaruSuisan/ExcelReadMCP.git
cd ExcelReadMCP

または、ZIPファイルをダウンロードして適当なフォルダに展開しましょう。

# 例: C:\Projects\ExcelReadMCP に展開した場合
cd C:\Projects\ExcelReadMCP

2. 仮想環境の準備

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt

3. 設定ファイルの編集

mcp_config.jsonを開いて、<absolute-path-to-ExcelReadMCP>の部分を実際のパスに書き換えてください。

ExcelReadMCP/mcp_config.json

{
  "mcpServers": {
    "excel-read-tools": {
      "command": "C:/Projects/ExcelReadMCP/start_mcp_server.bat",
      "transport": "stdio",
      "cwd": "C:/Projects/ExcelReadMCP"
    }
  }
}

4. Cursorで使う場合

  1. 上記の設定ファイルをCursorのMCP設定ファイル(%USERPROFILE%\.cursor\mcp.json)に追加
  2. Cursorを再起動して、Settings > Features > MCPにexcel-read-toolsが表示されるか確認
  3. Composerでこんな感じでテスト:
C:\path\to\workbook.xlsx のシート一覧を取得して

5. GitHub Copilotで使う場合

  1. mcp_config.json%APPDATA%\GitHub Copilot\mcp.jsonにコピー(ファイルがなければ新規作成)
  2. VS Codeを再起動して、Copilot Chatのツール一覧にexcel-read-toolsが表示されるか確認
  3. Copilot Chatでこんな感じでテスト:
C:\path\to\workbook.xlsx の内容を確認して

それぞれのツールと使い方

1. excel_read_info - Excelファイルの構造分析ツール

Excelファイルの基本情報(シート名、ファイルサイズ、列数など)を取得して、ファイル構造を素早く把握できます。

必要なパラメータ

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

使い方

C:\data\sales_report.xlsx の基本情報を取得して

出力結果例

{
  "success": true,
  "data": {
    "file_path": "C:/data/sales_report.xlsx",
    "file_size": 245760,
    "sheet_count": 3,
    "sheet_names": ["Sheet1", "Summary", "Data"]
  }
}

2. excel_read_range - ExcelシートデータをJSON変換ツール

指定したシート(または先頭シート)の内容をJSON形式で取得し、データ分析や加工に活用できます。

必要なパラメータ

  • file_path(必須):Excelファイルの絶対パス
  • sheet_name(オプション):シート名(指定なしの場合は先頭シート)
  • range_spec(オプション):範囲指定(例: "A1:C10")※現在は実装されていません

使い方

C:\data\sales_report.xlsx の Summary シートの内容を取得して

出力結果例

{
  "success": true,
  "data": {
    "sheet_name": "Summary",
    "shape": [10, 5],
    "columns": ["Month", "Sales", "Profit", "Target", "Achievement"],
    "data": [
      {
        "Month": "2024-01",
        "Sales": 150000,
        "Profit": 30000,
        "Target": 140000,
        "Achievement": 1.07
      }
    ]
  }
}

3. excel_read_all_sheets - Excel全シート一括読み込みツール

ワークブック内の全シートを一括で読み込み、データが多すぎる場合は行数を制限して効率的に処理できます。

必要なパラメータ

  • file_path(必須):Excelファイルの絶対パス
  • max_rows_per_sheet(オプション):シートごとの最大行数(デフォルト: 1000)
  • include_empty_sheets(オプション):空シートを含むかどうか(デフォルト: false)

使い方

C:\data\financial_report.xlsx の全シートを最大100行で取得して

4. excel_quick_overview - Excelファイル概要プレビューツール

ワークブックの概要と各シートのサンプルデータを取得して、ファイル内容を素早く把握できます。

必要なパラメータ

  • file_path(必須):Excelファイルの絶対パス
  • sample_rows(オプション):サンプル行数(デフォルト: 5)

使い方

C:\data\customer_data.xlsx の概要を5行サンプルで確認して

5. excel_search - Excel全文検索ツール

ワークブック全体または指定シートから文字列を高速検索し、必要なデータを効率的に見つけ出せます。

必要なパラメータ

  • file_path(必須):Excelファイルの絶対パス
  • search_term(必須):検索文字列(大文字小文字を区別しない)
  • sheet_name(オプション):検索対象シート(指定なしの場合は全シート)

使い方

C:\data\products.xlsx から "スマートフォン" を検索して

出力結果例

{
  "success": true,
  "data": {
    "search_term": "スマートフォン",
    "total_matches": 15,
    "matches": [
      {
        "sheet_name": "Products",
        "address": "B5",
        "row": 5,
        "column": 2,
        "value": "iPhone 15 Pro",
        "column_name": "ProductName"
      }
    ]
  }
}

注意点・制限事項

絶対パスのみ対応:相対パスを指定するとエラーになります

エラー時の対応

主なエラーケース:

  • ファイルが存在しない場合:"File not found: C:/path/to/file.xlsx"
  • サポートされていない形式の場合:"Unsupported file format: .csv"

これらのエラーはすべて適切に処理されて、JSON形式で結果が返されます。

{
  "success": false,
  "error": "Please provide an absolute path to the Excel file."
}

活用例

データ分析の流れ

  1. Excelファイルの構造確認excel_read_infoでシート構成を把握
  2. 内容プレビューexcel_quick_overviewでサンプルデータを確認
  3. 詳細データ取得excel_read_rangeで必要なシートを抽出
  4. キーワード検索excel_searchで特定データを効率的に検索

AIアシスタントとの連携

  • CursorやGitHub Copilotから直接Excelデータを取得できる
  • データ分析をAIに依頼してより細部まで分析
  • 複数のシートを効率的に処理してレポート作成を自動化

実務活用例

  • 営業データの集計・分析
  • 財務レポートの自動生成
  • 市場調査データの処理
  • カスタマーサポートログの分析

【まとめ】MCPでExcelをAIに直接連携!開発効率を飛躍的に向上

ExcelReadMCPを活用すれば、レガシーシステムのExcel課題を根本的に解決できます。AIアシスタント(Cursor、GitHub Copilot)と連携して、Excelファイルを直接読み取り・検索・分析が可能になります。

導入メリット

  • 開発生産性向上:ExcelファイルをそのままAIに渡せて、データ分析やレポート作成が劇的に効率化
  • レガシーシステム対応:既存のExcelベースのワークフローを維持しつつ、AIパワーを活用可能

大規模なデータ分析プロジェクトでは、excel_quick_overviewで全体構造を把握してから詳細な読み込みを行うと効率的です。

開発現場でのデータ分析、報告書作成、調査業務などで活躍します。特に、AIアシスタントを活用したデータ処理ワークフローを構築したい場合に有効です。

このツールを活用することで、ExcelデータをAIアシスタントに安全に連携し、より高度なデータ分析やレポート作成が可能になります。

AIツールでのExcelファイルの処理をもっと楽にしたいなら、いますぐExcelReadMCPを試してみてください!

参考リンク

ちなみに

読み込みだけでなく作成も機能としては実装したのですが、如何せん文字化けやそもそものセル結合、デザインみたいなところが壊滅的で一時断念中です。
要望あればがんばって作ります...
それと、Powerpoint読み込みも同じ要領でできますが画像読み込みが大変なのでMCP化はしておらず...

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?