Excel Reader Server について
Excel の .xlsx ファイルを読み取る MCP サーバーです。MCP ツールで表データを扱うアプリ向けに、全シートまたは指定シートの行データを JSON で返します。
主な機能
- 01ブック内の全シートを読み取り
- 02名前を指定してシートを読み取り
- 03インデックスでシートを読み取り
- 04行データを JSON で返却
- 05空セルと値の型を変換
活用シーン
- 01分析用のブックデータ抽出
- 02指定した名前のシートの読み取り
- 03位置を指定したシートの取得
MCP 対応
全シートの読み取りや、名前・インデックスによるシート選択を行う3つのツールを MCP クライアントに提供します。結果は JSON 形式です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Excel Reader Server
Excel(xlsx)ファイルを読み取るためのツールを提供する Model Context Protocol(MCP)サーバーです。
機能
- Excel ファイル内のすべてのシートから内容を読み取ります
- 名前を指定して特定のシートから内容を読み取ります
- インデックスを指定して特定のシートから内容を読み取ります
- データを JSON 形式で返します
- 空のセルやデータ型の変換に対応します
インストール
Python 3.10 以降が必要です。
# Using pip
pip install excel-reader-server
# Using uv (recommended)
uv pip install excel-reader-server
依存関係
- mcp >= 1.2.1
- openpyxl >= 3.1.5
使用方法
サーバーは、次の3つの主要なツールを提供します。
1. read_excel
Excel ファイル内のすべてのシートから内容を読み取ります。
{
"file_path": "path/to/your/excel/file.xlsx"
}
2. read_excel_by_sheet_name
名前を指定して特定のシートから内容を読み取ります。シート名が指定されていない場合は、最初のシートを読み取ります。
{
"file_path": "path/to/your/excel/file.xlsx",
"sheet_name": "Sheet1" # optional
}
3. read_excel_by_sheet_index
インデックスを指定して特定のシートから内容を読み取ります。インデックスが指定されていない場合は、最初のシート(インデックス 0)を読み取ります。
{
"file_path": "path/to/your/excel/file.xlsx",
"sheet_index": 0 # optional
}
レスポンス形式
サーバーは、次の JSON 形式でデータを返します。
{
"Sheet1": [
["Header1", "Header2", "Header3"],
["Value1", "Value2", "Value3"],
["Value4", "Value5", "Value6"]
]
}
- 各シートは、トップレベルオブジェクトのキーとして表されます
- シートのデータは配列の配列で、内側の各配列が1行を表します
- すべての値は文字列に変換されます
- 空のセルは空文字列として表されます
エラー処理
サーバーは、よくある問題について明確なエラーメッセージを提供します。
- ファイルが見つからない
- 無効なシート名
- インデックスが範囲外
- Excel ファイルの読み取りに関する一般的なエラー
ライセンス
このプロジェクトは Apache 2 License の下で公開されています。詳細については LICENSE ファイルをご覧ください。
コントリビューション
コントリビューションを歓迎します。お気軽に Pull Request を送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
