fx

Power BI

Power BI via MCP

Como configurar o Claude para conversar com o Power BI usando MCP.

Atualizado em 03/10/2026. A Microsoft agora chama o servidor de modelagem de Power BI Authoring MCP server. A versão local (o pacote @microsoft/powerbi-modeling-mcp usado nesta página) está em disponibilidade geral (GA); a versão hospedada no Fabric continua em preview. Na dúvida, confira os links oficiais no fim da página.

Há dois caminhos. Escolha pelo lugar onde o modelo está:

Local (Power BI Authoring MCP, GA)Remoto (servidores hospedados no Fabric, preview)
ModeloAberto no Power BI Desktop, pasta PBIP/TMDL ou workspace do FabricPublicado em workspace do Power BI/Fabric
Instala algo?Node.js + 1 bloco no arquivo de configuraçãoNada no computador; o admin registra um app no Entra
Onde usarClaude Desktop (Windows) ou VS Code com GitHub CopilotClaude Desktop e claude.ai, como conector
Pode alterar o modelo?Sim, ou só leitura com --readonlyConsumption: só leitura. Authoring: leitura e escrita
Exige admin?NãoSim: configuração de tenant + app no Entra

💡 Para o dia a dia de quem desenvolve no Power BI Desktop, use o local.

💡 Para o agente seguir o seu padrão ao alterar o modelo, combine o MCP com as skills: veja Usar junto com as skills oficiais da Microsoft.


Caminho 1 — Local (Power BI Desktop)

Duas opções: A. Claude Desktop (passos 1 a 7) ou B. VS Code com GitHub Copilot (mais abaixo).

Opção A — Claude Desktop

Antes de começar

Tempo15 a 20 minutos
NívelIniciante
SistemaWindows 10 ou 11 (o Power BI Desktop só roda no Windows)
CustoServidor MCP e Node.js gratuitos
ConceitoO que significa na prática
MCPModel Context Protocol: canal que deixa o Claude conversar com outros programas, como o Power BI
Servidor MCPPrograma que roda em segundo plano e faz a ponte entre o Claude e o modelo
Claude DesktopO Claude instalado no computador. É ele que roda servidores MCP locais; o claude.ai no navegador só usa MCP remoto
Node.jsPlataforma gratuita que baixa e executa o servidor com o comando npx

Sobre segurança: o servidor lê a estrutura do modelo (tabelas, colunas, medidas, relacionamentos) e pode executar consultas DAX. O que ele lê vai para o Claude como contexto da conversa. Não use em modelo com dado pessoal ou sigiloso sem autorização.

Passo 1 — Instalar o Node.js

  1. Acesse nodejs.org e baixe a versão LTS.
  2. Execute o instalador e aceite as opções padrão.
  3. Confira: abra o PowerShell e digite node --version. Deve aparecer v18 ou superior.

Passo 2 — Instalar o Claude Desktop

  1. Acesse claude.ai/download e baixe a versão para Windows.
  2. Instale e faça login com a mesma conta do claude.ai.

Se já tem o Claude Desktop, confira se está atualizado.

Passo 3 — Abrir o arquivo de configuração

  1. No Claude Desktop, abra as Configurações do aplicativo (menu do app, não as configurações da conta).
  2. Vá em Desenvolvedor → Editar configuração (Developer → Edit Config).
  3. O Claude abre a pasta com o arquivo claude_desktop_config.json, criando o arquivo se ele não existir. Abra-o no Bloco de Notas.

O arquivo fica em %APPDATA%\Claude\claude_desktop_config.json.

Passo 4 — Colar a configuração

Se o arquivo estiver vazio ou só com {}, substitua tudo por:

{
  "mcpServers": {
    "powerbi-modeling-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@microsoft/powerbi-modeling-mcp@latest", "--start", "--readonly"]
    }
  }
}
  • npx baixa o servidor oficial da Microsoft e sempre usa a versão mais recente. Não há caminho de pasta para achar nem barra invertida para dobrar.
  • --readonly é o modo seguro: o Claude lê e consulta o modelo, mas não altera nada. Comece assim.

Já existe outro servidor no arquivo? Não apague: acrescente só o bloco "powerbi-modeling-mcp": { ... } dentro de "mcpServers", separado por vírgula do bloco anterior.

Salve com Ctrl+S.

Passo 5 — Reiniciar o Claude Desktop

Feche o Claude Desktop por completo, inclusive o ícone na bandeja do Windows (perto do relógio: botão direito → Sair), e abra de novo. Não precisa reiniciar o computador.

Na primeira vez, o npx baixa o servidor; pode levar alguns segundos.

Passo 6 — Conferir e testar

  1. Na caixa de mensagem, clique em + → Conectores → Gerenciar conectores. O powerbi-modeling-mcp deve aparecer na lista, com as ferramentas dele.
  2. Abra o Power BI Desktop com o arquivo carregado.
  3. Conecte, trocando pelo nome do seu arquivo:
    Connect to 'Vendas 2026' in Power BI Desktop
  4. Depois da confirmação, teste:
    Liste todas as tabelas e medidas do modelo que está aberto.

Se o Claude listar as tabelas e medidas certas, está pronto.

Passo 7 — Liberar alterações (quando precisar)

Para o Claude criar ou editar medidas, tire "--readonly" da lista args, salve e reinicie o Claude Desktop. Sem ele, o servidor pede sua confirmação antes de cada alteração.

⚠️ Salve uma cópia do arquivo antes de pedir alterações. A própria Microsoft recomenda backup: o modelo de IA pode errar e alterar o que não devia.

⚠️ Não use a opção --skipconfirmation: ela aprova as alterações sem perguntar.

⚠️ Não registre o servidor local e o remoto de autoria ao mesmo tempo no mesmo cliente: o agente passa a ver dois conjuntos de ferramentas parecidos, escolhe mal entre eles e gasta mais tokens. Use o local para o Power BI Desktop e arquivos PBIP; o remoto para modelos em workspaces do Fabric.

ℹ️ As ferramentas de consulta DAX do servidor retornam no máximo 100 mil linhas.

Opção B — VS Code com GitHub Copilot

Prefere trabalhar no VS Code? É o caminho que a Microsoft recomenda em primeiro lugar. O servidor roda dentro do chat do GitHub Copilot, sem Node.js e sem arquivo de configuração.

  1. Instale o Visual Studio Code.
  2. Instale a extensão GitHub Copilot Chat e entre com sua conta do GitHub Copilot.
  3. Instale a extensão Power BI Modeling MCP. Confira o publicador: Microsoft (Analysis Services).
  4. Abra o chat do Copilot e, na lista de ferramentas, confirme que powerbi-modeling-mcp aparece e está selecionado.
  5. Abra o Power BI Desktop com o arquivo e conecte: Connect to '<nome do arquivo>' in Power BI Desktop.

⚠️ O powerbi-modeling-mcp não aparece na lista de ferramentas? Confira se a opção MCP servers in Copilot está ligada nas configurações do Copilot em GitHub.com. Em conta de empresa, quem liga é o admin.

💡 Os prompts de exemplo desta página funcionam igual no Copilot.

Usar o servidor da extensão no Claude Desktop

Dá para apontar o Claude Desktop para o .exe que a extensão instalou, em vez do npx. O caminho fica em %USERPROFILE%\.vscode\extensions\analysis-services.powerbi-modeling-mcp-<versão>-win32-x64\server\powerbi-modeling-mcp.exe. No JSON, cada \ vira \\:

{
  "mcpServers": {
    "powerbi-modeling-mcp": {
      "type": "stdio",
      "command": "C:\\Users\\SeuNome\\.vscode\\extensions\\analysis-services.powerbi-modeling-mcp-0.x.x-win32-x64\\server\\powerbi-modeling-mcp.exe",
      "args": ["--start", "--readonly"]
    }
  }
}

⚠️ O número da versão faz parte do caminho. Quando o VS Code atualiza a extensão, a pasta muda e o Claude perde o servidor sem avisar: atualize o caminho no JSON a cada atualização. Por isso a Opção A (npx) é a recomendada para o Claude Desktop.

Além do Power BI Desktop

O mesmo servidor também conecta a:

  • Pasta de um projeto PBIP (a definição TMDL do modelo), sem abrir o Desktop.
  • Modelo publicado em workspace do Fabric, com login da sua conta Microsoft.

Peça em linguagem natural, por exemplo: "Conecte ao modelo 'Vendas' no workspace 'Comercial' do Fabric".


Caminho 2 — Remoto (servidores hospedados, preview)

A Microsoft hospeda dois servidores MCP no Fabric:

ServidorEndereçoFaz
Consumptionhttps://api.fabric.microsoft.com/v1/mcp/powerbiSó leitura: esquema do modelo, consulta DAX, metadados do relatório
Authoringhttps://api.fabric.microsoft.com/v1/mcp/powerbi/authoringLeitura e escrita em modelos de workspaces do Fabric

💡 No Mac, este é o caminho: o servidor local não roda no macOS.

ℹ️ Para responder perguntas de negócio em linguagem natural sobre os dados, a Microsoft agora recomenda o Fabric IQ MCP (https://fabriciq.svc.cloud.microsoft/v1/mcp/fabriciq). O Consumption segue documentado para integrações que já existem. Não use o Authoring para consumo: ele roda DAX só para validar o modelo que você está construindo.

Pré-requisitos (normalmente com o time de TI):

  1. O admin do Power BI liga a configuração de tenant Users can use the Power BI Model Context Protocol server endpoint (preview).
  2. Você tem permissão de Build no modelo semântico.
  3. Um admin cria um registro de aplicativo no Microsoft Entra:
    • URI de redirecionamento (Mobile and desktop applications): https://claude.ai/api/mcp/auth_callback
    • Permissões delegadas do Power BI Service: Workspace.Read.All, mais Dataset.Read.All (Consumption) ou SemanticModel.ReadWrite.All (Authoring).
    • Anote o Application (client) ID.

No Claude:

  1. Configurações → Conectores → Adicionar conector personalizado.
  2. Nome: Power BI. URL: um dos endereços acima. Em opções avançadas, cole o OAuth Client ID do app do Entra.
  3. Salve. O Claude abre o login da Microsoft para você autorizar.

⚠️ Com autenticação por entidade de serviço, o Power BI não aplica RLS. Avalie antes de expor um agente assim a outros usuários.

⚠️ A ferramenta de gerar DAX a partir de linguagem natural (Generate Query) exige licença do Copilot no Power BI.


Fluxo de trabalho diário (caminho local)

  1. Abra o Power BI Desktop com o arquivo.
  2. Abra o Claude Desktop.
  3. Conecte: Connect to '<nome do arquivo>' in Power BI Desktop.
  4. Descreva o que precisa, em português.
  5. Revise o que o Claude sugeriu antes de aprovar.
  6. Salve o arquivo no Power BI depois das alterações.

Prompts de exemplo

Os nomes seguem o padrão de nomenclatura da Function Library: prefixo técnico (TabFat, TabDim) só na camada física e nome de negócio no que o usuário vê.

Inspecionar o modelo (funciona em --readonly):

  • "Liste todas as medidas da tabela Vendas e diga quais usam CALCULATE."
  • "Mostre as dependências entre medidas: quais medidas usam outras medidas?"
  • "Quais tabelas não têm relacionamento com nenhuma outra?"
  • "Quais medidas não são usadas por nenhuma outra medida? Liste-as."

Criar medidas (exige tirar o --readonly):

  • "Crie a medida Ticket Médio dividindo Total de Vendas por # Pedidos com DIVIDE. Use os nomes exatamente como estão no modelo."
  • "Crie Total de Vendas AV e Total de Vendas AA com SAMEPERIODLASTYEAR. A tabela de datas é Calendário, coluna Data. Coloque na pasta 'Comparativo'."
  • "Crie Δ% Total de Vendas a partir de Total de Vendas AV e AA, com formato de percentual."

Auditar:

  • "Verifique se algum objeto visível do modelo tem prefixo técnico (Tab, Vw, Cns). Liste e sugira o nome de negócio."
  • "Liste colunas numéricas com resumo automático ligado e chaves que não estão ocultas."
  • "Analise os tipos de dados e aponte onde dá para ganhar compressão. Mostre antes de aplicar."

Consultar dados:

  • "Para Calendário[Ano] = 2025 e Calendário[Mês] = 12, traga Realizado, Meta, Atingimento e Ticket Médio."
  • "Valide esta medida e aponte problemas de contexto de filtro: [cole a medida]"

Dica: quanto mais contexto (nomes exatos de tabela e coluna, o que conta como "problema"), melhor a resposta.

Resolução de problemas

ProblemaCausa provávelSolução
O servidor não aparece em Gerenciar conectoresJSON inválido ou Claude não foi fechado por completoConfira aspas, vírgulas e chaves; saia pela bandeja e abra de novo
Erro "npx não é reconhecido" ou ENOENTNode.js ausente ou instalado depois do ClaudeInstale o Node.js LTS e reinicie o Claude Desktop
Erro citando ${APPDATA} no logVariável não expandidaEm "env", informe "APPDATA": "C:\\Users\\SeuNome\\AppData\\Roaming\\"
Demora na primeira conexãoO npx está baixando o servidorAguarde; nas próximas vezes é rápido
Rede da empresa bloqueia o downloadProxy ou firewall barra o npmPeça à TI para liberar registry.npmjs.org
Claude não conecta ao Power BIPower BI fechado ou sem arquivo carregadoAbra o arquivo e repita o comando de conexão
Claude vê o modelo erradoMais de um arquivo abertoDiga o nome do arquivo no comando de conexão
Claude se recusa a criar medidaServidor em --readonlyVeja o Passo 7

Os logs ficam em %APPDATA%\Claude\logs; o do servidor é mcp-server-powerbi-modeling-mcp.log.

Fontes oficiais