McpToolRegistrationService Klasse

Stellt MCP-Toolregistrierungsdienste für Agent Framework-Agents bereit.

Dieser Dienst verarbeitet die Registrierung und Verwaltung von MCP-Toolservern (Model Context Protocol) mit Agent Framework-Agents.

Konstruktor

McpToolRegistrationService()

Parameter

Name Beschreibung
logger
Standardwert: None

Methoden

__init__

Initialisieren Sie den MCP-Toolregistrierungsdienst für Agent Framework.

__new__
add_tool_servers_to_agent

Hinzufügen von MCP-Toolservern zu einem RawAgent (spiegelt .NET-Implementierung).

cleanup

Bereinigen Sie alle vom Dienst verwendeten Ressourcen.

send_chat_history_from_store

Senden Sie den Chatverlauf von einem HistoryProvider an die MCP-Plattform.

Dies ist eine Bequeme Methode, mit der Nachrichten aus dem Speicher extrahiert werden, und Stellvertretungen auf send_chat_history_messages().

send_chat_history_messages

Senden Sie Chatverlaufsnachrichten an die MCP-Plattform, um Bedrohungsschutz in Echtzeit zu gewährleisten.

Dies ist die primäre Implementierungsmethode, die die Nachrichtenkonvertierung und -delegierung an den Kerntooldienst verarbeitet.

Note

Auch wenn chat_messages leer ist oder alle Nachrichten während der Filterung gefiltert werden

Konvertierung, die Anforderung wird weiterhin an die MCP-Plattform gesendet. Das

stellt sicher, dass die Benutzernachricht aus turn_context.activity.text registriert ist.

korrekt für den Echtzeit-Bedrohungsschutz.

__init__

Initialisieren Sie den MCP-Toolregistrierungsdienst für Agent Framework.

__init__(logger: Logger | None = None)

Parameter

Name Beschreibung
logger

Loggerinstanz für Protokollierungsvorgänge.

Standardwert: None

__new__

__new__(**kwargs)

add_tool_servers_to_agent

Hinzufügen von MCP-Toolservern zu einem RawAgent (spiegelt .NET-Implementierung).

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

Parameter

Name Beschreibung
chat_client
Erforderlich
<xref:OpenAIChatClient>

Die Chatclientinstanz (OpenAIChatClient unterstützt sowohl OpenAI als auch Azure OpenAI)

agent_instructions
Erforderlich
str

Anweisungen für das Agentverhalten

initial_tools
Erforderlich

Liste der anfänglichen Tools, die dem Agent hinzugefügt werden sollen

auth
Erforderlich
<xref:Authorization>

Autorisierungskontext für Tokenaustausch

auth_handler_name
Erforderlich
str

Name des Autorisierungshandlers.

turn_context
Erforderlich
<xref:TurnContext>

Kontext für den Vorgang aktivieren

auth_token

Optionales Bearertoken für die Authentifizierung

Standardwert: None

Gibt zurück

Typ Beschreibung
<xref:RawAgent>

RawAgent-Instanz mit registrierten MCP-Tools.

Ausnahmen

Typ Beschreibung

Wenn die Agenterstellung fehlschlägt.

cleanup

Bereinigen Sie alle vom Dienst verwendeten Ressourcen.

async cleanup()

send_chat_history_from_store

Senden Sie den Chatverlauf von einem HistoryProvider an die MCP-Plattform.

Dies ist eine Bequeme Methode, mit der Nachrichten aus dem Speicher extrahiert werden, und Stellvertretungen auf send_chat_history_messages().

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

Parameter

Name Beschreibung
chat_message_store
Erforderlich
<xref:agent_framework._sessions.HistoryProvider>

HistoryProvider, der den Unterhaltungsverlauf enthält.

turn_context
Erforderlich

TurnContext aus dem Agents SDK mit Unterhaltungsinformationen.

tool_options

Optionale Konfiguration für die Anforderung.

Standardwert: None

Gibt zurück

Typ Beschreibung

OperationResult, das den Erfolg oder Fehler des Vorgangs angibt.

Ausnahmen

Typ Beschreibung

Wenn chat_message_store oder turn_context "Keine" ist.

Beispiele


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

send_chat_history_messages

Senden Sie Chatverlaufsnachrichten an die MCP-Plattform, um Bedrohungsschutz in Echtzeit zu gewährleisten.

Dies ist die primäre Implementierungsmethode, die die Nachrichtenkonvertierung und -delegierung an den Kerntooldienst verarbeitet.

Note

Auch wenn chat_messages leer ist oder alle Nachrichten während der Filterung gefiltert werden

Konvertierung, die Anforderung wird weiterhin an die MCP-Plattform gesendet. Das

stellt sicher, dass die Benutzernachricht aus turn_context.activity.text registriert ist.

korrekt für den Echtzeit-Bedrohungsschutz.

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

Parameter

Name Beschreibung
chat_messages
Erforderlich
Sequence[<xref:agent_framework._types.Message>]

Sequenz der zu sendenden Agent Framework-Nachrichtenobjekte. Kann leer sein – die Anforderung wird weiterhin gesendet, um die Benutzernachricht von turn_context.activity.text zu registrieren.

turn_context
Erforderlich

TurnContext aus dem Agents SDK mit Unterhaltungsinformationen.

tool_options

Optionale Konfiguration für die Anforderung. Standardeinstellung für AgentFramework-spezifische Optionen, falls nicht angegeben.

Standardwert: None

Gibt zurück

Typ Beschreibung

OperationResult, das den Erfolg oder Fehler des Vorgangs angibt.

Ausnahmen

Typ Beschreibung

Wenn chat_messages oder turn_context "Keine" ist.

Beispiele


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