Excel MCP Server について
Excel MCP Serverは、MCPツール経由で表計算データを扱いたいユーザー向けに、MS Excelブックのデータと数式を読み書きするMCPサーバーです。ページ分割読み取りに対応し、Windowsではシート範囲を画像として取得できます。
主な機能
- 01セルのテキストの読み書き
- 02数式の読み書き
- 03シートデータのページ分割読み取り
- 04シート名の一覧表示
- 05Windowsでの範囲画像の取得
活用シーン
- 01ブックからセルデータを抽出
- 02シートの内容や数式を更新
- 03シート範囲の画像を確認
MCP 対応
シート名の一覧表示、データと数式の読み書き、Windowsでの画像読み取りツールをMCPクライアントに公開します。stdioとSSEのトランスポートに対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Excel MCP Server
MS Excel のデータを読み書きする Model Context Protocol(MCP)サーバーです。
機能
- MS Excel ファイルからテキスト値を読み取ります
- MS Excel ファイルにテキスト値を書き込みます
- MS Excel ファイルから数式を読み取ります
- MS Excel ファイルに数式を書き込みます
- MS Excel ファイルの画面イメージをキャプチャします(Windows のみ)
詳しくは、ツールのセクションをご覧ください。
要件
- Node.js 20.x 以降
対応ファイル形式
- xlsx(Excel ブック)
- xlsm(Excel マクロ有効ブック)
- xltx(Excel テンプレート)
- xltm(Excel マクロ有効テンプレート)
インストール
NPM 経由でインストールする
MCP サーバーの設定に次の設定を追加すると、excel-mcp-server が自動的にインストールされます。
stdio トランスポートを使用(デフォルト)
Windows の場合:
{
"mcpServers": {
"excel": {
"command": "cmd",
"args": ["/c", "npx", "--yes", "@fbeawels/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
}
}
}
}
その他のプラットフォームの場合:
{
"mcpServers": {
"excel": {
"command": "npx",
"args": ["--yes", "@fbeawels/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
}
}
}
}
SSE トランスポートを使用
Windows の場合:
{
"mcpServers": {
"excel": {
"command": "cmd",
"args": ["/c", "npx", "--yes", "@fbeawels/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000",
"EXCEL_MCP_TRANSPORT": "sse",
"EXCEL_MCP_HOST": "0.0.0.0",
"EXCEL_MCP_PORT": "8000"
}
}
}
}
その他のプラットフォームの場合:
{
"mcpServers": {
"excel": {
"command": "npx",
"args": ["--yes", "@fbeawels/excel-mcp-server"],
"env": {
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000",
"EXCEL_MCP_TRANSPORT": "sse",
"EXCEL_MCP_HOST": "0.0.0.0",
"EXCEL_MCP_PORT": "8000"
}
}
}
}
SSE トランスポートを使用すると、サーバーは次のエンドポイントを持つ HTTP サーバーを起動します。
/sse- サーバーからイベントを受信するための SSE エンドポイント/command- サーバーにコマンドを送信するための POST エンドポイント/status- サーバーの状態を確認するための GET エンドポイント
Smithery 経由でインストールする
Smithery を使って、Claude Desktop 用の Excel MCP Server を自動的にインストールするには:
npx -y @smithery/cli install @fbeawels/excel-mcp-server --client claude
ツール
read_sheet_names
Excel ファイル内のすべてのシート名を一覧表示します。
引数:
fileAbsolutePath- Excel ファイルへの絶対パス
read_sheet_data
ページネーションを使用して、Excel シートのデータを読み取ります。
引数:
fileAbsolutePath- Excel ファイルへの絶対パス
sheetName- Excel ファイル内のシート名
range- Excel シートから読み取るセル範囲(例:「A1:C10」)。(デフォルト:最初のページ範囲)
knownPagingRanges- すでに読み取られたページ範囲の一覧
read_sheet_formula
ページネーションを使用して、Excel シートの数式を読み取ります。
引数:
fileAbsolutePath- Excel ファイルへの絶対パス
sheetName- Excel ファイル内のシート名
range- Excel シートから読み取るセル範囲(例:「A1:C10」)。(デフォルト:最初のページ範囲)
knownPagingRanges- すでに読み取られたページ範囲の一覧
read_sheet_image
**[Windows のみ]**ページネーションを使用して、Excel シートのデータを画像として読み取ります。
引数:
fileAbsolutePath- Excel ファイルへの絶対パス
sheetName- Excel ファイル内のシート名
range- Excel シートから読み取るセル範囲(例:「A1:C10」)。(デフォルト:最初のページ範囲)
knownPagingRanges- すでに読み取られたページ範囲の一覧
write_sheet_data
Excel シートにデータを書き込みます。
引数:
fileAbsolutePath- Excel ファイルへの絶対パス
sheetName- Excel ファイル内のシート名
range- Excel シートから読み取るセル範囲(例:「A1:C10」)。
data- Excel シートに書き込むデータ
write_sheet_formula
Excel シートに数式を書き込みます。
引数:
fileAbsolutePath- Excel ファイルへの絶対パス
sheetName- Excel ファイル内のシート名
range- Excel シートから読み取るセル範囲(例:「A1:C10」)。
formulas- Excel シートに書き込む数式(例:「=A1+B1」)
設定
コマンドライン引数
次のコマンドライン引数を使用できます。
--transport <type> Transport type (stdio or sse)
--host <address> Host address to listen on for SSE transport (default: all interfaces)
--port <number> Port for SSE transport (default: 8000)
使用例:
npx @fbeawels/excel-mcp-server --transport sse --host 0.0.0.0 --port 8000
環境変数
次の環境変数を使用して、MCP Server の動作を変更することもできます。
EXCEL_MCP_PAGING_CELLS_LIMIT
1 回のページネーション操作で読み取るセルの最大数。
[デフォルト:4000]
EXCEL_MCP_TRANSPORT
通信に使用するトランスポート方式です。
指定可能な値:stdio、sse
[デフォルト:stdio]
EXCEL_MCP_HOST
SSE トランスポート使用時にバインドするホストアドレスです。
[デフォルト:""](すべてのインターフェース)
EXCEL_MCP_PORT
SSE トランスポート使用時に HTTP サーバーで使用するポートです。
[デフォルト:8000]
ライセンス
Copyright (c) 2025 Franck Besnard
excel-mcp-server は MIT License の下で公開されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。