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