McpToolServerConfigurationService Třída
Poskytuje služby pro správu konfigurace serveru nástroje MCP.
Tato služba zpracovává zjišťování a konfiguraci serverů nástrojů MCP (Model Context Protocol) z více zdrojů:
- Vývoj: Místní soubory ToolingManifest.json
- Produkční prostředí: Koncové body brány vzdáleného nástroje
Konstruktor
McpToolServerConfigurationService()
Parametry
| Name | Description |
|---|---|
|
logger
|
Default value: None
|
Metody
| __init__ |
Inicializuje konfigurační službu serveru nástroje MCP. |
| __new__ | |
| list_tool_servers |
Získá seznam serverů MCP nakonfigurovaných pro agenta. Když
|
| send_chat_history |
Odešle historii chatu na platformu MCP pro ochranu před hrozbami v reálném čase. Note I když je chat_history_messages prázdný, požadavek se stále odešle na platforma MCP. Tím se zajistí, že zpráva uživatele z turn_context.activity.text je správně zaregistrovaný pro ochranu před hrozbami v reálném čase. |
__init__
__new__
__new__(**kwargs)
list_tool_servers
Získá seznam serverů MCP nakonfigurovaných pro agenta.
Když authorizationjsou k dispozici všechny auth_handler_nameturn_context tokeny OAuth pro každou cílovou skupinu po zjištění:
- Servery V1 (bez
audiencepole) sdílejí sdílený token ATG (jednu výměnu). - Servery V2 obdrží token s vymezeným vlastním identifikátorem GUID cílové skupiny.
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
| Name | Description |
|---|---|
|
agentic_app_id
Vyžadováno
|
ID aplikace agenta |
|
auth_token
|
Ověřovací token používaný ke zjišťování brány. Default value: None
|
|
options
|
Volitelná instance ToolOptions obsahující volitelné parametry. Default value: None
|
|
authorization
|
Volitelný kontext autorizace pro výměnu tokenů pro cílovou skupinu Default value: None
|
|
auth_handler_name
|
Volitelný název obslužné rutiny ověřování použitý s Default value: None
|
|
turn_context
|
Volitelný TurnContext použitý s Default value: None
|
Návraty
| Typ | Description |
|---|---|
|
Vrátí seznam serverů MCP, které jsou nakonfigurované, každý s hlavičkou připojenou |
Výjimky
| Typ | Description |
|---|---|
|
Pokud jsou požadované parametry neplatné nebo prázdné. |
|
|
Pokud dojde k chybě při komunikaci s bránou nástrojů nebo selhání výměny tokenů pro cílovou skupinu. |
send_chat_history
Odešle historii chatu na platformu MCP pro ochranu před hrozbami v reálném čase.
Note
I když je chat_history_messages prázdný, požadavek se stále odešle na
platforma MCP. Tím se zajistí, že zpráva uživatele z turn_context.activity.text
je správně zaregistrovaný pro ochranu před hrozbami v reálném čase.
async send_chat_history(turn_context: TurnContext, chat_history_messages: List[ChatHistoryMessage], options: ToolOptions | None = None) -> OperationResult
Parametry
| Name | Description |
|---|---|
|
turn_context
Vyžadováno
|
TurnContext ze sady SDK agentů obsahující informace o konverzaci Musí mít platnou aktivitu s conversation.id, activity.id a activity.text. |
|
chat_history_messages
Vyžadováno
|
Seznam objektů ChatHistoryMessage představujících historii chatu Může být prázdný – prázdný seznam stále odešle požadavek na platformu MCP s prázdnou historií chatu. |
|
options
|
Volitelná instance ToolOptions obsahující volitelné parametry. Default value: None
|
Návraty
| Typ | Description |
|---|---|
|
<xref:OperationResult>
|
OperationResult označující úspěch nebo selhání. Při úspěchu vrátí OperationResult.success(). Při selhání vrátí operationResult.failed() s podrobnostmi o chybě. |
Výjimky
| Typ | Description |
|---|---|
|
Pokud je turn_context none, chat_history_messages je None, turn_context.activity is None, or any of the required fields (conversation.id, activity.id, activity.text) chybí nebo je prázdná. |
Příklady
>>> 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")