McpToolServerConfigurationService Klasa
Zapewnia usługi zarządzania konfiguracją serwera narzędzi MCP.
Ta usługa obsługuje odnajdywanie i konfigurację serwerów narzędzi MCP (Model Context Protocol) z wielu źródeł:
- Programowanie: lokalne pliki ToolingManifest.json
- Produkcja: zdalne punkty końcowe bramy narzędzi
Konstruktor
McpToolServerConfigurationService()
Parametry
| Nazwa | Opis |
|---|---|
|
logger
|
Domyślna wartość: None
|
Metody
| __init__ |
Zainicjuj usługę konfiguracji serwera narzędzi MCP. |
| __new__ | |
| list_tool_servers |
Pobiera listę serwerów MCP skonfigurowanych dla agenta. Gdy
|
| send_chat_history |
Wysyła historię czatów do platformy MCP w celu ochrony przed zagrożeniami w czasie rzeczywistym. Uwaga / Notatka Nawet jeśli chat_history_messages jest pusta, żądanie będzie nadal wysyłane do platforma MCP. Gwarantuje to, że komunikat użytkownika z turn_context.activity.text program jest poprawnie zarejestrowany w celu ochrony przed zagrożeniami w czasie rzeczywistym. |
__init__
__new__
__new__(**kwargs)
list_tool_servers
Pobiera listę serwerów MCP skonfigurowanych dla agenta.
Gdy authorizationwszystkie wartości , auth_handler_namei turn_context są udostępniane, tokeny OAuth dla poszczególnych odbiorców są uzyskiwane dla każdego serwera po odnalezieniu:
- Serwery w wersji 1 (bez
audiencepola) współużytkuje udostępniony token usługi ATG (jedna wymiana). - Serwery w wersji 2 otrzymują token o zakresie do własnego identyfikatora GUID odbiorców.
async list_tool_servers(agentic_app_id: str, auth_token: str | None = None, options: ToolOptions | None = None, authorization: Authorization | None = None, auth_handler_name: str | None = None, turn_context: TurnContext | None = None) -> List[MCPServerConfig]
Parametry
| Nazwa | Opis |
|---|---|
|
agentic_app_id
Wymagane
|
Identyfikator aplikacji agenta dla agenta. |
|
auth_token
|
Token uwierzytelniania używany do odnajdywania bramy. Domyślna wartość: None
|
|
options
|
Opcjonalne wystąpienie ToolOptions zawierające parametry opcjonalne. Domyślna wartość: None
|
|
authorization
|
Opcjonalny kontekst autoryzacji dla wymiany tokenów dla poszczególnych odbiorców. Domyślna wartość: None
|
|
auth_handler_name
|
Opcjonalna nazwa procedury obsługi uwierzytelniania używana z programem Domyślna wartość: None
|
|
turn_context
|
Opcjonalny tekst TurnContext używany w programie Domyślna wartość: None
|
Zwraca
| Typ | Opis |
|---|---|
|
Zwraca listę skonfigurowanych serwerów MCP, z których każdy ma |
Wyjątki
| Typ | Opis |
|---|---|
|
Jeśli wymagane parametry są nieprawidłowe lub puste. |
|
|
Jeśli wystąpi błąd podczas komunikacji z bramą narzędzi lub wymiana tokenów dla poszczególnych odbiorców zakończy się niepowodzeniem. |
send_chat_history
Wysyła historię czatów do platformy MCP w celu ochrony przed zagrożeniami w czasie rzeczywistym.
Uwaga / Notatka
Nawet jeśli chat_history_messages jest pusta, żądanie będzie nadal wysyłane do
platforma MCP. Gwarantuje to, że komunikat użytkownika z turn_context.activity.text
program jest poprawnie zarejestrowany w celu ochrony przed zagrożeniami w czasie rzeczywistym.
async send_chat_history(turn_context: TurnContext, chat_history_messages: List[ChatHistoryMessage], options: ToolOptions | None = None) -> OperationResult
Parametry
| Nazwa | Opis |
|---|---|
|
turn_context
Wymagane
|
Funkcja TurnContext z zestawu SDK agentów zawierająca informacje o konwersacji. Musi mieć prawidłowe działanie z conversation.id, activity.id i activity.text. |
|
chat_history_messages
Wymagane
|
Lista obiektów ChatHistoryMessage reprezentujących historię czatu. Może być pusta — pusta lista będzie nadal wysyłać żądanie do platformy MCP z pustą historią czatu. |
|
options
|
Opcjonalne wystąpienie ToolOptions zawierające parametry opcjonalne. Domyślna wartość: None
|
Zwraca
| Typ | Opis |
|---|---|
|
<xref:OperationResult>
|
OperacjaResult wskazująca powodzenie lub niepowodzenie. Po powodzeniu zwraca wartość OperationResult.success(). Po niepowodzeniu zwraca wartość OperationResult.failed() ze szczegółami błędu. |
Wyjątki
| Typ | Opis |
|---|---|
|
Jeśli turn_context ma wartość Brak, chat_history_messages to Brak, turn_context.activity to None lub dowolne z wymaganych pól (conversation.id, activity.id, activity.text) nie ma lub jest puste. |
Przykłady
>>> from datetime import datetime, timezone
>>> from microsoft_agents_a365.tooling.models import ChatHistoryMessage
>>>
>>> history = [
... ChatHistoryMessage("msg-1", "user", "Hello", datetime.now(timezone.utc)),
... ChatHistoryMessage("msg-2", "assistant", "Hi!", datetime.now(timezone.utc))
... ]
>>>
>>> service = McpToolServerConfigurationService()
>>> result = await service.send_chat_history(turn_context, history)
>>> if result.succeeded:
... print("Chat history sent successfully")