/ ディレクトリ / プレイグラウンド / excel-mcp-server
● コミュニティ haris-musa ⚡ 即起動

excel-mcp-server

作者 haris-musa · haris-musa/excel-mcp-server

チャットから実際の .xlsx ファイルを作成・読み取り・編集 — 数式、テーブル、グラフ、ピボットテーブル、条件付き書式に対応。

excel-mcp-server(haris-musa)は、openpyxl を利用して Excel ブックを操作する Python 製 MCP サーバーです。ローカルの .xlsx ファイルに対応するほか、リモート HTTP サービスとしても動作します。数式、グラフ生成、ピボットテーブル、書式設定、データ入力規則をサポートしています。

なぜ使うのか

主な機能

ライブデモ

実際の動作

excel.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "excel",
      "command": "uvx",
      "args": [
        "excel-mcp-server"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "excel": {
      "command": {
        "path": "uvx",
        "args": [
          "excel-mcp-server"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add excel -- uvx excel-mcp-server

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: excel-mcp-server

プロンプトから月次 Excel レポートを生成する方法

👤 オペレーション、経理、非技術系のステークホルダーに Excel を送る方 ⏱ ~20 min intermediate

使うタイミング: 毎月末、「みんなが求めるあのスプレッドシート」を更新するとき。

前提条件
  • uv がインストール済みであること — curl -LsSf https://astral.sh/uv/install.sh | sh
  • データソース(CSV、DB クエリ、または前月のファイル) — CSV にエクスポートするか、postgres MCP と連携
フロー
  1. ブックを作成する
    Create /reports/2026-04.xlsx with tabs 'Summary', 'Revenue', 'Costs', 'Charts'.✓ コピーしました
    → ファイルが作成され、シートが存在する
  2. データを入力する
    Fill 'Revenue' from /data/apr-revenue.csv; add a total row with SUM formulas.✓ コピーしました
    → 行と合計が入力されている
  3. グラフを追加する
    On 'Charts' tab add a line chart of daily revenue from 'Revenue' A2:B31 titled 'April Revenue'.✓ コピーしました
    → Excel で開くとグラフが表示される
  4. 書式を設定する
    On 'Summary', bold headers, apply thousands separators to currency, and conditional-format any red (negative) values.✓ コピーしました
    → プロフェッショナルな体裁のファイル

結果: ライブの数式とグラフを含む、レビュー可能な .xlsx ファイル。

注意点
  • 10万行をプロンプト経由で貼り付けるとコンテキストウィンドウを超過する — 値を貼り付けるのではなく、MCP にディスク上の CSV を直接読み込ませる
  • openpyxl で作成したピボットテーブルは、一部の Excel バージョンで開いた際に自動更新されない — ユーザーに右クリック → 更新を案内するか、数式ベースのサマリーを代わりに使用する
組み合わせ: postgres · filesystem

Excel ファイルからテーブルを抽出して Markdown に変換する方法

👤 経理のスプレッドシートをドキュメント化するエンジニア ⏱ ~10 min beginner

使うタイミング: ステークホルダーからブックを受け取り、Wiki に載せる必要があるとき。

フロー
  1. シートを一覧表示する
    Open /inbox/Q1-plan.xlsx and list sheets + dimensions.✓ コピーしました
    → シートの一覧
  2. 各シートを Markdown として抽出する
    For each sheet, read the used range and render as a markdown table.✓ コピーしました
    → 貼り付け可能な Markdown テーブル

結果: Wiki にそのまま使えるテーブル。

注意点
  • 結合セルがあると Markdown の表示が崩れる — エクスポート前にセル結合を解除するか、結合領域を明示的に処理する
組み合わせ: markdownify · notion

乱雑な Excel ファイルを一括でクリーニングする方法

👤 データ整備担当者 ⏱ ~15 min intermediate

使うタイミング: 取引先から、日付形式がバラバラ、末尾に空白あり、ヘッダーが重複したシートが届いたとき。

フロー
  1. 問題点を洗い出す
    Audit /inbox/vendors.xlsx — columns with mixed types, whitespace, duplicate rows.✓ コピーしました
    → 問題点のレポート
  2. 修正を適用する
    Trim whitespace, parse column E as dates in ISO, remove full-duplicate rows. Save to /cleaned/vendors.xlsx.✓ コピーしました
    → クリーニング済みファイルが保存される

結果: 取り込み可能な状態にクリーニングされたブック。

注意点
  • 意図的にテキストとして入力された日付を「修正」すると意味が失われる — 強制的な型変換を行う前にデータの所有者に確認する
組み合わせ: postgres

組み合わせ

他のMCPと組み合わせて10倍の力を

excel + postgres

DB にクエリを実行し、結果をステークホルダー向けに Excel へ書き出す

Run SELECT * FROM monthly_revenue WHERE month = '2026-04' and write the result to /reports/apr.xlsx with a chart.✓ コピーしました
excel + filesystem

フォルダー内のすべての xlsx を一括処理する

For every file in /inbox/vendors/, unify the headers to {vendor,sku,qty,price} and write to /cleaned/.✓ コピーしました
excel + markdownify

xlsx のテーブルを Markdown ドキュメントに変換する

Extract each sheet of /inbox/plan.xlsx to markdown sections and write /docs/plan.md.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
create_workbook path: str 新しい .xlsx を作成する free
create_worksheet path, name タブを追加する free
write_data_to_excel path, sheet, start_cell, data: 2d array セル範囲にデータを入力する free
read_data_from_excel path, sheet, range 値を抽出する free
apply_formula path, sheet, cell, formula 数式を追加する free
create_chart path, sheet, chart_type, range, title グラフを挿入する free
create_pivot_table path, source, rows, cols, values データを集計する free
format_range path, sheet, range, styles スタイルを適用する free
apply_conditional_formatting path, sheet, range, rule セルを色分けする free

コストと制限

運用コスト

APIクォータ
なし — すべてローカル処理
呼び出しあたりのトークン
プロンプトを経由するデータ量に依存します。ファイルパス指定の操作を推奨します
金額
無料(MIT ライセンス)
ヒント
10万行以上のファイルでは、シート全体ではなく必要な範囲のみを読み取ってください。

セキュリティ

権限、シークレット、影響範囲

最小スコープ: Filesystem read/write to the folder containing the workbooks
認証情報の保管: なし
データ送信先: ローカルファイル I/O のみ。データがマシン外に出るのは LLM プロバイダー経由の場合のみです
絶対に付与しない: Write access outside a sandboxed folder when running untrusted prompts

トラブルシューティング

よくあるエラーと対処法

Permission denied writing file — ファイル書き込み時のアクセス拒否

他のプログラム(多くの場合 Excel 自体)がファイルを開いています。閉じてから再試行してください。

確認: lsof path/to/file.xlsx
Formula stored as text — 数式がテキストとして保存される

= で始まる文字列は write_data_to_excel ではなく apply_formula で入力してください。

Chart doesn't render in Excel — グラフが Excel で表示されない

データ範囲がヘッダー付きのソース列をカバーしているか確認してください。Excel には 2 行以上のデータが必要です。

File saved but Excel says 'corrupted' — ファイル保存後に Excel が「破損」と表示する

通常、同じセルに write_data と数式を混在させたことが原因です。ファイルを再作成し、ボトムアップで構築してください。

代替案

excel-mcp-server 他との比較

代替案代わりに使う場面トレードオフ
Google Sheets via google-workspace MCPローカルの .xlsx ではなく、クラウド上で共同編集可能なシートが必要な場合OAuth が必要。オフラインの xlsx の代替にはならない
LibreOffice headless MCPマクロの実行や PDF への変換が必要な場合インストールが大きく、動作が遅い

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る