Power BI桌面MCP服务器
⚠️ Alpha版本 API和行为可能会发生变化,恕不另行通知。
Power BI Desktop MCP Server允许Claude(或任何MCP客户端)使用自然语言与正在运行的Power BI Desktop实例进行对话。它将模型上下文协议连接到表格对象模型,这样您就可以在不离开聊天室的情况下检查、优化和编写DAX。
安装
逐步设置(Power BI先决条件、.NET库、环境变量)存在于 安装.md.
对于当地发展:
pip install -e .
# or install from the current directory:
pip install .快速示例
列出当前Power BI模型中的表:
python examples/list_model_info.py --include-columns对知识库的出口措施:
python examples/export_measures_to_knowledge_base.py --project "Executive Dashboard"在表达式上运行优化器:
python examples/optimize_dax.py --expr "CALCULATE(SUM(Sales[Amount]), FILTER(ALL(Date), Date[Year] = 2024))"配置
- 复制
.env.example到.env并设置TOM_DLL_PATH如果未自动检测到Microsoft Analysis Services DLL。可选变量包括LOG_LEVEL,MCP_KNOWLEDGE_BASE,以及POWERBI_WORKSPACE_NAME.
- 将CLI入口点添加到Claude Desktop(或任何MCP主机):
{
"mcpServers": {
"powerbi": {
"command": "powerbi-mcp-server",
"args": []
}
}
}- CLI是一个薄薄的包装
python -m powerbi_mcp.server,因此这两种调用都适用于部署和调试。
特性
- DAX代码生成和度量值创建
- 度量和表元数据检查
- DAX优化器,提供基于规则的建议
- TMDL导入/导出助手
- 用于存储策划措施的知识库桥梁
- 快速自动化的示例脚本(
examples/目录)
已知问题
- Power BI视觉效果位于XMLA端点之外,因此不支持视觉创建/编辑。
- 服务器连接到最近打开的Power BI Desktop工作区;多个实例尚未被复用。
- 写操作需要Power BI模型允许外部工具,在某些情况下还需要提升权限。
pythonnet依赖于本地Microsoft Analysis Services DLL;配置错误TOM_DLL_PATH是最常见的设置失败。
贡献
欢迎拉取请求。拜托:
- 如果更改改变了行为或API,则打开一个描述更改的问题。
- 保持添加内容的格式
ruff/black样式约定(如果已配置)并包括类型提示。 - 添加或更新示例脚本/测试,以帮助说明新功能。
- 在提交之前运行示例脚本或手动烟雾测试。
在存储库的GitHub Issues页面上跟踪问题和功能请求。
