Token导航 LogoToken导航TokenDH.com
Power BI MCP Server logo
AI代理未说明官方级别未说明来源级核验

Power BI MCP Server

MCP Server

一个模型上下文协议(MCP)服务器,使AI助手能够以编程方式与Power BI工作区、数据集、报告和仪表板交互。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
TypeScriptClaude数据可视化Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

michaelmckinleyconsulting

提供方

michaelmckinleyconsulting

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Power BI MCP服务器

模型上下文协议(MCP)服务器,使AI助手能够以编程方式与Power BI工作区、数据集、报告和仪表板进行交互。

🚀 特性

  • 工作空间管理:列出和管理Power BI工作区
  • 报告操作:访问、克隆、导出和重新绑定报告
  • 数据集管理:执行DAX查询、刷新数据集、管理计划
  • 仪表板访问:列出仪表板并与之交互
  • 推送数据集:使用实时数据创建和管理推送数据集
  • 认证:使用Microsoft Entra ID进行安全的OAuth2身份验证

📋 先决条件

  • Node.js(v18或更高版本)
  • npm或纱线
  • Power BI Pro或高级许可证
  • Microsoft Entra ID应用程序注册
  • MCP兼容的人工智能助手(克劳德桌面等)

🔧 安装

  1. 克隆存储库:
git clone https://github.com/michaelmckinleyconsulting/powerbi-mcp-server.git
cd powerbi-mcp-server
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

⚙️ 配置

1.Microsoft Entra ID设置

  1. 在中注册应用程序 Azure 门户
  2. 为Power BI服务配置API权限
  3. 注意你的:

- 客户端ID - 租户ID - 客户端密码(如果仅使用应用程序身份验证)

2.环境变量

创建一个 .env 根目录中的文件(请参见 .env.example 模板):

PBI_PUBLIC_CLIENT_ID=your_client_id
PBI_TENANT_ID=your_tenant_id  # Optional, defaults to 'common'
PBI_SCOPES=https://analysis.windows.net/powerbi/api/.default  # Optional, or specify custom scopes

备注:此服务器使用带有PKCE的授权码流(不需要客户端密钥)。使用重定向URI配置Azure应用程序:

  • http://localhost
  • http://127.0.0.1

3.MCP配置

添加到MCP客户端配置中:

Claude桌面版

{
  "mcpServers": {
    "powerbi": {
      "command": "node",
      "args": ["path/to/powerbi-mcp-server/dist/index.js"],
      "env": {
        "PBI_PUBLIC_CLIENT_ID": "your_client_id",
        "PBI_TENANT_ID": "your_tenant_id"
      }
    }
  }
}

VS代码MCP扩展

{
  "mcp.servers": {
    "powerbi": {
      "command": "node",
      "args": ["path/to/powerbi-mcp-server/dist/index.js"],
      "transport": "stdio",
      "env": {
        "PBI_PUBLIC_CLIENT_ID": "your_client_id"
      }
    }
  }
}

📖 用法

基本操作

配置后,您的AI助手可以:

  • 列出工作区:“显示我的所有Power BI工作区”
  • 执行DAX:“运行DAX查询以按地区获取销售额”
  • 导出报告:“将季度报告导出为PDF”
  • 刷新数据集:“刷新销售数据集”
  • 管理访问:“添加user@example.com到分析工作区”

示例提示

"List all reports in my Sales workspace"
"Execute this DAX query against the Finance dataset: EVALUATE SUMMARIZE(...)"
"Export the Monthly KPI report to PowerPoint"
"Show me the refresh history for the Customer dataset"
"Create a push dataset for real-time monitoring"

🔐 认证

服务器支持两种身份验证方法:

  1. 互动(推荐):用户通过浏览器登录
  2. 仅限应用程序:使用客户端凭据(需要管理员同意)

首次运行时,服务器将提示您通过默认浏览器进行身份验证。

📁 项目结构

powerbi-mcp-server/
├── src/
│   ├── index.ts           # Main server entry point
│   ├── auth/              # Authentication logic
│   ├── handlers/          # Request handlers
│   ├── types/             # TypeScript definitions
│   └── utils/             # Utility functions
├── dist/                  # Compiled JavaScript (git-ignored)
├── package.json
├── tsconfig.json
└── README.md

🛠️ 发展

以开发模式运行

npm run dev

运行测试

npm test

生产大楼

npm run build

📊 支持的Power BI操作

工作区(组)

  • 列出工作区
  • 获取工作区用户
  • 添加/删除用户

报告

  • 列出报告
  • 获取报告元数据
  • 克隆报告
  • 导出为各种格式(PDF、PPTX、PNG)
  • 重新绑定到不同的数据集

数据集

  • 列出数据集
  • 执行DAX查询
  • 触发器刷新
  • 管理刷新计划
  • 获取刷新历史记录

仪表盘

  • 列出仪表板
  • 获取仪表板互动程序

推送数据集

  • 创建推送数据集
  • 向表中添加行
  • 清除表格数据

🔧 故障排除

常见问题

  1. 身份验证失败:确保您的Azure应用程序注册具有适当的Power BI权限
  2. 未找到工作区:验证您的帐户是否可以访问Power BI工作区
  3. DAX查询失败:检查数据集权限和查询语法
  4. 导出超时:大型报告可能需要时间;服务器处理异步轮询

调试模式

启用详细日志记录:

DEBUG=powerbi:* node dist/index.js

📄 许可证

这个项目是 来源可用 根据带有Commons条款的修改后的MIT许可证-请参阅 许可证 文件以获取详细信息。

非商业用途:免费供个人、教育和公司内部使用。

商业用途:需要单独的商业许可证。联系方式\[michael@mckinley.consulting\]商业许可。

由于商业限制,这不是OSI批准的“开源”,但允许社区完全用于非商业目的。

🤝 贡献

我们欢迎捐款!请注意:

  1. 通过贡献,您同意您的贡献将在相同的许可下获得许可
  2. 对于实质性更改,请先打开一个问题进行讨论
  3. 确保所有测试通过,并为新功能添加测试

💬 支持

  • 问题:
  • 商业支持: \[michael@mckinley.consulting\]
  • 文档: 维基

🙏 致谢

______________________________________________________________________

备注:这不是微软的官方产品。Power BI是微软公司的商标。

目录标签

目录标签

TypeScriptClaude数据可视化PowerBI集成本地部署AI助手自动化管理企业分析

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明noneremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP