Token导航 LogoToken导航TokenDH.com
Power-BI-Custom-MCP-Server-with-Python--Claude-AI-Integration logo
数据服务stdio官方级别未说明来源级核验

Power-BI-Custom-MCP-Server-with-Python--Claude-AI-Integration

MCP Server

一个通过XMLA端点与Power BI Desktop交互的MCP服务器,支持查询数据模型、执行DAX查询、获取元数据等功能。

工具数

0

提示词数

0

GitHub Stars

10

资源数

0
数据分析元数据管理PythonClaudeClaude DesktopClaudeVS Code

安装说明

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

作者 / 组织

DheerajKumar97

提供方

DheerajKumar97

最后核验

2026/5/17 20:19

运行时

Python

快速接入

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

命令预览

python -m venv venv

详细介绍

Power BI桌面MCP服务器

模型上下文协议(MCP)服务器,使Claude能够使用Analysis Services通过XMLA端点与Power BI Desktop交互。

概述

此MCP服务器允许Claude:

  • 查询Power BI数据模型和元数据
  • 执行DAX查询
  • 检索表架构、列和关系
  • 访问措施和模型信息
  • 无需离开Claude界面

特性

  • 模型发现:获取有关活动Power BI型号的信息
  • 模式探索:浏览表、列及其属性
  • DAX执行:直接对Power BI模型运行DAX查询
  • 措施:检索所有度量及其表达式
  • 关系:查看模型关系及其属性
  • 自动检测:自动查找Power BI桌面XMLA端口

先决条件

  • Windows操作系统 (Power BI桌面仅适用于Windows)
  • Power BI桌面 已安装并在打开报表的情况下运行
  • Python 3.8+
  • pythonnet 包装。NET互操作性

安装

1.克隆或下载存储库

git clone 
cd Claude-Power-BI-Integration

2.创建虚拟环境

python -m venv venv

3.激活虚拟环境

窗户:

venv\Scripts\activate

Linux/Mac:

source venv/bin/activate

4.安装依赖项

pip install mcp pythonnet

配置

Claude桌面配置

将以下配置添加到您的Claude Desktop配置文件中:

地点: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "powerbi": {
      "command": "C:\\Path\\To\\Your\\venv\\Scripts\\python.exe",
      "args": [
        "C:\\Path\\To\\Your\\powerbi_mcp_server.py"
      ]
    }
  }
}

配置示例:

{
  "mcpServers": {
    "powerbi": {
      "command": "D:\\Job Preparation\\Personnel Work\\Python - Technology\\VS Code Python Code\\Claude-Power BI-Intergration\\venv\\Scripts\\python.exe",
      "args": [
        "D:\\Job Preparation\\Personnel Work\\Python - Technology\\VS Code Python Code\\Claude-Power BI-Intergration\\powerbi_mcp_server.py"
      ]
    }
  }
}

重要提示: 将路径替换为实际的项目路径。使用双反睫毛(\\)或正斜杠(/)JSON格式。

寻找你的道路

  1. Python可执行文件路径:
   where python
   # Or if in virtual environment
   venv\Scripts\python.exe
  1. 脚本路径:

- 导航到您的项目文件夹 - 将完整路径复制到 powerbi_mcp_server.py

用法

1.启动Power BI桌面

确保Power BI Desktop在打开报告/模型的情况下运行。

2.重新启动克劳德桌面

更新配置后,重新启动Claude Desktop以加载MCP服务器。

3.验证连接

在克劳德,你可以问:

"Can you connect to my Power BI model?"

Claude将使用MCP服务器连接和检索模型信息。

可用工具

MCP服务器为Claude提供以下工具:

工具说明
get_powerbi_models获取活动报告中的所有Power BI模型
get_model_tables列出模型中的所有表
get_table_columns从特定表中获取列
execute_dax_query对模型执行DAX查询
get_measures检索所有度量值(可选按表筛选)
get_relationships获取模型中的所有关系
get_report_pages获取报告页面(有限-需要COM)
get_page_visuals从页面获取视觉效果(有限-需要COM)

查询示例

配置后,您可以询问Claude:

  • “显示Power BI模型中的所有表”
  • “Sales表中有哪些列?”
  • 执行此DAX查询:评估TOPN(10,销售额)
  • “模型中定义了哪些措施?”
  • “显示表之间的关系”
  • “使用DAX计算每年的总销售额”

运作原理

  1. 端口检测:服务器会自动找到Power BI Desktop使用的本地Analysis Services端口
  2. XMLA连接:通过OleDB使用MSOLAP提供程序进行连接
  3. DMV查询:使用动态管理视图(DMV)检索元数据
  4. DAX执行:执行DAX查询并将结果返回给Claude

故障排除

“找不到Power BI桌面分析服务端口”

解决方案:

  • 确保Power BI桌面正在运行
  • 在Power BI Desktop中打开报告/模型
  • XMLA终结点仅在加载模型时处于活动状态

“未安装pythonnet”

解决方案:

pip install pythonnet

MCP服务器未在Claude中显示

解决方案:

  • 验证JSON配置是否有效(使用JSON验证器)
  • 检查路径是否使用双反斜杠或正斜杠
  • 完全重新启动克劳德桌面
  • 检查克劳德桌面日志: %APPDATA%\Claude\logs

连接错误

解决方案:

  • 确保已安装用于Analysis Services的Microsoft OLE DB提供程序
  • 这是Power BI Desktop附带的,但可能需要维修/重新安装
  • 尝试以管理员身份运行Claude Desktop

局限性

  • 仅限Windows:Power BI桌面和XMLA终结点是特定于Windows的
  • 仅限本地:仅连接到本地Power BI Desktop实例
  • 报告页面/视觉效果:对报告级对象的访问受限(需要Power BI COM接口)
  • 无数据修改:对模型的只读访问

技术细节

建筑

Claude Desktop
    ↓
MCP Server (Python)
    ↓
pythonnet → .NET OleDb
    ↓
MSOLAP Provider
    ↓
Power BI Desktop (XMLA Endpoint)

安全

  • 所有连接都是本地的(localhost)
  • 使用Windows集成安全(SSPI)
  • 无需外部网络访问
  • 不需要API密钥或凭据

贡献

欢迎投稿!请随时提交问题或拉取请求。

许可证

\[在此处添加您的许可证\]

资源

支持

对于问题或疑问:

  1. 检查故障排除部分
  2. 查看Power BI桌面日志
  3. 检查克劳德桌面登录 %APPDATA%\Claude\logs
  4. 在GitHub上打开一个问题

______________________________________________________________________

注: 这是一个社区项目,没有得到微软或Anthropic的正式支持。

目录标签

目录标签

数据分析元数据管理PythonClaude本地部署BI工具集成DAX查询自动化交互

支持客户端

Claude DesktopClaudeVS Code

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP