Depurar plug-ins de MCP e API localmente

Os plug-ins permitem que agentes declarativos no Microsoft 365 Copilot chamem servidores MCP (Model Context Protocol) ou APIs REST para recuperar dados e executar tarefas. O Microsoft 365 Copilot deve acessar o servidor MCP ou API pela Internet. Normalmente, as ferramentas de depuração hospedam sessões de depuração em localhost (127.0.0.1), que só pode ser acessado no computador que executa a ferramenta de depuração. Usando um proxy reverso, como túneis de túnel do desenvolvedor, você pode expor sua sessão de depuração à Internet para habilitar chamadas de depuração do Microsoft 365 Copilot.

Este artigo mostra como usar a ferramenta para habilitar a devtunnel depuração local para o servidor MCP ou API.

Observação

Suas ferramentas de depuração já podem fornecer uma solução de proxy reverso. É recomendável verificar a documentação das ferramentas de desenvolvedor para confirmar. Por exemplo, se você criou uma nova API usando o Microsoft 365 Agents Toolkit, o kit de ferramentas lida com a configuração do proxy reverso para você.

Pré-requisitos

  • A devtunnel CLI instalada no computador em que você hospeda suas sessões de depuração
  • O número da porta HTTP usado pela ferramenta de depuração

Criar um túnel de desenvolvimento persistente

A devtunnel CLI permite que você crie um túnel de desenvolvimento persistente, um túnel que você pode parar e iniciar conforme necessário, sem que a URL hospedada seja alterada. O uso de um túnel com uma URL persistente simplifica a depuração de plug-ins, pois você não precisa atualizar seus pacotes de aplicativos de agente declarativo com novas URLs.

  1. Se você ainda não estiver conectado à CLI do devtunnel, use devtunnel user login --help para ver as opções disponíveis. Faça login na CLI antes de continuar.

  2. Crie o túnel, permitindo acesso anônimo. O acesso anônimo é necessário para permitir que o Microsoft 365 Copilot acesse seu túnel e não está relacionado a nenhuma autenticação exigida pela sua API.

    devtunnel create --allow-anonymous
    

    Dica

    A criação de um novo túnel alterna o túnel padrão para o recém-criado. Isso permite que você omita o tunnel-id argumento para comandos subsequentes. Se você criar vários túneis, talvez seja necessário usar o tunnel-id argumento para garantir que está usando o túnel esperado. Para obter mais informações, use o comando ou consulte Referência devtunnel --helpda linha de comando Dev tunnels.

  3. Adicione o número da porta HTTP usado pela ferramenta de depuração. Substitua <port> pelo número da porta e defina o --protocol parâmetro https como se a ferramenta de depuração estiver usando HTTPS na porta ou http se não estiver usando HTTPS.

    devtunnel port create --port-number <port> --protocol https
    
  4. Inicie o túnel de desenvolvimento.

    devtunnel host
    
  5. Pela primeira vez executando este túnel de desenvolvimento, copie a URL rotulada Conectar-se via navegador. Abra essa URL no navegador e selecione Continuar para habilitar o túnel.

    Observação

    Depois de selecionar Continuar, seu navegador exibirá um erro. Isso é esperado e pode ser ignorado.

Depois que o túnel estiver habilitado, você poderá parar o túnel com CTRL + C. Você pode reiniciar o túnel com o devtunnel host host-id comando.

Usar o túnel de desenvolvimento

Para usar o túnel de desenvolvimento para depuração, faça o sideload de um pacote de aplicativos com a URL do túnel de desenvolvimento no lugar da URL do servidor.

Defina a propriedade do objeto de especificação do servidor MCP dentro do manifesto url do plug-in.

"runtimes": [
  {
    "type": "RemoteMCPServer",
    "spec": {
      "url": "<your-dev-tunnel-url>",
    }
  }
]

Se você estiver usando o Agents Toolkit no Visual Studio Code para gerenciar seu agente declarativo, poderá adicionar uma variável de ambiente ao arquivo /env/.env.dev.user nomeado PLUGIN_SERVER_URL e usá-lo no lugar da URL do túnel de desenvolvimento. Use a etapa Provisionar no painel Ciclo de Vida para fazer o sideload do agente. No arquivo /env/.env.dev.user , adicione:

OPENAPI_SERVER_URL=<your-dev-tunnel-url>

No manifesto do plug-in, atualize a url propriedade:

"runtimes": [
  {
    "type": "RemoteMCPServer",
    "spec": {
      "url": "${{PLUGIN_SERVER_URL}}",
    }
  }
]

Se você não estiver usando o Kit de Ferramentas de Agentes, poderá gerar um novo arquivo ZIP do pacote do aplicativo e carregar seu agente.