Excel Power Pivot MCP服务器
模型上下文协议(MCP)服务器,使AI助手能够与Excel Power Pivot数据模型进行交互。通过自然语言创建和管理DAX指标、关系等。
特性
- 工作簿发现和连接 -使用Power Pivot数据模型发现并连接到打开的Excel工作簿
- DAX查询执行 -运行DAX查询并预览表数据
- 计量管理 -使用自动格式化功能创建、更新和删除DAX度量值
- 关系管理 -创建、删除和激活/停用表关系
- 模型探索 -列出表、列、度量值、关系、层次结构、KPI和依赖关系
- 数据概况 -分析列统计信息(最小值、最大值、不同计数、空值、样本值)
- 电源查询发现 -在工作簿中列出电源查询(M代码)
- 表格管理 -将Excel表添加到数据模型,刷新表/模型
\[!警告\] 使用风险自负。 此工具可直接修改Excel Power Pivot数据模型。作者不对工作簿的任何数据丢失、损坏或损坏负责。 在使用此工具之前,始终保持Excel文件的备份。
需求
- Windows 10/11 (Excel COM互操作所需)
- 微软Excel 2013+ 启用了Power Pivot
安装
下载最新版 ExcelPowerPivotMcp.exe 从 发布 页面。
无需安装-只需下载并配置您的MCP客户端。
MCP客户端配置
克劳德桌面
添加到您的 claude_desktop_config.json:
窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"excel-powerpivot": {
"command": "C:/path/to/ExcelPowerPivotMcp.exe"
}
}
}光标
添加到光标MCP设置中:
{
"mcpServers": {
"excel-powerpivot": {
"command": "C:/path/to/ExcelPowerPivotMcp.exe"
}
}
}反重力(VS代码)
添加到您的 .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 | 列出电源查询(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 | \[DESTRUCTIVE\]将Excel表添加到数据模型中 |
delete_table | \[DESTRUCTIVE\]从模型中删除表 |
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查询中定义列 | ❌ 不支持 |
MCP服务器限制
这些存在于Excel中,但 无法通过此MCP进行管理 由于COM API限制:
| 功能 | 状态 |
|---|---|
| 创建/更新/删除计算列 | ❌ 使用Power Pivot窗口 |
| 设置列描述 | ❌ 使用Power Pivot窗口 |
故障排除
| 错误 | 解决方案 |
|---|---|
| “Excel未运行” | 使用工作簿打开Excel |
| “找不到工作簿” | 确保工作簿已在Excel中打开 |
| “无数据模型” | 请先创建Power Pivot数据模型 |
| “未连接” | 呼叫 connect_workbook 首先 |
许可证
MIT许可证-请参阅 许可证 文件。
贡献
欢迎投稿!请打开问题或拉取请求。
