McpToolRegistrationService Clase

Proporciona servicios de registro de herramientas MCP para agentes de Azure Foundry.

Este servicio controla el registro y la administración de servidores de herramientas MCP (Protocolo de contexto de modelo) con agentes de Azure Foundry mediante el SDK de Azure AI. Proporciona una integración perfecta entre los servidores MCP y el marco de agente de Azure Foundry.

Características:

  • Detección y configuración automáticas de servidores MCP
  • Integración de identidades de Azure con DefaultAzureCredential
  • Definiciones de herramientas y administración de recursos
  • Compatibilidad con escenarios de desarrollo (ToolingManifest.json) y producción (API de puerta de enlace)
  • Control completo de errores y registro

Constructor

McpToolRegistrationService()

Parámetros

Nombre Description
logger
Valor predeterminado: None
credential
Valor predeterminado: None

Ejemplos


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

Métodos

__init__

Inicialice el servicio de registro de herramientas de MCP para Azure Foundry.

__new__
add_tool_servers_to_agent

Agrega servidores de herramientas MCP a un agente de Azure Foundry.

send_chat_history

Recupere y envíe el historial de chat de Azure AI Foundry a la plataforma MCP.

Este método recupera mensajes de la API de agentes de Azure AI Foundry mediante el identificador de cliente y subproceso proporcionados, los convierte en formato ChatHistoryMessage y los envía a la plataforma MCP.

send_chat_history_messages

Envíe mensajes del historial de chat de Azure AI Foundry a la plataforma MCP.

Este método acepta una secuencia de objetos ThreadMessage de Azure AI Foundry, los convierte en formato ChatHistoryMessage y los envía a la plataforma MCP para la protección contra amenazas en tiempo real.

__init__

Inicialice el servicio de registro de herramientas de MCP para Azure Foundry.

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

Parámetros

Nombre Description
logger

Instancia del registrador para las operaciones de registro.

Valor predeterminado: None
credential
<xref:azure.identity._credentials.default.DefaultAzureCredential> | None

Credencial de Azure para la autenticación. Si es None, se usará DefaultAzureCredential.

Valor predeterminado: None

__new__

__new__(**kwargs)

add_tool_servers_to_agent

Agrega servidores de herramientas MCP a un agente de 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

Nombre Description
project_client
Requerido
<xref:azure.ai.projects._patch.AIProjectClient>

Instancia de AIProjectClient de Azure Foundry.

auth
Requerido

Controlador de autorización para el intercambio de tokens.

auth_handler_name
Requerido
str

Nombre del controlador de autorización.

context
Requerido

Active el contexto de la operación actual.

auth_token
str | None

Token de autenticación para acceder a los servidores MCP.

Valor predeterminado: None

Devoluciones

Tipo Description

Excepciones

Tipo Description

Si project_client es Ninguno o los parámetros necesarios no son válidos.

Si se produce un error durante el registro de la herramienta MCP.

send_chat_history

Recupere y envíe el historial de chat de Azure AI Foundry a la plataforma MCP.

Este método recupera mensajes de la API de agentes de Azure AI Foundry mediante el identificador de cliente y subproceso proporcionados, los convierte en formato ChatHistoryMessage y los envía a la plataforma MCP.

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

Parámetros

Nombre Description
agents_client
Requerido
<xref:azure.ai.agents._patch.AgentsClient>

Instancia de AgentsClient de Azure AI Foundry.

thread_id
Requerido
str

Identificador de subproceso que contiene los mensajes que se van a enviar.

turn_context
Requerido

TurnContext del SDK de agentes que contiene información de conversación.

tool_options

Configuración opcional para la solicitud.

Valor predeterminado: None

Devoluciones

Tipo Description

OperationResult indica que se ha realizado correctamente o no.

Excepciones

Tipo Description

Si agents_client, thread_id o turn_context es None/empty.

Ejemplos


>>> 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

Envíe mensajes del historial de chat de Azure AI Foundry a la plataforma MCP.

Este método acepta una secuencia de objetos ThreadMessage de Azure AI Foundry, los convierte en formato ChatHistoryMessage y los envía a la plataforma MCP para la protección contra amenazas en tiempo real.

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

Parámetros

Nombre Description
turn_context
Requerido

TurnContext del SDK de agentes que contiene información de conversación.

messages
Requerido
Sequence[<xref:azure.ai.agents.models._patch.ThreadMessage>]

Secuencia de objetos ThreadMessage de Azure AI Foundry que se van a enviar.

tool_options

Configuración opcional para la solicitud.

Valor predeterminado: None

Devoluciones

Tipo Description

OperationResult indica que se ha realizado correctamente o no.

Excepciones

Tipo Description

Si turn_context o mensajes es Ninguno.

Ejemplos


>>> 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")