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 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 audience pola) 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.
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__

Zainicjuj usługę konfiguracji serwera narzędzi MCP.

__init__(logger: Logger | None = None)

Parametry

Nazwa Opis
logger

Wystąpienie rejestratora na potrzeby operacji rejestrowania. Jeśli brak, tworzy nowy rejestrator.

Domyślna wartość: None

__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 audience pola) 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
str

Identyfikator aplikacji agenta dla agenta.

auth_token
str | None

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
str | None

Opcjonalna nazwa procedury obsługi uwierzytelniania używana z programem authorization.

Domyślna wartość: None
turn_context

Opcjonalny tekst TurnContext używany w programie authorization.

Domyślna wartość: None

Zwraca

Typ Opis

Zwraca listę skonfigurowanych serwerów MCP, z których każdy ma Authorization nagłówek dołączony po podaniu kontekstu uwierzytelniania.

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