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