PBIXRay MCP Server

PBIXRay MCP Server

site icon
2025.04.13 1
PythonPower BI 分析数据模型探索查询语言访问开发效率数据库
PBIXRay MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,专门用于与 Power BI (.pbix) 文件进行交互。它提供了丰富的功能,包括加载和分析 PBIX 文件、数据模型探索、查询语言访问以及数据结构分析等。该服务适用于需要自动化处理 Power BI 文件的开发者和数据分析师,能够显著提高工作效率。
View on GitHub

Overview

基本能力

产品定位

PBIXRay MCP Server 是一个专门用于与 Power BI (.pbix) 文件交互的 MCP 服务,旨在为 LLM 客户端提供强大的工具和资源,以便于分析和操作 Power BI 文件。

核心功能

  • 加载和分析 PBIX 文件:支持加载和解析 Power BI 文件。
  • 数据模型探索
  • 列出模型中的表格
  • 检索模型元数据
  • 检查模型大小
  • 获取模型统计信息
  • 获取全面的模型摘要
  • 查询语言访问
  • 查看 Power Query (M) 代码
  • 访问 M 参数
  • 探索 DAX 计算表
  • 查看 DAX 度量
  • 检查 DAX 计算列
  • 数据结构分析
  • 检索模式信息
  • 分析表格关系
  • 通过分页访问表格内容

适用场景

  • 自动化处理 Power BI 文件
  • 数据模型分析和优化
  • 批量提取 Power BI 文件中的元数据和查询代码
  • 开发 Power BI 相关工具和插件

工具列表

工具名称 类别 描述
load_pbix_file Core 加载 Power BI (.pbix) 文件进行分析
get_tables Model 列出模型中的所有表格
get_metadata Model 获取 Power BI 配置的元数据
get_power_query Query 显示用于数据转换的所有 M/Power Query 代码
get_m_parameters Query 显示所有 M 参数的值
get_model_size Model 获取模型的大小(字节)
get_dax_tables Query 查看 DAX 计算表
get_dax_measures Query 通过表格或度量名称过滤访问 DAX 度量
get_dax_columns Query 通过过滤选项访问计算列的 DAX 表达式
get_schema Structure 获取数据模型模式和列类型的详细信息
get_relationships Structure 获取数据模型关系的详细信息
get_table_contents Data 通过分页检索指定表格的内容
get_statistics Model 获取模型的统计信息(可选过滤)
get_model_summary Model 获取当前 Power BI 模型的全面摘要

常见问题解答

  • 路径问题:在 WSL 中使用时,Windows 路径无法直接访问,需转换为 WSL 路径(如 /mnt/c/Users/name/Downloads/file.pbix)。
  • 工具禁用:可以通过 --disallow 参数禁用特定工具以增强安全性。
  • 分页设置:默认分页大小为 20,可通过 --page-size 参数调整。

使用教程

使用依赖

  1. 确保已安装 Python 和 pip。
  2. 创建并激活虚拟环境: bash python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
  3. 安装依赖: bash pip install mcp pbixray numpy

安装教程

  1. 通过 pip 安装: bash pip install pbixray-mcp-server
  2. 开发模式安装(可选): bash git clone https://github.com/username/pbixray-mcp.git cd pbixray-mcp pip install -e .

调试方式

  1. 使用 MCP Inspector 进行交互式测试: bash source venv/bin/activate mcp dev src/pbixray_server.py
  2. 运行测试脚本: bash python tests/test_with_sample.py python examples/demo.py

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。