Power BI MCP Servers
Integrate with Power BI using a local server for offline .pbix file analysis and an Azure server for querying live datasets.
š„ Power BI MCP Servers
Dual Power BI integration for Claude Desktop - Local .pbix analysis + Live Azure API queries
⨠Features
This repository provides two complementary MCP servers for comprehensive Power BI integration:
š Local Analysis Server (pbixray-mcp-server)
- Analyze local
.pbixfiles without cloud connection - Extract DAX measures, Power Query M code, relationships
- Explore data model structure and table contents
- Perfect for offline analysis and documentation
āļø Azure Live API Server (powerbi-azure-mcp)
- Query live Power BI datasets via REST API
- Execute DAX queries in real-time
- List workspaces, datasets, and table schemas
- Authenticate with Azure service principal
š Quick Start
Prerequisites
- Claude Desktop installed
- Node.js 18+ and Python 3.8+
- Azure service principal with Power BI permissions (for live API)
Installation
-
Clone this repository:
git clone https://github.com/anix-lynch/powerbi-mcp-servers.git cd powerbi-mcp-servers -
Setup Local Server:
cd pbixray-mcp-server python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install mcp pbixray numpy "mcp[cli]" -
Setup Azure Server:
cd ../powerbi-azure-mcp npm install cp .env.example .env # Edit .env with your Azure credentials -
Configure Claude Desktop: Add to your MCP configuration:
{ "mcpServers": { "powerbi-local": { "command": "bash", "args": ["-c", "source ~/path/to/pbixray-mcp-server/venv/bin/activate && python ~/path/to/pbixray-mcp-server/src/pbixray_server.py --max-rows 100"] }, "powerbi-azure": { "command": "node", "args": ["/path/to/powerbi-azure-mcp/src/server.mjs"] } } }
š® Usage Examples
Local File Analysis
"Load this PBIX file: /Users/username/Downloads/sales-report.pbix"
"What tables are in this model?"
"Show me all DAX measures from the Sales table"
"Get the Power Query M code"
Live Azure Queries
"Test my Power BI connection"
"List all my Power BI workspaces"
"Execute this DAX query: EVALUATE Sales"
"Show me table schema for dataset [dataset-id]"
š§ Configuration
Azure Setup
Create a service principal with these permissions:
Dataset.Read.AllWorkspace.ReadWrite.All
Environment Variables
AZURE_CLIENT_ID=your-app-id
AZURE_CLIENT_SECRET=your-client-secret
AZURE_TENANT_ID=your-tenant-id
š Project Structure
powerbi-mcp-servers/
āāā pbixray-mcp-server/ # Local .pbix analysis
ā āāā src/pbixray_server.py # Python MCP server
ā āāā demo/ # Sample files
ā āāā requirements.txt
āāā powerbi-azure-mcp/ # Live Azure API
ā āāā src/server.mjs # Node.js MCP server
ā āāā package.json
ā āāā .env.example
āāā docs/ # Documentation
šÆ Available Tools
Local Server Tools
load_pbix_file- Load Power BI file for analysisget_tables- List all tables in the modelget_dax_measures- Access DAX measures with filteringget_power_query- Display M/Power Query codeget_relationships- Get data model relationshipsget_table_contents- Retrieve table data with pagination
Azure Server Tools
test_connection- Test Azure authenticationlist_workspaces- List accessible workspaceslist_datasets- Browse datasets in workspaceexecute_dax_query- Run DAX queries against live dataget_dataset_tables- Explore table schemasget_dataset_info- Get dataset metadata
š¤ Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š Credits
- PBIXRay - Power BI file analysis library
- Model Context Protocol - MCP specification
- Microsoft Power BI REST API
Built with ā¤ļø for the Claude + Power BI community
Related Servers
Singapore LTA MCP Server
Access real-time transportation data from Singapore's LTA DataMall API, including bus arrivals and traffic conditions.
PostgreSQL
Provides read-only access to PostgreSQL databases, allowing LLMs to inspect schemas and execute queries.
Advanced Memory Bank MCP
An intelligent memory management server with 14 optimized tools. It provides AI-powered summaries, a clean interface, and supports an optional PostgreSQL database with pgvector.
SQLite
MCP server for SQLite files. Supports Datasette-compatible metadata!
ClickHouse
An MCP server for interacting with a ClickHouse database.
Multi Database MCP Server
An MCP server that provides AI assistants with structured access to multiple databases simultaneously.
ADO.NET MCP Server
A C# MCP server for interacting with databases via ADO.NET, compatible with Virtuoso.
SchemaCrawler
Connect to any relational database, and be able to get valid SQL, and ask questions like what does a certain column prefix mean.
MCP MariaDB Server
Manage and query MariaDB databases using the Model Context Protocol (MCP), with support for SQL and vector search.
MySQL Server
A server for performing MySQL database operations.