返回市场
功率BI-MCP服务器

功率BI-MCP服务器

作者:enelyse15 星标更新:2025-11-08

项目介绍

Power BI Desktop MCP Server

Python 版本 许可证 测试 覆盖率

⚠️ Alpha 版本 – API 和行为可能会在没有通知的情况下发生变化。

Power BI Desktop MCP Server 允许 Claude(或任何 MCP 客户端)使用自然语言与正在运行的 Power BI Desktop 实例进行通信。它将模型上下文协议桥接到表格对象模型,因此您可以在聊天中检查、优化和编写 DAX 而无需离开聊天界面。

安装

逐步设置(Power BI 的先决条件、.NET 库、环境变量)位于 INSTALLATION.md 中。

对于本地开发:

pip install -e .
# 或从当前目录安装:
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_LEVELMCP_KNOWLEDGE_BASEPOWERBI_WORKSPACE_NAME

  • 在 Claude Desktop(或任何 MCP 主机)中添加 CLI 入口点:

    {
      "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 配置错误是最常见的设置失败原因。

贡献

欢迎提交拉取请求。请:

  1. 如果更改影响行为或 API,请打开一个描述该变更的问题。
  2. 添加的内容应遵循 ruff/black 样式约定(如果已配置),并包含类型提示。
  3. 添加或更新示例脚本/测试,以帮助说明新功能。
  4. 提交前运行示例脚本或手动冒烟测试。

问题和功能请求在存储库的 GitHub Issues 页面上跟踪。