PowerBI MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PowerBI MCP Serverlist datasets in my workspace"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PowerBI MCP Server
A Model Context Protocol (MCP) server for interacting with Microsoft PowerBI REST API. This server provides comprehensive tools for data cleaning, transformation, analysis, and visualization within PowerBI.
Features
Resources
List PowerBI workspaces
Browse datasets and reports in workspaces
Access dataset schemas and metadata
Tools
Data Operations
Get workspaces, datasets, reports
Get detailed dataset information
Query datasets with DAX
Refresh datasets
Analyze data quality
Export data to CSV format
Visualization & Reporting
Create and clone reports
Get report pages and structure
Generate visualization suggestions
Create visualization-ready data
Generate DAX measures for specific chart types
Export chart data for external tools
Data Transformation
Create calculated columns
Create measures
Execute custom DAX expressions
Report Management
Create new reports
List existing reports
Get refresh history
Analysis
Analyze data quality across tables
Generate insights from datasets
Performance optimization suggestions
Prompts
Dataset analysis guidance
Dashboard creation assistance
Data cleaning workflows
DAX optimization help
Visualization design recommendations
Dashboard layout guidance
Chart-specific best practices
Prerequisites
PowerBI Service Account: You need access to PowerBI Pro or Premium
Azure App Registration: Register an application in Azure AD with PowerBI API permissions
API Permissions: Grant the following permissions to your Azure app:
Dataset.Read.All
Dataset.ReadWrite.All
Report.Read.All
Report.ReadWrite.All
Workspace.Read.All
Setup
1. Azure App Registration
Go to Azure Portal
Navigate to "Azure Active Directory" > "App registrations"
Click "New registration"
Configure:
Name: PowerBI MCP Server
Supported account types: Accounts in this organizational directory only
Redirect URI: Not needed for this setup
After creation, note down:
Application (client) ID
Directory (tenant) ID
Go to "Certificates & secrets" and create a new client secret
Go to "API permissions" and add PowerBI Service permissions
2. Environment Variables
Create a .env file or set these environment variables:
POWERBI_TENANT_ID=your-tenant-id
POWERBI_CLIENT_ID=your-client-id
POWERBI_CLIENT_SECRET=your-client-secret3. Installation
# Clone the repository
git clone <repository-url>
cd powerbi-mcp-server
# Install dependencies
pip install mcp[cli] httpx pandas openpyxl
# Or using uv
uv add "mcp[cli]" httpx pandas openpyxl4. Running the Server
Development Mode
mcp dev powerbi_server.pyClaude Desktop Integration
mcp install powerbi_server.py --name "PowerBI Server"Direct Execution
python powerbi_server.pyUsage Examples
Analyzing a Dataset
Use the
get_workspacestool to find your workspace IDUse
get_datasetsto find the dataset you want to analyzeUse
get_datasetto get detailed information about the specific datasetUse
get_dataset_schemato understand available tables and columnsUse
analyze_data_qualityto get insights about data completenessUse the "analyze_dataset_prompt" for comprehensive analysis guidance
Creating Visualizations
Use
generate_visualization_suggestionsto get chart recommendationsUse
create_dax_for_visualizationto generate optimized measuresUse
create_visualization_ready_datato format data for chartsUse
create_reportto create PowerBI reportsExport data for external visualization tools if needed
Use visualization prompts for design guidance
Data Transformation
Use
export_data_to_csvto extract raw dataUse
create_calculated_columnto add derived fieldsUse
create_measurefor aggregationsUse the "data_cleaning_prompt" for transformation guidance
API Reference
Authentication
The server uses OAuth 2.0 client credentials flow for authentication. Tokens are automatically refreshed as needed.
Error Handling
All tools return a standardized response format:
{
"success": boolean,
"data": object, // Present on success
"error": string // Present on failure
}Rate Limiting
The PowerBI API has rate limits. The server handles basic retry logic, but you may need to implement additional throttling for high-volume operations.
Troubleshooting
Authentication Issues
Verify your Azure app registration has the correct permissions
Ensure the client secret hasn't expired
Check that the tenant ID is correct
API Permissions
Make sure your app has admin consent for PowerBI API permissions
Verify the service principal has access to the required workspaces
Data Access
Ensure your Azure app has been granted access to PowerBI workspaces
Check if datasets require specific permissions for programmatic access
Security Considerations
Secrets Management: Never commit credentials to version control
Least Privilege: Only grant necessary PowerBI permissions
Token Security: Tokens are stored in memory and automatically refreshed
Network Security: Use HTTPS in production deployments
Contributing
Contributions are welcome! Please ensure you:
Follow the existing code style
Add appropriate error handling
Update documentation for new features
Test thoroughly with different PowerBI configurations
License
MIT License - see LICENSE file for details.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pkduongsu/powerbi-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server