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
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-mcpClaude桌面配置
添加 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