powerbi-local
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-localWhat tables and measures are in the Power BI model I have open?"
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.
Power BI Local MCP Server (Python)
Servidor MCP que conecta ao motor Analysis Services Tabular local que o
Power BI Desktop expõe enquanto está com um arquivo aberto. Funciona com
.pbix e .pbip. 100% local: sem Azure AD, sem login online, sem publicar
nada na nuvem.
Pré-requisitos
Windows. O driver ADOMD.NET e a descoberta de porta são específicos de Windows.
Python 3.10+ (
python --version)..NET Runtime 8 — download. Não é o .NET Framework que já vem no Windows: o driver roda sobre o .NET moderno (CoreCLR). O Runtime basta; o SDK não é necessário.
Power BI Desktop, com um arquivo aberto na hora do uso.
Você não precisa do SQL Server Management Studio. O driver ADOMD.NET é
baixado direto do nuget.org (~2 MB) pelo driver_setup.py.
Related MCP server: mcp-powerbi-desktop
Instalar
Rode o instalar.bat (duplo clique), ou manualmente:
pip install -r requirements.txt
python driver_setup.pyO driver_setup.py baixa o pacote NuGet oficial
Microsoft.AnalysisServices.AdomdClient.NetCore.retail.amd64 e extrai os
DLLs para vendor/. Se a máquina já tiver o driver no cache do NuGet ou no
GAC, ele reaproveita e não baixa nada.
Instalar como plugin do Claude Code
Este repositorio e um plugin do Claude Code e tambem um marketplace de um plugin so. Para instalar:
/plugin marketplace add djorshuam/claude-mcp-powerbi
/plugin install powerbi-local@powerbi-local-marketplaceDepois de instalar, rode /powerbi-setup uma vez: ele instala as
dependencias Python, confere o runtime .NET e baixa o driver ADOMD.
Se voce tem varias versoes de Python, informe o caminho completo do
python.exe na opcao Caminho do python.exe do plugin -- e o mesmo
problema que o command do Claude Desktop resolve, so que pela config do
plugin.
O plugin traz:
o servidor MCP
powerbi-localcom as 5 ferramentasa skill
powerbi-analysis, que ensina o fluxo correto (porta primeiro) e as armadilhas de DAX/DMVo comando
/powerbi-setuppara diagnostico
Configurar no Claude Desktop
No claude_desktop_config.json:
{
"mcpServers": {
"powerbi-local": {
"command": "C:\\Python314\\python.exe",
"args": ["C:\\CAMINHO\\PARA\\powerbi-mcp-python\\server.py"]
}
}
}Use o caminho completo do python.exe, não só "python", se houver
mais de uma versão instalada — o Claude Desktop pode resolver para uma que
não tem as dependências.
Salve e reinicie o Claude Desktop completamente.
Ferramentas
Ferramenta | O que faz |
| Descobre instâncias abertas do Power BI e suas portas |
| Lista modelos disponíveis numa porta |
| Lista tabelas visíveis do modelo |
| Lista medidas com a expressão DAX completa |
| Executa |
Comece sempre por list_open_instances para obter a porta.
Testar manualmente
python server.pyO processo fica esperando input via stdio — é o comportamento normal de um servidor MCP, não um travamento. Ctrl+C para sair.
Notas de implementação
Coisas que custaram tempo para descobrir e que não são óbvias:
pythonnet.load("coreclr")antes deimport clr. No pythonnet 3.x o runtime .NET não é carregado sozinho, e sem isso oclr.AddReferencefalha em resolver os tipos do assembly.A pasta de workspace muda conforme a instalação do Power BI. Versão MSI usa
%LOCALAPPDATA%\Microsoft\Power BI Desktop\; versão da Microsoft Store usa%USERPROFILE%\Microsoft\Power BI Desktop Store App\. Opbi_discovery.pyvarre as duas.msmdsrv.port.txté UTF-16 little-endian sem BOM.Os DMVs aceitam só um subconjunto restrito de SQL. Não permitem
WHEREsobre coluna booleana (WHERE [IsHidden] = FALSEfalha com "Uma expressão Booliana não é permitida no contexto") nemINNER JOIN. Por isso o filtro de tabelas ocultas e o cruzamento medida→tabela são feitos em Python.
Limitações conhecidas
Só enxerga instâncias do usuário Windows atual (lê
%USERPROFILE%).run_dax_querytrunca em 500 linhas.Somente leitura: não cria nem altera medidas.
Requer acesso a
nuget.orgna primeira instalação. Em rede corporativa com proxy bloqueando, copie a pastavendor/de outra máquina.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Governed BI MCP. Ask questions of live company data and list workspace sources via OAuth.
Query Allen-Bradley and Siemens PLC projects, live tag values, and analyses in plain English.
Query, join, profile, clean and convert CSV/JSON/Parquet with server-side DuckDB over MCP.
Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…
Related MCP Servers
- AlicenseCqualityBmaintenanceLocal-first MCP server for Power BI Desktop automation. Automate semantic model changes, DAX, Power Query, Excel, and report layout from MCP-capable AI clients.1001MIT
- FlicenseNot gradedqualityCmaintenanceModel Context Protocol server that enables querying and modifying live Power BI Desktop models by connecting to the in-memory Analysis Services engine.
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to discover and interact with local Power BI Desktop instances, including inspecting table/column schema and executing DAX queries.2
- AlicenseAqualityAmaintenanceEnables local Power BI project (.pbip) automation, including model (TMDL) and report (PBIR) layer manipulation, without cloud dependencies. Provides 56 tools for building, editing, and validating reports and measures through natural language prompts.13MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/djorshuam/claude-mcp-powerbi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server