The MCP server connects Claude AI to Power BI Desktop, enabling AI-driven querying and analysis of Power BI models. It lets users explore data, run DAX queries, and retrieve metadata seamlessly within Claude. The integration runs locally on Windows, using Python and .NET for smooth communication.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"powerbi": {
"args": [
"C:\\Path\\To\\Your\\powerbi_mcp_server.py"
],
"command": "C:\\Path\\To\\Your\\venv\\Scripts\\python.exe"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Model Context Protocol (MCP) server that enables Claude to interact with Power BI Desktop through the XMLA endpoint using Analysis Services.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
Model Context Protocol (MCP) Python SDK does not enable DNS rebinding protection by default
### Description The Model Context Protocol (MCP) Python SDK does not enable DNS rebinding protection by default for HTTP-based servers. When an HTTP-based MCP server is run on localhost without authentication using `FastMCP` with streamable HTTP or SSE transport, and has not configured `TransportSecuritySettings`, a malicious website could exploit DNS rebinding to bypass same-origin policy restrictions and send requests to the local MCP server. This could allow an attacker to invoke tools or ac
MCP Python SDK vulnerability in the FastMCP Server causes validation error, leading to DoS
A validation error in the MCP SDK can cause an unhandled exception when processing malformed requests, resulting in service unavailability (500 errors) until manually restarted. Impact may vary depending on the deployment conditions, and presence of infrastructure-level resilience measures. Thank you to Rich Harang for reporting this issue.
MCP Python SDK has Unhandled Exception in Streamable HTTP Transport, Leading to Denial of Service
If a client deliberately triggers an exception after establishing a streamable HTTP session, this can lead to an uncaught ClosedResourceError on the server side, causing the server to crash and requiring a restart to restore service. Impact may vary depending on the deployment conditions, and presence of infrastructure-level resilience measures. Thank you to Rich Harang for reporting this issue.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in analytics
MCP Server for GCP environment for interacting with various Observability APIs.
⚡ A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.
MCP server for InsightSentry financial data API - market data, options, screeners, and more
MCP server for Google Lighthouse performance metrics
MCP Security Weekly
Get CVE alerts and security updates for Power BI Custom MCP Server With Python Claude AI Integration and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Model Context Protocol (MCP) server that enables Claude to interact with Power BI Desktop through the XMLA endpoint using Analysis Services.
This MCP server allows Claude to:
git clone <your-repo-url>
cd Claude-Power-BI-Integration
python -m venv venv
Windows:
venv\Scripts\activate
Linux/Mac:
source venv/bin/activate
pip install mcp pythonnet
Add the following configuration to your Claude Desktop config file:
Location: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"powerbi": {
"command": "C:\\Path\\To\\Your\\venv\\Scripts\\python.exe",
"args": [
"C:\\Path\\To\\Your\\powerbi_mcp_server.py"
]
}
}
}
Example Configuration:
{
"mcpServers": {
"powerbi": {
"command": "D:\\Job Preparation\\Personnel Work\\Python - Technology\\VS Code Python Code\\Claude-Power BI-Intergration\\venv\\Scripts\\python.exe",
"args": [
"D:\\Job Preparation\\Personnel Work\\Python - Technology\\VS Code Python Code\\Claude-Power BI-Intergration\\powerbi_mcp_server.py"
]
}
}
}
Important: Replace the paths with your actual project paths. Use double backslashes (\\) or forward slashes (/) in JSON.
Python executable path:
where python
# Or if in virtual environment
venv\Scripts\python.exe
Script path:
powerbi_mcp_server.pyEnsure Power BI Desktop is running with a report/model open.
After updating the configuration, restart Claude Desktop to load the MCP server.
In Claude, you can ask:
"Can you connect to my Power BI model?"
Claude will use the MCP server to connect and retrieve model information.
The MCP server provides the following tools to Claude:
| Tool | Description |
|---|---|
get_powerbi_models | Get all Power BI models in the active report |
get_model_tables | List all tables in the model |
get_table_columns | Get columns from a specific table |
execute_dax_query | Execute DAX queries against the model |
get_measures | Retrieve all measures (optionally filtered by table) |
get_relationships | Get all relationships in the model |
get_report_pages | Get report pages (limited - requires COM) |
get_page_visuals | Get visuals from a page (limited - requires COM) |
Once configured, you can ask Claude: