McpToolRegistrationService Classe

Fornece serviços de registro de ferramenta MCP para agentes do Azure Foundry.

Esse serviço lida com o registro e o gerenciamento de servidores de ferramentas MCP (Protocolo de Contexto de Modelo) com agentes do Azure Foundry usando o SDK de IA do Azure. Ele fornece integração perfeita entre servidores MCP e a estrutura de agente do Azure Foundry.

Características:

  • Descoberta e configuração automáticas do servidor MCP
  • Integração de identidade do Azure com DefaultAzureCredential
  • Gerenciamento de recursos e definições de ferramenta
  • Suporte para cenários de desenvolvimento (ToolingManifest.json) e produção (API de gateway)
  • Tratamento de erros e registro em log abrangentes

Construtor

McpToolRegistrationService()

Parâmetros

Nome Description
logger
Valor padrão: None
credential
Valor padrão: None

Exemplos


>>> service = McpToolRegistrationService()
>>> service.add_tool_servers_to_agent(project_client, agent_id, token)

Métodos

__init__

Inicialize o Serviço de Registro de Ferramentas do MCP para o Azure Foundry.

__new__
add_tool_servers_to_agent

Adiciona servidores de ferramenta MCP a um agente do Azure Foundry.

send_chat_history

Recupere e envie o histórico de chat do Azure AI Foundry para a plataforma MCP.

Esse método recupera mensagens da API de Agentes do Azure AI Foundry usando o cliente e a ID de thread fornecidos, converte-as no formato ChatHistoryMessage e as envia para a plataforma MCP.

send_chat_history_messages

Envie mensagens de histórico de chat do Azure AI Foundry para a plataforma MCP.

Esse método aceita uma sequência de objetos ThreadMessage do Azure AI Foundry, os converte no formato ChatHistoryMessage e os envia para a plataforma MCP para proteção contra ameaças em tempo real.

__init__

Inicialize o Serviço de Registro de Ferramentas do MCP para o Azure Foundry.

__init__(logger: Logger | None = None, credential: DefaultAzureCredential | None = None)

Parâmetros

Nome Description
logger

Instância do agente para operações de registro em log.

Valor padrão: None
credential
<xref:azure.identity._credentials.default.DefaultAzureCredential> | None

Credencial do Azure para autenticação. Se Nenhum, DefaultAzureCredential será usado.

Valor padrão: None

__new__

__new__(**kwargs)

add_tool_servers_to_agent

Adiciona servidores de ferramenta MCP a um agente do Azure Foundry.

async add_tool_servers_to_agent(project_client: AIProjectClient, auth: Authorization, auth_handler_name: str, context: TurnContext, auth_token: str | None = None) -> None

Parâmetros

Nome Description
project_client
Obrigatório
<xref:azure.ai.projects._patch.AIProjectClient>

A instância do Azure Foundry AIProjectClient.

auth
Obrigatório

Manipulador de autorização para troca de token.

auth_handler_name
Obrigatório
str

Nome do manipulador de autorização.

context
Obrigatório

Transforme o contexto da operação atual.

auth_token
str | None

Token de autenticação para acessar os servidores MCP.

Valor padrão: None

Retornos

Tipo Description

Exceções

Tipo Description

Se project_client for Nenhum ou os parâmetros necessários forem inválidos.

Se houver um erro durante o registro da ferramenta MCP.

send_chat_history

Recupere e envie o histórico de chat do Azure AI Foundry para a plataforma MCP.

Esse método recupera mensagens da API de Agentes do Azure AI Foundry usando o cliente e a ID de thread fornecidos, converte-as no formato ChatHistoryMessage e as envia para a plataforma MCP.

async send_chat_history(agents_client: AgentsClient, thread_id: str, turn_context: TurnContext, tool_options: ToolOptions | None = None) -> OperationResult

Parâmetros

Nome Description
agents_client
Obrigatório
<xref:azure.ai.agents._patch.AgentsClient>

A instância do Azure AI Foundry AgentsClient.

thread_id
Obrigatório
str

A ID do thread que contém as mensagens a serem enviadas.

turn_context
Obrigatório

TurnContext do SDK de Agentes que contém informações de conversa.

tool_options

Configuração opcional para a solicitação.

Valor padrão: None

Retornos

Tipo Description

OperationResult indicando êxito ou falha.

Exceções

Tipo Description

Se agents_client, thread_id ou turn_context for Nenhum/vazio.

Exemplos


>>> from azure.ai.agents import AgentsClient
>>> from azure.identity import DefaultAzureCredential
>>>
>>> client = AgentsClient(endpoint, credential=DefaultAzureCredential())
>>> service = McpToolRegistrationService()
>>> result = await service.send_chat_history(
...     client, thread_id, turn_context
... )

send_chat_history_messages

Envie mensagens de histórico de chat do Azure AI Foundry para a plataforma MCP.

Esse método aceita uma sequência de objetos ThreadMessage do Azure AI Foundry, os converte no formato ChatHistoryMessage e os envia para a plataforma MCP para proteção contra ameaças em tempo real.

async send_chat_history_messages(turn_context: TurnContext, messages: Sequence[ThreadMessage], tool_options: ToolOptions | None = None) -> OperationResult

Parâmetros

Nome Description
turn_context
Obrigatório

TurnContext do SDK de Agentes que contém informações de conversa.

messages
Obrigatório
Sequence[<xref:azure.ai.agents.models._patch.ThreadMessage>]

Sequência de objetos ThreadMessage do Azure AI Foundry a serem enviados.

tool_options

Configuração opcional para a solicitação.

Valor padrão: None

Retornos

Tipo Description

OperationResult indicando êxito ou falha.

Exceções

Tipo Description

Se turn_context ou mensagens for Nenhum.

Exemplos


>>> service = McpToolRegistrationService()
>>> messages = await agents_client.messages.list(thread_id=thread_id)
>>> result = await service.send_chat_history_messages(
...     turn_context, list(messages)
... )
>>> if result.succeeded:
...     print("Chat history sent successfully")