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