McpToolRegistrationService Klasa

Udostępnia usługi rejestracji narzędzi MCP dla agentów programu Agent Framework.

Ta usługa obsługuje rejestrację i zarządzanie serwerami narzędzi MCP (Model Context Protocol) za pomocą agentów programu Agent Framework.

Konstruktor

McpToolRegistrationService()

Parametry

Nazwa Opis
logger
Domyślna wartość: None

Metody

__init__

Zainicjuj usługę rejestracji narzędzi MCP dla struktury agentów.

__new__
add_tool_servers_to_agent

Dodaj serwery narzędzi MCP do klasy RawAgent (dubluje implementację platformy .NET).

cleanup

Wyczyść wszystkie zasoby używane przez usługę.

send_chat_history_from_store

Wysyłanie historii czatów z obiektu HistoryProvider do platformy MCP.

Jest to metoda wygody, która wyodrębnia komunikaty ze sklepu i delegatów do send_chat_history_messages().

send_chat_history_messages

Wysyłanie wiadomości historii czatów do platformy MCP w celu ochrony przed zagrożeniami w czasie rzeczywistym.

Jest to podstawowa metoda implementacji, która obsługuje konwersję komunikatów i delegowanie do podstawowej usługi narzędzi.

Uwaga / Notatka

Nawet jeśli chat_messages jest pusta lub wszystkie komunikaty są filtrowane podczas

konwersja, żądanie będzie nadal wysyłane do platformy MCP. Ten

gwarantuje, że komunikat użytkownika z turn_context.activity.text jest zarejestrowany

poprawnie w przypadku ochrony przed zagrożeniami w czasie rzeczywistym.

__init__

Zainicjuj usługę rejestracji narzędzi MCP dla struktury agentów.

__init__(logger: Logger | None = None)

Parametry

Nazwa Opis
logger

Wystąpienie rejestratora na potrzeby operacji rejestrowania.

Domyślna wartość: None

__new__

__new__(**kwargs)

add_tool_servers_to_agent

Dodaj serwery narzędzi MCP do klasy RawAgent (dubluje implementację platformy .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

Parametry

Nazwa Opis
chat_client
Wymagane
<xref:OpenAIChatClient>

Wystąpienie klienta czatu (OpenAIChatClient obsługuje zarówno interfejs OpenAI, jak i usługę Azure OpenAI)

agent_instructions
Wymagane
str

Instrukcje dotyczące zachowania agenta

initial_tools
Wymagane

Lista początkowych narzędzi do dodania do agenta

auth
Wymagane
<xref:Authorization>

Kontekst autoryzacji dla wymiany tokenów

auth_handler_name
Wymagane
str

Nazwa programu obsługi autoryzacji.

turn_context
Wymagane
<xref:TurnContext>

Włączanie kontekstu dla operacji

auth_token

Opcjonalny token elementu nośnego na potrzeby uwierzytelniania

Domyślna wartość: None

Zwraca

Typ Opis
<xref:RawAgent>

Wystąpienie rawAgent z zarejestrowanymi narzędziami MCP.

Wyjątki

Typ Opis

Jeśli tworzenie agenta zakończy się niepowodzeniem.

cleanup

Wyczyść wszystkie zasoby używane przez usługę.

async cleanup()

send_chat_history_from_store

Wysyłanie historii czatów z obiektu HistoryProvider do platformy MCP.

Jest to metoda wygody, która wyodrębnia komunikaty ze sklepu i delegatów do send_chat_history_messages().

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

Parametry

Nazwa Opis
chat_message_store
Wymagane
<xref:agent_framework._sessions.HistoryProvider>

HistoryProvider zawierający historię konwersacji.

turn_context
Wymagane

Funkcja TurnContext z zestawu SDK agentów zawierająca informacje o konwersacji.

tool_options

Opcjonalna konfiguracja żądania.

Domyślna wartość: None

Zwraca

Typ Opis

OperacjaResult wskazująca powodzenie lub niepowodzenie operacji.

Wyjątki

Typ Opis

Jeśli chat_message_store lub turn_context to Brak.

Przykłady


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

send_chat_history_messages

Wysyłanie wiadomości historii czatów do platformy MCP w celu ochrony przed zagrożeniami w czasie rzeczywistym.

Jest to podstawowa metoda implementacji, która obsługuje konwersję komunikatów i delegowanie do podstawowej usługi narzędzi.

Uwaga / Notatka

Nawet jeśli chat_messages jest pusta lub wszystkie komunikaty są filtrowane podczas

konwersja, żądanie będzie nadal wysyłane do platformy MCP. Ten

gwarantuje, że komunikat użytkownika z turn_context.activity.text jest zarejestrowany

poprawnie w przypadku ochrony przed zagrożeniami w czasie rzeczywistym.

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

Parametry

Nazwa Opis
chat_messages
Wymagane
Sequence[<xref:agent_framework._types.Message>]

Sekwencja obiektów komunikatów struktury agenta do wysłania. Może być pusty — żądanie będzie nadal wysyłane w celu zarejestrowania wiadomości użytkownika z witryny turn_context.activity.text.

turn_context
Wymagane

Funkcja TurnContext z zestawu SDK agentów zawierająca informacje o konwersacji.

tool_options

Opcjonalna konfiguracja żądania. Wartość domyślna to Opcje specyficzne dla elementu AgentFramework, jeśli nie zostały podane.

Domyślna wartość: None

Zwraca

Typ Opis

OperacjaResult wskazująca powodzenie lub niepowodzenie operacji.

Wyjątki

Typ Opis

Jeśli chat_messages lub turn_context to Brak.

Przykłady


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