Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um agente hospedado executa seu código no Serviço do Foundry Agent. Neste artigo, você conecta esse código a uma toolbox para que o agente descubra e invoque as ferramentas da toolbox por meio de um único endpoint do Model Context Protocol (MCP).
Se você usar um agente de codificação como GitHub Copilot, o Microsoft Foundry Skill poderá ajudar a conectar o agente hospedado a um ponto de extremidade de caixa de ferramentas e adaptar o exemplo às suas próprias ferramentas.
Pré-requisitos
- Uma caixa de ferramentas com pelo menos uma ferramenta e uma versão padrão.
- Um projeto Microsoft Foundry com um modelo implementado.
- Um projeto de agente hospedado. Para criar o agente e a caixa de ferramentas juntos, conclua o início rápido da caixa de ferramentas.
- Uma identidade de desenvolvimento que pode acessar o projeto Foundry. Entre localmente com
az loginouazd auth loginantes de executar um exemplo. - Quaisquer permissões exigidas pelos serviços subjacentes às ferramentas da caixa de ferramentas. Para ferramentas que usam OAuth ou a passagem de identidade do Microsoft Entra, consulte a Autenticação de Caixa de Ferramentas antes de implantar o agente.
Escolher o ponto de extremidade da caixa de ferramentas
Use o ponto de extremidade de consumidor da caixa de ferramentas para um agente que deva seguir a default_version da caixa de ferramentas:
https://<account>.services.ai.azure.com/api/projects/<project>/toolboxes/<toolbox-name>/mcp?api-version=v1
Quando você promove outra versão da toolbox como padrão, um agente que usa esse endpoint passa a usar a nova versão sem precisar alterar o endpoint nem reimplantar.
Use um ponto de extremidade de desenvolvedor específico da versão somente quando precisar testar uma versão imutável antes de promovê-la:
https://<account>.services.ai.azure.com/api/projects/<project>/toolboxes/<toolbox-name>/versions/<version>/mcp?api-version=v1
Autentique o agente na caixa de ferramentas
O agente se autentica no ponto de extremidade da caixa de ferramentas com sua respectiva identidade do Microsoft Entra e o escopo https://ai.azure.com/.default. A conexão de cada ferramenta da caixa de ferramentas determina qual identidade ou credencial é usada no serviço downstream.
Não coloque chaves de API downstream ou tokens OAuth no código do agente. Configure essas credenciais na conexão de projeto que a ferramenta da caixa de ferramentas referencia. Para obter detalhes sobre os tipos de autenticação com suporte, consentimento e requisitos de função, consulte Autenticação da Caixa de Ferramentas.
Conectar o agente hospedado
Usar o Microsoft Agent Framework
O exemplo de Python mantido usa FoundryToolbox do pacote de hospedagem do Agent Framework. A classe resolve a caixa de ferramentas direto de TOOLBOX_ENDPOINT ou de FOUNDRY_PROJECT_ENDPOINT e TOOLBOX_NAME. Ela também autentica solicitações MCP e encaminha a ID de chamada por solicitação do runtime hospedado.
Instale o Python 3.12 ou superior, o Azure Developer CLI (azd) 1.25 ou superior e a extensão microsoft.foundry antes de inicializar o exemplo.
Inicialize um projeto a partir do exemplo de caixa de ferramentas do agente hospedado:
mkdir my-toolbox-agent && cd my-toolbox-agent azd ai agent init -m https://github.com/microsoft-foundry/foundry-samples/blob/main/samples/python/hosted-agents/agent-framework/responses/04-foundry-toolbox/azure.yamlDefina o nome da caixa de ferramentas. O exemplo constrói o endpoint do consumidor a partir do endpoint do projeto e do seguinte nome:
azd env set TOOLBOX_NAME <toolbox-name>Execute o agente localmente:
azd ai agent runEm outro terminal, verifique se o agente descobre as ferramentas da caixa de ferramentas:
azd ai agent invoke --local "List the tools you can use and briefly describe each one."
A resposta lista as ferramentas que a caixa de ferramentas retorna do MCP tools/list. Se a resposta não contiver ferramentas de caixa de ferramentas, consulte Solucionar problemas da conexão.
Usar o LangGraph
Use AzureAIProjectToolbox quando o código do agente hospedado for desenvolvido com LangGraph. A integração carrega as ferramentas da caixa de ferramentas como ferramentas do LangChain e gerencia a autenticação para o ponto de extremidade do consumidor.
Instale a integração de Azure do LangChain e suas dependências de hospedagem:
pip install "langchain-azure-ai[hosting]>=1.2.8"Defina
FOUNDRY_PROJECT_ENDPOINTno ambiente do agente hospedado. O runtime fornece esse valor após a implantação. Configure você mesmo para desenvolvimento local.Carregue as ferramentas usando o nome da caixa de ferramentas:
import asyncio
from langchain_azure_ai.tools import AzureAIProjectToolbox
async def load_tools():
toolbox = AzureAIProjectToolbox(toolbox_name="<toolbox-name>")
tools = await toolbox.get_tools()
print("\n".join(tool.name for tool in tools))
asyncio.run(load_tools())
A saída contém os nomes que a caixa de ferramentas retorna do MCP tools/list:
<tool-name>
<tool-name>
Reference:AzureAIProjectToolbox
- Passe as ferramentas carregadas para o agente do LangGraph e execute um prompt que exija uma das ferramentas da caixa de ferramentas. Para obter uma implementação completa, consulte o exemplo da caixa de ferramentas LangGraph.
Use a integração de hospedagem do Agent Framework Foundry para registrar uma caixa de ferramentas por nome.
AddFoundryToolboxes constrói o endpoint do consumidor a partir de FOUNDRY_PROJECT_ENDPOINT, invoca o MCP tools/list durante a inicialização e adiciona as ferramentas descobertas a cada solicitação do agente.
Instale o SDK do .NET 10 e CLI do Azure antes de executar o exemplo mantido.
Comece com o exemplo de caixa de ferramentas hospedada pública ou adicione o pacote de hospedagem do Foundry a um host existente do Agent Framework.
Defina essas variáveis de ambiente para desenvolvimento local:
AZURE_AI_PROJECT_ENDPOINT=https://<account>.services.ai.azure.com/api/projects/<project> AZURE_AI_MODEL_DEPLOYMENT_NAME=<model-deployment-name> TOOLBOX_NAME=<toolbox-name>O Foundry fornece
FOUNDRY_PROJECT_ENDPOINTpara o contêiner implantado. Mantenha o nome da caixa de ferramentasTOOLBOX_NAME; os outros nomes de variáveisFOUNDRY_*são reservados pelo ambiente de execução hospedado.Em
Program.cs, registre o agente comAddFoundryResponsese, em seguida, registre a caixa de ferramentas comAddFoundryToolboxes(credential, toolboxName). Depois de criar o aplicativo Web, chameMapFoundryResponsesantesRun. O exemplo público inclui os elementos necessários: as importações, os pacotes, a construção do agente e a configuração de credenciais.Inicie o host e, em seguida, chame-o com um prompt que exija uma ferramenta de toolbox. O endpoint
/readinessretorna um status não saudável quando o host não consegue enumerar as ferramentas da toolbox.
As integrações da caixa de ferramentas do agente hospedado neste artigo estão disponíveis para Python e .NET. Para chamar o endpoint MCP de outro runtime, use um cliente HTTP MCP com streaming, autentique-se com um token para https://ai.azure.com/.default e implemente o contrato de runtime do agente hospedado.
As integrações da caixa de ferramentas do agente hospedado neste artigo estão disponíveis para Python e .NET. Para chamar o endpoint MCP de outro ambiente de execução, use um cliente HTTP MCP com streaming, se autentique com um token para https://ai.azure.com/.default e implemente o contrato de ambiente de execução do agente hospedado.
Use o Microsoft Foundry Toolkit para Visual Studio Code para estruturar um exemplo de agente hospedado conectado a uma caixa de ferramentas.
Instale o Visual Studio Code, a extensão Microsoft Foundry Toolkit e o pacote de extensões da sua linguagem de programação antes de criar a estrutura do projeto.
- Na Barra de Atividades, selecione Foundry Toolkit.
- Em Meus Recursos, expanda seu projeto e expanda Ferramentas.
- Na guia Caixas de Ferramentas , localize a caixa de ferramentas e selecione Modelo de código scaffold.
- Na Paleta de Comandos, selecione uma pasta de projeto.
- Abra o
README.mdgerado e conclua as etapas de execução local e implantação. - Execute um prompt que exija uma ferramenta de caixa de ferramentas e confirme se o agente chama a ferramenta esperada.
Passe o nome da caixa de ferramentas para um exemplo de agente hospedado que constrói o ponto de extremidade do consumidor direto de FOUNDRY_PROJECT_ENDPOINT:
Instale o Azure Developer CLI (azd) versão 1.25 ou posterior e a extensão microsoft.foundry antes de executar estes comandos.
Inspecione a caixa de ferramentas e sua versão padrão atual:
azd ai toolbox show <toolbox-name> --output jsonA saída usa a
endpointpropriedade. O endpoint retornado por esse comando identifica a versão selecionada e é útil para testar essa versão.Armazene o nome da caixa de ferramentas no ambiente
azd:azd env set TOOLBOX_NAME <toolbox-name>Para executar o agente hospedado localmente, use:
azd ai agent runEm vez disso, para implantar o agente hospedado, use:
azd deploy
Se o aplicativo aceitar apenas uma URL completa, defina TOOLBOX_ENDPOINT como o ponto de extremidade do consumidor sem versão direto de Escolha o ponto de extremidade da caixa de ferramentas.
Exigir aprovação de ferramentas
Cada entrada retornada pelo MCP tools/list pode conter um _meta.tool_configuration.require_approval valor:
| Valor | Comportamento necessário em tempo de execução |
|---|---|
always |
Mostre o nome da ferramenta e os argumentos propostos ao usuário, aguarde uma aprovação explícita e invoque a ferramenta somente após a aprovação. Repita esse processo para cada chamada. |
never |
Invoque a ferramenta sem um prompt de aprovação. |
O endpoint MCP do toolbox não bloqueia tools/call quando require_approval é always. O runtime do agente deve impor a configuração antes de cada invocação. Uma instrução no prompt de sistema, por si só, não garante aprovação.
Use require_approval: never a menos que seu ambiente de execução possa pausar a chamada de ferramenta pendente, obter a decisão do usuário e retomar ou rejeitar essa chamada exata. Para configurar o valor em uma ferramenta de caixa de ferramentas, consulte Configurar a aprovação da ferramenta.
Solucionar problemas de conexão
| Sintoma | Causa e resolução |
|---|---|
| O agente não retorna ferramentas da caixa de ferramentas. | Confirme se o kit de ferramentas possui uma versão padrão, se o nome do kit de ferramentas corresponde e se a identidade do agente pode acessar o projeto Foundry. |
| Falha na inicialização ou na preparação. | Uma caixa de ferramentas enumera todas as fontes de ferramentas juntas. Verifique os logs do agente em busca de uma falha de conexão, um servidor MCP indisponível ou um nome inválido de ferramenta permitida. Corrija ou remova essa origem, crie uma nova versão e promova-a. |
Uma ferramenta retorna 401 ou 403. |
Verifique a identidade do agente para a caixa de ferramentas e a autenticação downstream configurada na conexão de projeto da ferramenta. Esses são limites de autorização separados. |
| Uma ferramenta solicita consentimento. | Retorne a solicitação de consentimento para o usuário conectado e retome a chamada após o consentimento. Examine os requisitos de locatário e função em Autenticação da Caixa de Ferramentas. |
| Uma alteração de versão não aparece. | Confirme se o agente usa o ponto de extremidade sem versão do consumidor e se você promoveu a versão desejada para default_version. |