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.
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?
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?
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?
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?
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?
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.