Excel Power Pivot Mcp について
Excel Power Pivot のデータモデルを扱う AI アシスタント向け MCP サーバーです。DAX クエリやモデルの調査に加え、開いているブックのメジャーやリレーションシップを管理できます。
主な機能
- 01ブックの検出と接続
- 02DAX クエリの実行
- 03メジャーの作成・更新・削除
- 04テーブル間のリレーション管理
- 05モデル構造と依存関係の確認
- 06列の統計情報の分析
活用シーン
- 01モデルのテーブル、列、リレーションの確認
- 02テーブルデータのプレビューと DAX 実行
- 03DAX メジャーの作成や修正
- 04列の統計情報の確認
MCP 対応
MCP クライアントに、Power Pivot ブックの接続、クエリ、変更を行うツールと、モデルのリソースやワークフロープロンプトを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Excel Power Pivot MCP サーバー
AI アシスタントが Excel Power Pivot データモデルを操作できるようにする、Model Context Protocol(MCP)サーバーです。自然言語を使って、DAX メジャーやリレーションシップなどを作成・管理できます。
機能
- ブックの検出と接続 - Power Pivot データモデルを含む、開いている Excel ブックを検出して接続します
- DAX クエリの実行 - DAX クエリを実行し、テーブルデータをプレビューします
- メジャーの管理 - DAX メジャーを自動フォーマット付きで作成、更新、削除します
- リレーションシップの管理 - テーブルのリレーションシップを作成、削除、有効化/無効化します
- モデルの調査 - テーブル、列、メジャー、リレーションシップ、階層、KPI、依存関係を一覧表示します
- データプロファイリング - 列の統計情報(最小値、最大値、個別の値の数、NULL、サンプル値)を分析します
- Power Query の検出 - ブック内の Power Query(M コード)を一覧表示します
- テーブルの管理 - Excel テーブルをデータモデルに追加し、テーブル/モデルを更新します
警告
ご自身の責任でご利用ください。 このツールは Excel Power Pivot データモデルを直接変更します。ブックのデータ損失、破損、損傷について、作者は責任を負いません。このツールを使用する前に、必ず Excel ファイルのバックアップを作成してください。
要件
- Windows 10/11(Excel COM 相互運用に必要)
- Microsoft Excel 2013+(Power Pivot が有効であること)
インストール
Releases ページから最新の ExcelPowerPivotMcp.exe をダウンロードします。
インストールは不要です。ダウンロードして、MCP クライアントを設定するだけです。
MCP クライアントの設定
Claude Desktop
claude_desktop_config.json に追加します。
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"excel-powerpivot": {
"command": "C:/path/to/ExcelPowerPivotMcp.exe"
}
}
}
Cursor
Cursor の MCP 設定に追加します。
{
"mcpServers": {
"excel-powerpivot": {
"command": "C:/path/to/ExcelPowerPivotMcp.exe"
}
}
}
Antigravity (VS Code)
.vscode/mcp.json に追加します。
{
"servers": {
"excel-powerpivot": {
"type": "stdio",
"command": "C:/path/to/ExcelPowerPivotMcp.exe"
}
}
}
使い方
1. Power Pivot を使用する Excel を開く
Power Pivot データモデルを含む Excel ブックを開きます。
2. MCP 経由で接続する
AI アシスタントが最初にブックを検出して接続します。
AI: Let me discover your Excel workbooks...
→ discover_workbooks()
→ Found: MyModel.xlsx (hasDataModel: true)
AI: Connecting to your workbook...
→ connect_workbook(workbook_name: "MyModel.xlsx")
→ Connected!
3. 調査して変更する
AI: Let me see what's in your data model...
→ get_model_summary()
→ 5 tables, 12 measures, 6 relationships
AI: I'll create a new measure for you...
→ create_measure(
tableName: "Sales",
measureName: "Total Revenue",
expression: "SUM(Sales[Amount])"
)
AI: Don't forget to save!
→ save_workbook()
利用可能なツール
接続
| ツール | 説明 |
|---|---|
discover_workbooks | Power Pivot モデルを含む、開いている Excel ブックを検索します |
connect_workbook | 特定のブックに接続します |
get_connection_status | 現在の接続状態を確認します |
save_workbook | 接続中のブックを保存します |
refresh_model | データモデル全体を更新します |
モデルのメタデータ
| ツール | 説明 |
|---|---|
get_model_summary | モデルの包括的な概要を表示します |
list_tables | 行数とともにすべてのテーブルを一覧表示します |
list_columns | テーブル内の列を一覧表示します |
list_measures | 式とともにメジャーを一覧表示します |
list_relationships | テーブルのリレーションシップを表示します |
list_hierarchies | ユーザー定義の階層を一覧表示します |
list_kpis | 重要業績評価指標を一覧表示します |
get_dependencies | 計算の依存関係を表示します |
list_power_queries | Power Query(M コード)を一覧表示します |
list_excel_tables | Excel テーブル(ListObjects)を一覧表示します |
DAX クエリ
| ツール | 説明 |
|---|---|
run_dax | DAX クエリを実行するか、テーブルデータをプレビューします |
analyze_column | 列の統計情報とサンプル値を取得します |
メジャーの CRUD
| ツール | 説明 |
|---|---|
create_measure | 新しい DAX メジャーを作成します(速度を優先する場合は autoFormat=false をサポート) |
update_measure | 式/名前/説明を更新します |
delete_measure | メジャーを削除します |
リレーションシップの CRUD
| ツール | 説明 |
|---|---|
create_relationship | テーブルのリレーションシップを作成します |
delete_relationship | リレーションシップを削除します |
set_relationship_active | リレーションシップを有効化/無効化します |
テーブル操作
| ツール | 説明 |
|---|---|
add_table_to_model | [破壊的]Excel テーブルをデータモデルに追加します |
delete_table | [破壊的]モデルからテーブルを削除します |
refresh_table | 単一のテーブルを更新します |
プロンプト
| プロンプト | 説明 |
|---|---|
describe_model | データモデルについて平易な英語で説明します |
workflow_create_measure | メジャーを作成するためのガイド付きワークフロー |
workflow_analyze_model | モデル構造を分析し、改善案を提示します |
workflow_test_dax | 永続的なメジャーを作成する前に DAX をテストします |
workflow_fix_measure | 壊れたメジャーをデバッグして修正します |
workflow_add_relationship | リレーションシップを追加するためのガイド付きワークフロー |
recover_connection | Excel との接続が失われた場合に復旧します |
リソース
| URI | 説明 |
|---|---|
model://schema | 現在の Power Pivot データモデルのスキーマ(JSON) |
model://dirty-state | 未保存の変更を確認します |
model://logs | 最近のサーバー診断ログ |
model://instructions | Power Pivot を使用するためのガイドライン |
model://best-practices | メジャーのベストプラクティスガイド |
model://dax-guide | Excel 向け DAX クエリガイド |
model://workflows | 一般的なワークフローのリファレンス |
パフォーマンスのヒント
メジャーをすばやく作成する
autoFormat: false を使用すると、DAX の書式設定を省略し、メジャーをより速く作成できます(約 1.5 秒短縮)。
{
"tableName": "Sales",
"measureName": "Quick Measure",
"expression": "SUM(Sales[Amount])",
"autoFormat": false
}
制限事項
Excel Power Pivot の制限事項
次の機能は Excel Power Pivot では利用できません(Power BI とは異なります)。
| 機能 | Excel Power Pivot |
|---|---|
| 計算グループ | ❌ サポートされていません |
| パースペクティブ | ❌ サポートされていません |
| 行レベルのセキュリティ(RLS) | ❌ サポートされていません |
| DAX クエリ内の DEFINE COLUMN | ❌ サポートされていません |
MCP サーバーの制限事項
これらの機能は Excel にありますが、COM API の制約により、この MCP 経由では管理できません。
| 機能 | 状態 |
|---|---|
| 計算列の作成/更新/削除 | ❌ Power Pivot ウィンドウを使用してください |
| 列の説明の設定 | ❌ Power Pivot ウィンドウを使用してください |
トラブルシューティング
| エラー | 解決方法 |
|---|---|
| "Excel is not running" | ブックを開いた状態で Excel を起動してください |
| "Workbook not found" | ブックが Excel で開かれていることを確認してください |
| "No data model" | 先に Power Pivot データモデルを作成してください |
| "Not connected" | 先に connect_workbook を呼び出してください |
ライセンス
MIT ライセンスです。詳細は LICENSE ファイルをご覧ください。
貢献
貢献を歓迎します。イシューまたはプルリクエストを作成してください。
謝辞
- Anthropic による Model Context Protocol
- SQLBI による DAX Formatter
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。