关于 Excel Power Pivot Mcp
面向 Excel Power Pivot 数据模型的 MCP 服务,供 AI 助手通过自然语言查询和管理模型。支持 DAX、度量值、关系及模型探索,并可直接修改已打开的工作簿。
主要功能
- 01发现并连接工作簿
- 02执行 DAX 查询
- 03创建、更新和删除度量值
- 04管理表关系
- 05探索模型结构与依赖
- 06分析列统计信息
适用场景
- 01检查模型中的表、列和关系
- 02预览表数据并运行 DAX
- 03创建或修复 DAX 度量值
- 04分析列的统计数据
MCP 相关
通过 MCP 向客户端提供 Power Pivot 工作簿连接、查询和修改工具,并提供模型资源与工作流提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Excel Power Pivot MCP 服务
一种 Model Context Protocol(MCP)服务,可让 AI 助手与 Excel Power Pivot 数据模型交互。通过自然语言创建和管理 DAX 度量值、关系等。
功能
- 工作簿发现与连接 - 发现并连接已打开且包含 Power Pivot 数据模型的 Excel 工作簿
- DAX 查询执行 - 运行 DAX 查询并预览表数据
- 度量值管理 - 创建、更新和删除 DAX 度量值,并自动设置格式
- 关系管理 - 创建、删除以及启用/停用表关系
- 模型探索 - 列出表、列、度量值、关系、层级结构、KPI 和依赖项
- 数据分析 - 分析列统计信息(最小值、最大值、不同值计数、空值、示例值)
- Power Query 发现 - 列出工作簿中的 Power Query(M 代码)
- 表管理 - 将 Excel 表添加到数据模型、刷新表/模型
警告
使用风险自负。 此工具会直接修改 Excel Power Pivot 数据模型。对于因数据丢失、损坏或工作簿受损而造成的任何问题,作者概不负责。使用此工具前,请务必备份 Excel 文件。
要求
- Windows 10/11(Excel COM 互操作所必需)
- 启用了 Power Pivot 的 Microsoft Excel 2013+
安装
从 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 文件。
贡献
欢迎贡献!请提交 issue 或拉取请求。
致谢
- Anthropic 提供的 Model Context Protocol
- SQLBI 提供的 DAX Formatter
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。