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
|
Nombre del controlador de autorización. |
|
context
Requerido
|
Active el contexto de la operación actual. |
|
auth_token
|
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
|
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")