PBIXRay MCP Server V2

PBIXRay MCP Server V2

Enables Claude AI to analyze Power BI Desktop models with comprehensive capabilities including DAX analysis, performance monitoring with Storage Engine/Formula Engine breakdown, VertiPaq statistics, and natural language querying of model structure and data.

Category
Visit Server

README

PBIXRay MCP Server V2 - Enhanced Edition

Version: 2.0 Enhanced
Status: Production Ready Last Updated: 2025-10-04

What is This?

The PBIXRay MCP Server V2 is a Model Context Protocol (MCP) server that enables Claude AI to analyze Power BI Desktop models with advanced performance analysis capabilities including Storage Engine (SE) and Formula Engine (FE) breakdown.

Key Features

  • Auto-detect Power BI Desktop instances
  • Full Model Exploration - Tables, columns, measures, relationships
  • DAX Analysis - Measures, calculated columns, with expressions
  • Power Query (M) - View data source configurations
  • Performance Analysis - Advanced SE/FE timing with SessionTrace
  • VertiPaq Stats - Storage and compression metrics
  • Search Capabilities - Find objects and text across the model
  • Natural Language - Ask Claude questions about your model

System Requirements

  • OS: Windows 10/11 (64-bit)
  • .NET Framework: 4.7.2+ (usually pre-installed)
  • Power BI Desktop: Latest version recommended
  • Claude Desktop: Latest version
  • Disk Space: ~200 MB

Quick Start

1. Extract the Package

Extract the entire folder to your preferred location, for example:

C:\Tools\pbixray-mcp-server

2. Verify Installation (Optional)

cd C:\Tools\pbixray-mcp-server
.\scripts\test_connection.ps1

3. Configure Claude Desktop

.\scripts\install_to_claude.ps1

This will automatically configure Claude Desktop for you.

4. Restart Claude Desktop

  • Fully close Claude Desktop (check Task Manager)
  • Reopen Claude Desktop

5. Test It!

  1. Open Power BI Desktop with a .pbix file
  2. In Claude, say: "Detect my Power BI Desktop instances"
  3. Say: "Connect to instance 0"
  4. Say: "What tables are in this model?"

You are now analyzing Power BI with Claude AI!

Documentation

  • Quick Reference - docs/QUICK_REFERENCE.md - Command cheat sheet
  • FAQ - docs/FAQ.md - Frequently asked questions
  • Troubleshooting - docs/TROUBLESHOOTING.md - Common issues
  • Deployment Guide - docs/DEPLOYMENT_GUIDE.md - Team deployment

Available Tools

Key tools available:

  • detect_powerbi_desktop - Find running Power BI instances
  • connect_to_powerbi - Connect to a specific instance
  • list_tables - List all tables in the model
  • list_measures - List DAX measures
  • describe_table - Get detailed table information
  • run_dax_query - Execute DAX queries
  • analyze_query_performance - SE/FE performance analysis
  • get_vertipaq_stats - Storage and compression metrics
  • search_objects - Find tables, columns, measures
  • export_model_schema - Export complete model structure

Folder Structure

pbixray-mcp-server/
├── venv/              # Python environment (portable)
├── src/               # Server source code
├── lib/dotnet/        # Analysis Services DLLs
├── docs/              # Documentation
├── scripts/           # Helper scripts
├── config/            # Configuration templates
├── logs/              # Auto-generated logs
└── requirements.txt   # Python dependencies

Example Usage

You: "Analyze the performance of this DAX query"

Claude: [Runs analyze_query_performance with 3 runs]

Results:
- Total: 245ms
- Storage Engine: 189ms (77%)
- Formula Engine: 56ms (23%)
- SE Queries: 12

The query is SE-heavy, indicating most time is spent 
retrieving data. Consider adding filters to reduce 
the amount of data scanned.

Maintenance

Update Python Packages

.\venv\Scripts\pip.exe install --upgrade -r requirements.txt

Verify Health

.\verify_installation.ps1 -Verbose

For Team Distribution

To package for colleagues:

.\scripts\package_for_distribution.ps1

This creates a ready-to-share ZIP file on your Desktop.

Troubleshooting

No instances detected?

  • Ensure Power BI Desktop is running
  • Open a .pbix file (not just Power BI)
  • Wait 10-15 seconds after opening

Connection fails?

  • Verify instance index (usually 0)
  • Restart Power BI Desktop
  • Check docs/TROUBLESHOOTING.md

Claude does not see the server?

  • Run: .\scripts\install_to_claude.ps1
  • Restart Claude Desktop completely
  • Check JSON syntax in config

Credits

Built with:

  • MCP SDK - Model Context Protocol
  • Python.NET - CLR integration
  • Analysis Services Client Libraries - Microsoft
  • Power BI Desktop - Microsoft

Version History

  • V2.0 Enhanced (Oct 2025) - SessionTrace integration, improved SE/FE analysis
  • V2.0 (Oct 2025) - WMI-based detection, stability improvements
  • V1.0 (Sep 2025) - Initial release

Privacy and Security

  • All processing is local - No data sent to external servers
  • Localhost only - Binds to 127.0.0.1
  • No network exposure - Completely offline capable
  • Claude conversations - May be stored by Anthropic (review their policy)

Happy Analyzing!

For questions or issues, see the FAQ or Troubleshooting Guide in the docs folder.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured