Power BI管理工具集

一个通过Power BI REST API提供43种工具用于全面管理Power BI的Python MCP服务器

  • by SamLev-2004
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 SamLev-2004/PowerBIMCP

使用说明

Power BI MCP服务器

一个Python MCP服务器,通过Power BI REST API为全面的Power BI管理提供43个工具。

特性

  • 43个MCP工具 涵盖工作区、报告、数据集、仪表板、数据流、管道、容量、网关和管理
  • 双重身份验证:服务负责人(自动化)或授权用户(通过设备代码交互)
  • 双重运输:stdio(本地)或SSE(远程/Docker)
  • 推送数据集:以编程方式将数据导入Power BI
  • DAX查询:对数据集运行查询
  • 安全:Azure密钥库支持,日志中没有秘密,文件权限受限

快速开始

先决条件

  • Python 3.11+
  • 使用Power BI API权限注册Azure AD应用程序

本地设置

git clone <repo-url>
cd PowerBIMCP
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env
# Edit .env with your Azure credentials

本地运行(stdio)

powerbi-mcp

Claude桌面配置

添加 claude_desktop_config.json:

{
  "mcpServers": {
    "powerbi": {
      "command": "powerbi-mcp",
      "env": {
        "AZURE_TENANT_ID": "your-tenant-id",
        "AZURE_CLIENT_ID": "your-client-id",
        "AZURE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Docker(SSE)

cp .env.example .env
# Edit .env with your Azure credentials
docker compose up -d

配置

变量 必填 默认 描述
AUTH_METHOD 没有 service_principal service_principal, delegated,或 auto
AZURE_TENANT_ID 是 -- Azure AD租户ID
AZURE_CLIENT_ID 是 -- 应用程序注册客户端ID
AZURE_CLIENT_SECRET 用于SP -- 客户端机密
AZURE_KEYVAULT_URL 否 -- 用于生产的密钥Vault URL
POWERBI_DEFAULT_WORKSPACE_ID 否 -- 默认工作区
TRANSPORT 没有 stdio stdio 或 sse
SSE_PORT 没有 8080 SSE端口
DAX_QUERIES_ENABLED 没有 true 启用/禁用DAX查询
LOG_LEVEL 没有 INFO 日志记录级别

发展

pip install -e ".[dev]"
pytest tests/ -v