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
|
Nome do manipulador de autorização. |
|
context
Obrigatório
|
Transforme o contexto da operação atual. |
|
auth_token
|
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
|
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")