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.
{
"mcpServers": {
"power-bi-custom-mcp-server-with-python-claude-ai-integration": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
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.
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
License not specified.
Is it maintained?
Last commit 149 days ago. 7 stars.
Will it work with my client?
Transport: stdio. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Dynamic problem-solving through sequential thought chains
A Model Context Protocol server for searching and analyzing arXiv papers
An open-source AI agent that brings the power of Gemini directly into your terminal.
The official Python SDK for Model Context Protocol servers and clients
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: