McpToolRegistrationService Classe

Fornisce i servizi di registrazione degli strumenti MCP per gli agenti di Agent Framework.

Questo servizio gestisce la registrazione e la gestione dei server degli strumenti MCP (Model Context Protocol) con agenti di Agent Framework.

Costruttore

McpToolRegistrationService()

Parametri

Nome Descrizione
logger
Valore predefinito: None

Metodi

__init__

Inizializzare il servizio di registrazione dello strumento MCP per Agent Framework.

__new__
add_tool_servers_to_agent

Aggiungere server di strumenti MCP a rawAgent (rispecchia l'implementazione di .NET).

cleanup

Pulire tutte le risorse usate dal servizio.

send_chat_history_from_store

Inviare la cronologia delle chat da historyProvider alla piattaforma MCP.

Si tratta di un metodo pratico che estrae i messaggi dall'archivio e dai delegati a send_chat_history_messages().

send_chat_history_messages

Inviare messaggi della cronologia delle chat alla piattaforma MCP per la protezione dalle minacce in tempo reale.

Si tratta del metodo di implementazione principale che gestisce la conversione e la delega dei messaggi nel servizio di strumenti di base.

Note

Anche se chat_messages è vuoto o tutti i messaggi vengono filtrati durante

la conversione, la richiesta verrà comunque inviata alla piattaforma MCP. Questo

assicura che il messaggio utente da turn_context.activity.text sia registrato

correttamente per la protezione dalle minacce in tempo reale.

__init__

Inizializzare il servizio di registrazione dello strumento MCP per Agent Framework.

__init__(logger: Logger | None = None)

Parametri

Nome Descrizione
logger

Istanza del logger per le operazioni di registrazione.

Valore predefinito: None

__new__

__new__(**kwargs)

add_tool_servers_to_agent

Aggiungere server di strumenti MCP a rawAgent (rispecchia l'implementazione di .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

Parametri

Nome Descrizione
chat_client
Necessario
<xref:OpenAIChatClient>

L'istanza del client di chat (OpenAIChatClient supporta sia OpenAI che OpenAI di Azure)

agent_instructions
Necessario
str

Istruzioni per il comportamento dell'agente

initial_tools
Necessario

Elenco degli strumenti iniziali da aggiungere all'agente

auth
Necessario
<xref:Authorization>

Contesto di autorizzazione per lo scambio di token

auth_handler_name
Necessario
str

Nome del gestore di autorizzazione.

turn_context
Necessario
<xref:TurnContext>

Contesto di turno per l'operazione

auth_token

Token di connessione facoltativo per l'autenticazione

Valore predefinito: None

Valori restituiti

Tipo Descrizione
<xref:RawAgent>

Istanza RawAgent con strumenti MCP registrati.

Eccezioni

Tipo Descrizione

Se la creazione dell'agente non riesce.

cleanup

Pulire tutte le risorse usate dal servizio.

async cleanup()

send_chat_history_from_store

Inviare la cronologia delle chat da historyProvider alla piattaforma MCP.

Si tratta di un metodo pratico che estrae i messaggi dall'archivio e dai delegati a send_chat_history_messages().

async send_chat_history_from_store(chat_message_store: HistoryProvider, turn_context: TurnContext, tool_options: ToolOptions | None = None) -> OperationResult

Parametri

Nome Descrizione
chat_message_store
Necessario
<xref:agent_framework._sessions.HistoryProvider>

HistoryProvider contenente la cronologia delle conversazioni.

turn_context
Necessario

TurnContext da Agents SDK contenente informazioni di conversazione.

tool_options

Configurazione facoltativa per la richiesta.

Valore predefinito: None

Valori restituiti

Tipo Descrizione

OperationResult indica l'esito positivo o negativo dell'operazione.

Eccezioni

Tipo Descrizione

Se chat_message_store o turn_context è Nessuno.

Esempio


>>> service = McpToolRegistrationService()
>>> result = await service.send_chat_history_from_store(
...     thread.chat_message_store, turn_context
... )

send_chat_history_messages

Inviare messaggi della cronologia delle chat alla piattaforma MCP per la protezione dalle minacce in tempo reale.

Si tratta del metodo di implementazione principale che gestisce la conversione e la delega dei messaggi nel servizio di strumenti di base.

Note

Anche se chat_messages è vuoto o tutti i messaggi vengono filtrati durante

la conversione, la richiesta verrà comunque inviata alla piattaforma MCP. Questo

assicura che il messaggio utente da turn_context.activity.text sia registrato

correttamente per la protezione dalle minacce in tempo reale.

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

Parametri

Nome Descrizione
chat_messages
Necessario
Sequence[<xref:agent_framework._types.Message>]

Sequenza di oggetti Message framework agente da inviare. Può essere vuoto: la richiesta verrà comunque inviata per registrare il messaggio utente da turn_context.activity.text.

turn_context
Necessario

TurnContext da Agents SDK contenente informazioni di conversazione.

tool_options

Configurazione facoltativa per la richiesta. L'impostazione predefinita è AgentFramework-specific options if not provided( Opzioni specifiche di AgentFramework).

Valore predefinito: None

Valori restituiti

Tipo Descrizione

OperationResult indica l'esito positivo o negativo dell'operazione.

Eccezioni

Tipo Descrizione

Se chat_messages o turn_context è Nessuno.

Esempio


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