PBIXRay MCP Server logo

PBIXRay MCP Server

by MCP-Mirror

This MCP server exposes the capabilities of PBIXRay as tools and resources for LLM clients to interact with Power BI (.pbix) files. It allows LLMs to analyze and query Power BI models.

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 leverages the PBIXRay library to expose various tools for analyzing and querying 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, typically involving running a Python script within a WSL environment. Ensure proper path conversion between Windows and WSL when loading PBIX files. You can also use command-line options to customize the server's behavior, such as disabling specific tools or setting maximum row limits. Tools can be called with additional parameters for filtering and pagination.

Key features of PBIXRay MCP Server

  • Loading and analyzing PBIX files

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

  • Query language access (viewing Power Query 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 Power BI model analysis

  • LLM-powered data exploration and discovery

  • Programmatic access to Power BI metadata and data

  • Integration of Power BI data into LLM workflows

FAQ from PBIXRay MCP Server

How do I install the PBIXRay MCP Server?

You can install it using pip: pip install pbixray-mcp-server

How do I configure the server to work with Claude Desktop?

Add the server configuration to your client configuration file, specifying the command and arguments for running the server within WSL.

How do I handle path differences between Windows and WSL?

When using the 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. Use WSL paths when referencing files.

Can I disable specific tools for security reasons?

Yes, you can use the --disallow command-line option to disable specific tools.

How can I retrieve large tables efficiently?

The get_table_contents tool supports pagination to handle large tables efficiently. Use the page and page_size parameters to control pagination.