使用说明
项目简介
PBIXRay MCP服务器是一个实现了Model Context Protocol (MCP) 的应用后端,它将 PBIXRay 的功能通过MCP协议暴露给LLM客户端。借助此服务器,LLM可以加载和分析Power BI (.pbix) 文件,访问Power BI数据模型中的各种信息,例如表、度量值、关系、Power Query代码等,从而实现基于Power BI数据的智能分析和应用。
主要功能点
- Power BI 文件分析: 加载和分析 Power BI (.pbix) 文件。
- 模型信息提取: 获取 Power BI 数据模型的元数据、表、列、度量值、关系、Power Query 代码、M参数、模型大小、模型统计信息和模型概要等。
- 数据访问: 检索 Power BI 表中的数据内容,并支持分页浏览。
- 灵活查询: 支持通过表名、列名、度量值名等条件过滤查询模型信息。
- 安全控制: 允许禁用特定工具以增强安全性。
安装步骤
- 创建虚拟环境 (推荐):
python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows - 安装依赖:
pip install mcp pbixray numpy - 运行服务器:
python src/pbixray_server.py
服务器配置
为了让MCP客户端(如Claude)连接到PBIXRay MCP服务器,您需要在客户端中配置服务器信息。以下是一个典型的JSON配置示例,用于配置名为 "pbixray" 的服务器连接:
{ "pbixray": { "serverName": "PBIXRay", "command": "python", "args": [ "src/pbixray_server.py" ] } }
参数说明:
- '"serverName"': 服务器名称,可以自定义,用于在客户端中标识该服务器连接。
- '"command"': 启动服务器的命令,这里使用 'python' 解释器。
- '"args"': 传递给启动命令的参数列表, '"src/pbixray_server.py"' 指定服务器脚本的路径。
可选参数:
- 禁用工具 (Security): 如果您需要禁用某些工具(例如 'get_m_parameters', 'get_power_query')以增强安全性,可以在 'args' 中添加 '--disallow' 参数,例如:
{ "pbixray": { "serverName": "PBIXRay", "command": "python", "args": [ "src/pbixray_server.py", "--disallow", "get_m_parameters", "get_power_query" ] } }
- 自定义分页和行数限制: 您可以通过 '--max-rows' 和 '--page-size' 参数自定义服务器返回的最大行数和分页大小,例如:
{ "pbixray": { "serverName": "PBIXRay", "command": "python", "args": [ "src/pbixray_server.py", "--max-rows", "500", "--page-size", "50" ] } }
注意: 'command' 和 'args' 的具体配置可能需要根据您的MCP客户端和服务器实际部署环境进行调整。 例如,如果您在WSL (Windows Subsystem for Linux) 中运行服务器,并希望从Windows上的MCP客户端(如Claude Desktop)连接,请参考仓库 README.md 文档中 "Using with Windows Subsystem for Linux (WSL)" 部分的配置指南。
基本使用方法
-
确保PBIXRay MCP服务器已成功启动并运行。
-
在您的MCP客户端中配置并连接到PBIXRay MCP服务器。
-
使用自然语言向您的LLM客户端提问,例如:
- "请加载并分析我的Power BI文件 /path/to/report.pbix"
- "我的Power BI模型中有哪些表?"
- "显示我模型中所有的DAX度量值。"
- "我的Power BI文件中表之间存在哪些关系?"
- "我的Power BI模型有多大?"
- "这个模型中使用了哪些Power Query转换?"
LLM客户端将自动调用相应的MCP工具来检索信息并呈现给您。
信息
分类
商业系统