PBIXRay MCP Server logo

PBIXRay MCP Server

by jonaolden

The PBIXRay MCP Server exposes the capabilities of PBIXRay as tools and resources for LLM clients to interact with Power BI (.pbix) files. It allows for loading, analyzing, and querying Power BI data models using natural language.

View on GitHub

Last updated: N/A

What is PBIXRay MCP Server?

The PBIXRay MCP Server is a Model Context Protocol (MCP) server that provides an interface for Large Language Models (LLMs) to interact with Power BI (.pbix) files. It enables LLMs to load, analyze, query, and extract information from Power BI data models.

How to use PBIXRay MCP Server?

To use the server, configure your LLM client (e.g., Claude Desktop) with the server's command and arguments, including the path to the pbixray_server.py script. Be mindful of path differences when loading PBIX files in WSL. Use the provided tools with appropriate filtering and pagination options as needed.

Key features of PBIXRay MCP Server

  • Loading and analyzing PBIX files

  • Data model exploration (listing tables, retrieving metadata, checking model size, getting model statistics and summary)

  • Query language access (viewing Power Query (M) code, accessing M Parameters, exploring DAX calculated tables, viewing DAX measures, examining DAX calculated columns)

  • Data structure analysis (retrieving schema information, analyzing table relationships, accessing table contents with pagination)

  • Configurable tool list for security and customization

Use cases of PBIXRay MCP Server

  • Automated data model documentation

  • Natural language querying of Power BI data

  • AI-powered data analysis and insights generation

  • Data lineage tracking and impact analysis

FAQ from PBIXRay MCP Server

How do I install the PBIXRay MCP Server?

You can install it using pip install pbixray-mcp-server or by cloning the repository and installing in development mode.

How do I configure the server for use with Claude Desktop?

Add the server configuration to your client configuration file, specifying the command and arguments to run the pbixray_server.py script.

How do I handle path differences when using WSL?

When using the PBIXRay MCP Server in WSL with Claude Desktop on Windows, you need to be aware of path differences when loading PBIX files. Windows paths cannot be directly accessed in WSL. Instead, use WSL paths when referencing files.

Can I disable specific tools for security reasons?

Yes, the list of tools is configurable. You can use the --disallow command-line option to disable specific tools.

How do I handle large tables when retrieving data?

The get_table_contents tool supports pagination. You can use the page and page_size parameters to retrieve data in smaller chunks.