Servidor MCP

O servidor Power Portals Pro MCP oferece aos assistentes de programação de IA conhecimento direto desse framework enquanto você constrói. É um servidor Model Context Protocol , vem junto com o framework, e não há chave de licença nem nada para se inscrever.

Por que ela existe

Duas coisas que um agente não consegue obter apenas com a documentação, e ambas causam código quebrado:

O que ela responde

Nota

Toda ferramenta do Dataverse lê metadados. Nenhuma delas lê, grava ou deletura um registro, então apontar um agente para um ambiente de produção permite que ele aprenda a forma dos seus dados sem poder mexer neles.

Adicioná-lo a um projeto

Dois lugares onde pode viver

Há aqui um jogo de ovo e galinha que vale a pena ser explícito. Os templates escrevem a configuração no projeto que criam — mas o servidor é mais útil antes mesmo que esse projeto exista, quando você está escolhendo um template e suas opções. Então instale-o uma vez para você e deixe o arquivo por projeto assumir a partir daí.

Uma vez por máquina, para qualquer pasta

Isso torna o servidor disponível em todos os lugares, inclusive em uma pasta vazia que você está prestes a instalar. Ele pode então responder qual template usar, o que significam as opções e o que configurar depois. Deliberadamente desfixado, para rastrear a versão mais recente:

O Visual Studio lê um nível .mcp.json de usuário da sua pasta de perfil, o Cursor usa ~/.cursor/mcp.json, e o VS Code tem uma configuração MCP em nível de usuário em suas configurações. Cada um ocupa o mesmo servers bloco.

Por projeto, fixado em sua versão

Projetos criados a partir dos templates do Power Portals Pro já estão conectados por cabo: o template escreve a .mcp.json na raiz da solução, fixado na versão correspondente do servidor. Não há nada a fazer.

Para adicioná-lo a um projeto existente, crie esse arquivo você mesmo na raiz da sua solução:

Qual arquivo seu editor lê

Visual Studio 2022 17.14+ e Visual Studio 2026 lêem .mcp.json da pasta de solução, assim como o Claude Code. VS Code lê .vscode/mcp.json e Cursor lê .cursor/mcp.json — ambos usam o mesmo servers bloco, então copie para ele.

dnx vem com o SDK .NET 10, que você já tem: todo projeto Power Portals Pro é hospedado por ASP.NET Core, incluindo os SPAs React. A primeira execução baixa o pacote e o armazena em cache.

Ter ambos é a configuração pretendida. As duas entradas usam o mesmo nome de servidor, então um cliente que entende ambos os escopos usa o do projeto — o que significa que você recebe as respostas combinadas dentro de um projeto, e as mais recentes em qualquer outro lugar.

Conferindo se está funcionando

Pergunte ao seu assistente algo que só o servidor pode responder — por exemplo: "use get_component_api para me mostrar todos os parâmetros no MainGrid". Se a ferramenta não estiver disponível, o cliente não pegou o arquivo de configuração; a maioria precisa de um reinício após a adicionação.

Conectando-se ao Dataverse

As ferramentas de documentação não precisam de configuração alguma. As ferramentas de metadados precisam de uma conexão com seu ambiente, e essa conexão pertence à pasta, não à máquina. Execute isso uma vez no projeto:

Um ambiente por pasta

Isso vincula essa pasta a um único ambiente. Se você trabalha entre vários clientes, cada projeto permanece conectado ao seu próprio ambiente e agentes em pastas diferentes nunca se cruzam. Isso é o que pac auth select não pode fazer — ele muda um único perfil de máquina em todo o lugar, então mudar o cliente em um lugar muda tudo em todos os lugares.

O login usa o fluxo de código do dispositivo por padrão, então funciona via SSH, dentro de um container e em WSL, e você pode finalizar no celular. Passe --browser se preferir abrir um.

Onde as coisas são armazenadas

O cache de tokens é keyado pelo ambiente, então um segundo clone do repositório do mesmo cliente não pede para você fazer login novamente, enquanto um cliente diferente sempre faz isso.

Comandos

Todos esses atuam na pasta atual, a menos que você passe --workspaceem .

Outras formas de se conectar

O ambiente e as credenciais são resolvidos nesta ordem, então a declaração de intenção mais explícita vence:

  1. Variáveis de ambientePPP_D365_URL, PPP_D365_CLIENT_ID e PPP_D365_CLIENT_SECRET no bloco env do servidor. Um principal de serviço, e a forma de conectar isso em CI ou em um contêiner compartilhado.
  2. O login da pasta — escrito por login. O caminho normal.
  3. As próprias configurações do projeto — as mesmas D365:Url, D365:ClientId e D365:ClientSecret (ou D365:Secret) o próprio portal lê dos secretos de usuário e appsettings. Um projeto Power Portals Pro configurado, portanto, muitas vezes não precisa de login algum.

Perfis de CLI do Power Platform

Se você já mantém ambientes em pac, pode começar de um em vez de procurar uma URL:

A CLI não tem um comando que forneça um token de acesso, e mantém as credenciais em seu próprio armazenamento, então sua sessão não pode ser reutilizada diretamente. O que --pac-profile faz é pegar o ambiente e a conta de um perfil e entrar como essa conta — geralmente sem ser solicitado, porque você já tem uma sessão.

Nota

O próprio perfil ativo da CLI nunca é alterado. pac auth select é deliberadamente não utilizado: ele moveria todos os projetos de uma vez.

As ferramentas

Raramente é necessário nomear uma ferramenta — os assistentes escolhem a partir das descrições — mas ajuda saber o que está lá.

Documentação, sempre disponível

Seu ambiente, uma vez conectado

Colocando um novo projeto em andamento

Trabalhando em outras línguas

O conhecimento que o servidor retorna é em inglês, e isso é deliberado. Seu assistente é quem está lendo — você nunca vê uma resposta de ferramenta diretamente — então ele traduz para você: pergunte no seu próprio idioma, e ele responde no seu idioma. O que ele não deve traduzir é o código. Os nomes dos componentes, parâmetros e colunas são em inglês em todo projeto, seja qual for o idioma da conversa, então manter a referência em inglês é o que impede um assistente de inventar um nome de parâmetro traduzido que não existe.

Nota

Perguntas que nomeiam algo — “MainGrid Ansichten konfigurieren” — já funcionam em qualquer idioma, porque os nomes dos componentes são os mesmos em todos os lugares. As ferramentas também pedem ao seu assistente para pesquisar em inglês, então perguntas que não nomeiam nada também funcionam.

Solução de problemas