excel-mcp
Windows環境でのExcelブック自動化に対応したMCP Serverスキルです。Excelファイルの作成・検査・編集・書式設定・分析が必要な際に使用し、Power Query(M)、データモデル/DAX、ピボットテーブル、テーブル、セル範囲、グラフ、スライサー、書式設定、スクリーンショット、VBAマクロ、接続設定、計算モードなど幅広い機能をMCPツールで提供します。Excel、スプレッドシート、xlsx/xlsm、ダッシュボード作成などのタスクでトリガーされます。
description の原文を見る
> Excel MCP Server skill for Windows workbook automation. Use when an assistant needs rich MCP tools to create, inspect, modify, format, or analyze Excel files. Supports Power Query (M), Data Model/DAX, PivotTables, Tables, Ranges, Charts, Slicers, formatting, screenshots, VBA macros, connections, and calculation mode. Triggers: Excel, spreadsheet, workbook, xlsx, xlsm, Power Query, DAX, PivotTable, chart, dashboard, VBA, MCP.
SKILL.md 本文
Excel MCP Server Skill
Model Context Protocol を通じて 227 の Excel 操作を提供します。MCP サーバーはすべてのリクエストを共有の ExcelMCP サービスに転送し、CLI とのセッション共有を実現します。ツールは自動検出されます。本ドキュメントは、使用上の注意点、ワークフロー、落とし穴について説明します。
ワークフロー チェックリスト
| ステップ | ツール | アクション | タイミング |
|---|---|---|---|
| 1. ファイル開く | file | open または create | 常に最初 |
| 2. シート作成 | worksheet | create, rename | 必要に応じて |
| 3. データ書き込み | range | set-values | 常に実施 (2D 配列) |
| 4. フォーマット | range | set-number-format | 書き込み後 |
| 5. 構造化 | table | create | データをテーブルに変換 |
| 6. 保存・閉じる | file | close with save: true | 常に最後 |
前提条件
- Windows ホストに Microsoft Excel がインストール (2016 以降)
- フルパス Windows パスを使用:
C:\Users\Name\Documents\Report.xlsx - Excel ファイルは別の Excel インスタンスで開かれていないこと
計算モード ワークフロー (バッチ パフォーマンス)
大量の値または数式を書き込む場合、calculation_mode を使用してパフォーマンスを最適化します。自動再計算を無効にして、セルごとの再計算を回避します:
1. calculation_mode(action: 'set-mode', mode: 'manual') → 自動再計算を無効化
2. すべての書き込みを実行 (range set-values, set-formulas)
3. calculation_mode(action: 'calculate', scope: 'workbook') → 一度だけ再計算
4. calculation_mode(action: 'set-mode', mode: 'automatic') → デフォルトに戻す
注: 数式を読み取る場合、手動モードは不要です。range get-formulas は計算モードに関わらず数式テキストを返します。
重要: 実行ルール (必ず従うこと)
ルール 1: 明確化質問は絶対しない
停止。 「どのファイル?」「どのテーブル?」「ここに置いた方がいい?」と聞こうとしていたら、やめてください。
| 悪い例 (質問) | 良い例 (自力で確認) |
|---|---|
| 「どのExcelファイルを使うべき?」 | file(list) → 開いているセッションを使用 |
| 「テーブル名は?」 | table(list) → テーブルを探す |
| 「どのシートにデータがある?」 | worksheet(list) → すべてのシートをチェック |
| 「ピボットテーブルを作成すべき?」 | はい - 新しいシートに作成 |
ツールで自分の質問に答える能力があります。それを使ってください。
ルール 2: 常にテキスト要約で終わる
ツール呼び出しだけで終わらないでください。 すべての操作を完了した後、何が実行されたかを確認するテキストメッセージを常に提供してください。ツール呼び出しだけの無音応答は不完全です。
ルール 3: プロフェッショナルなデータ フォーマット
値を設定した後は常に数値フォーマットを適用します:
| データ型 | フォーマット コード | 結果 |
|---|---|---|
| USD | $#,##0.00 | $1,234.56 |
| EUR | €#,##0.00 | €1,234.56 |
| パーセント | 0.00% | 15.00% |
| 日付 (ISO) | yyyy-mm-dd | 2025-01-22 |
ワークフロー:
1. range set-values (データがセルに入る)
2. range set-number-format (フォーマットを適用)
ルール 4: Excel テーブルを使用 (プレーン範囲ではなく)
常に表形式データを Excel テーブルに変換します:
1. range set-values (ヘッダーを含むデータを書き込み)
2. table create tableName="SalesData" rangeAddress="A1:D100"
理由: 構造化参照、自動拡張、データ モデル/DAX に必須。
ルール 5: セッション ライフサイクル
1. file(action: 'open', path: '...') → sessionId
2. すべての操作で sessionId を使用
3. file(action: 'close', save: true) → 保存して閉じる
閉じられていないセッションは Excel プロセスを実行したままにし、ファイルをロックします。
ルール 6: データ モデルの前提条件
DAX 操作にはデータ モデル内のテーブルが必要です:
ステップ 1: テーブル作成 → テーブルが存在
ステップ 2: table(action: 'add-to-datamodel') → テーブルがデータ モデル内に
ステップ 3: datamodel(action: 'create-measure') → これが機能
ルール 7: Power Query 開発ライフサイクル
ベストプラクティス: テスト優先ワークフロー
1. powerquery(action: 'evaluate', mCode: '...') → 永続化せずにテスト
2. powerquery(action: 'create', ...) → 検証済みクエリを保存
3. powerquery(action: 'refresh', ...) → データを読み込む
evaluate を最初に実行する理由:
- 永続的なクエリを作成する前に、構文エラーと欠落ソースをキャッチ
- COM 例外より良いエラーメッセージ
- 実際のデータプレビュー表示 (列+サンプル行)
- クリーンアップ不要 - M コードの REPL のような動作
- 単純なリテラル テーブルの場合のみスキップ
よくある間違い: evaluate なしで create/update → 壊れたクエリがワークブックに残る
ルール 8: 削除・再構築より標的を絞った更新を優先
- 推奨: 特定範囲への
set-values(例: 行 5 のA5:C5) - 回避: 構造全体を削除して再作成
理由: フォーマット、数式、参照を保持します。
ルール 9: suggestedNextActions に従う
エラー応答には実行可能なヒントが含まれます:
{
"success": false,
"errorMessage": "テーブル 'Sales' がデータ モデルで見つかりません",
"suggestedNextActions": ["table(action: 'add-to-data-model', tableName: 'Sales')"]
}
ツール選択クイック リファレンス
| タスク | ツール | キー アクション |
|---|---|---|
| ワークブック作成/開く/保存 | file | open, create, close |
| セル データ書き込み/読み取り | range | set-values, get-values |
| セル フォーマット | range | set-number-format |
| データからテーブル作成 | table | create |
| テーブルを Power Pivot に追加 | table | add-to-data-model |
| DAX 数式作成 | datamodel | create-measure |
| ピボットテーブル作成 | pivottable | create, create-from-datamodel |
| スライサーでフィルタリング | slicer | set-slicer-selection |
| グラフ作成 | chart | create-from-range |
| 計算モード制御 | calculation_mode | get-mode, set-mode, calculate |
| ビジュアル検証 | screenshot | capture, capture-sheet |
リファレンス ドキュメント
詳細なガイダンスは references/ を参照してください:
コア実行ルールと LLM ガイドライン回避すべき よくある間違い大量書き込みパフォーマンス最適化データ モデル制約とパターングラフとフォーマット条件付きフォーマット操作ダッシュボードとレポート ベストプラクティスデータ モデル/DAX 詳細データ モデル分析用 DMV クエリ リファレンスExcel エージェント モードと高度な自動化落とし穴と既知の制限Power Query M コード構文リファレンスピボットテーブル操作Power Query 詳細範囲操作と数値フォーマットスクリーンショットとビジュアル検証スライサー操作テーブル操作ウィンドウと表示操作ワークシート操作
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- sbroenne
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/sbroenne/mcp-server-excel / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。