McpToolRegistrationService Clase
Proporciona servicios de registro de herramientas MCP para agentes de Agent Framework.
Este servicio controla el registro y la administración de servidores de herramientas MCP (Protocolo de contexto de modelo) con agentes de Agent Framework.
Constructor
McpToolRegistrationService()
Parámetros
| Nombre | Description |
|---|---|
|
logger
|
Valor predeterminado: None
|
Métodos
| __init__ |
Inicialice el servicio de registro de herramientas de MCP para Agent Framework. |
| __new__ | |
| add_tool_servers_to_agent |
Agregue servidores de herramientas MCP a rawAgent (refleja la implementación de .NET). |
| cleanup |
Limpie los recursos utilizados por el servicio. |
| send_chat_history_from_store |
Envíe el historial de chat desde historyProvider a la plataforma MCP. Este es un método de conveniencia que extrae los mensajes del almacén y los delegados a send_chat_history_messages(). |
| send_chat_history_messages |
Envíe mensajes del historial de chat a la plataforma MCP para la protección contra amenazas en tiempo real. Este es el método de implementación principal que controla la conversión de mensajes y la delegación al servicio de herramientas principal. Nota: Incluso si chat_messages está vacío o se filtran todos los mensajes durante conversión, la solicitud se seguirá enviando a la plataforma MCP. Éste garantiza que el mensaje de usuario de turn_context.activity.text esté registrado. correctamente para la protección contra amenazas en tiempo real. |
__init__
__new__
__new__(**kwargs)
add_tool_servers_to_agent
Agregue servidores de herramientas MCP a rawAgent (refleja la implementación de .NET).
async add_tool_servers_to_agent(chat_client: OpenAIChatClient, agent_instructions: str, initial_tools: List[object], auth: Authorization, auth_handler_name: str, turn_context: TurnContext, auth_token: str | None = None) -> RawAgent
Parámetros
| Nombre | Description |
|---|---|
|
chat_client
Requerido
|
<xref:OpenAIChatClient>
La instancia de cliente de chat (OpenAIChatClient admite OpenAI y Azure OpenAI) |
|
agent_instructions
Requerido
|
Instrucciones para el comportamiento del agente |
|
initial_tools
Requerido
|
Lista de herramientas iniciales que se van a agregar al agente |
|
auth
Requerido
|
<xref:Authorization>
Contexto de autorización para el intercambio de tokens |
|
auth_handler_name
Requerido
|
Nombre del controlador de autorización. |
|
turn_context
Requerido
|
<xref:TurnContext>
Activar el contexto de la operación |
|
auth_token
|
Token de portador opcional para la autenticación Valor predeterminado: None
|
Devoluciones
| Tipo | Description |
|---|---|
|
<xref:RawAgent>
|
Instancia rawAgent con herramientas de MCP registradas. |
Excepciones
| Tipo | Description |
|---|---|
|
Si se produce un error en la creación del agente. |
cleanup
Limpie los recursos utilizados por el servicio.
async cleanup()
send_chat_history_from_store
Envíe el historial de chat desde historyProvider a la plataforma MCP.
Este es un método de conveniencia que extrae los mensajes del almacén y los delegados a send_chat_history_messages().
async send_chat_history_from_store(chat_message_store: HistoryProvider, turn_context: TurnContext, tool_options: ToolOptions | None = None) -> OperationResult
Parámetros
| Nombre | Description |
|---|---|
|
chat_message_store
Requerido
|
<xref:agent_framework._sessions.HistoryProvider>
HistoryProvider que contiene el historial de conversaciones. |
|
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 la operación se ha realizado correctamente o no. |
Excepciones
| Tipo | Description |
|---|---|
|
Si chat_message_store o turn_context es None. |
Ejemplos
>>> service = McpToolRegistrationService()
>>> result = await service.send_chat_history_from_store(
... thread.chat_message_store, turn_context
... )
send_chat_history_messages
Envíe mensajes del historial de chat a la plataforma MCP para la protección contra amenazas en tiempo real.
Este es el método de implementación principal que controla la conversión de mensajes y la delegación al servicio de herramientas principal.
Nota:
Incluso si chat_messages está vacío o se filtran todos los mensajes durante
conversión, la solicitud se seguirá enviando a la plataforma MCP. Éste
garantiza que el mensaje de usuario de turn_context.activity.text esté registrado.
correctamente para la protección contra amenazas en tiempo real.
async send_chat_history_messages(chat_messages: Sequence[Message], turn_context: TurnContext, tool_options: ToolOptions | None = None) -> OperationResult
Parámetros
| Nombre | Description |
|---|---|
|
chat_messages
Requerido
|
Sequence[<xref:agent_framework._types.Message>]
Secuencia de objetos message del marco de agente que se van a enviar. Puede estar vacío: la solicitud se seguirá enviando para registrar el mensaje de usuario desde turn_context.activity.text. |
|
turn_context
Requerido
|
TurnContext del SDK de agentes que contiene información de conversación. |
|
tool_options
|
Configuración opcional para la solicitud. El valor predeterminado es AgentFramework-specific options (Opciones específicas de AgentFramework) si no se proporciona. Valor predeterminado: None
|
Devoluciones
| Tipo | Description |
|---|---|
|
OperationResult indica que la operación se ha realizado correctamente o no. |
Excepciones
| Tipo | Description |
|---|---|
|
Si chat_messages o turn_context es Ninguno. |
Ejemplos
>>> service = McpToolRegistrationService()
>>> messages = [Message(role="user", text="Hello")]
>>> result = await service.send_chat_history_messages(messages, turn_context)
>>> if result.succeeded:
... print("Chat history sent successfully")