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
CData Sync
A Model Context Protocol server for CData Sync, enabling data replication and transformation.
CData Salesforce Data Cloud
A read-only MCP server for Salesforce Data Cloud, powered by CData.
Opera Omnia
Access a rich collection of JSON datasets for games, storytelling, and bot development from the Opera Omnia project.
DigitalOcean Database
Integrate AI-powered IDEs with DigitalOcean managed databases using a DigitalOcean API token.
Dataset Viewer
Interact with the Hugging Face Dataset Viewer API to browse, filter, and get statistics for datasets.
Federal Reserve Economic Data
Access financial datasets from the Federal Reserve Economic Data (FRED) API.
GoldRush
Exposes Covalent's GoldRush blockchain data APIs as MCP resources and tools.
KOSPI/KOSDAQ Stock Server
Provides KOSPI/KOSDAQ stock data, including ticker lookup, OHLCV, market capitalization, and fundamental data.
Aptos Blockchain MCP
Interact with the Aptos blockchain, supporting both testnet and mainnet for AI applications.
MCP BigQuery Server
Securely access BigQuery datasets with intelligent caching, schema tracking, and query analytics via Supabase integration.