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
NocoDB
Manage NocoDB server, support read and write databases
MariaDB / MySQL
Access and manage MariaDB or MySQL databases using an MCP server.
NFTGo MCP
Access the NFTGo Developer API for comprehensive NFT data and analytics. Requires an NFTGo API key.
Data Exploration
MCP server for autonomous data exploration on .csv-based datasets, providing intelligent insights with minimal effort.
NocoDB MCP Server
An MCP server for NocoDB, the open-source Airtable alternative. It allows interaction with your NocoDB instance via API.
Seatable
A comprehensive Model Context Protocol (MCP) server for SeaTable that exposes endโtoโend database capabilities (schema introspection, CRUD, querying, linking, select option management, and file attachment stubs) through 18+ rigorously defined tools.
MySQL Server
A server for performing MySQL database operations.
Knowledge Graph Memory Server
Enables project memory using a Kuzu-powered knowledge graph.
Uniswap Pools MCP
Query Uniswap pools and pairs by token address for structured data.
CData Square Server
A read-only MCP server for querying live data from Square using the CData JDBC Driver.