McpToolServerConfigurationService Klass
Tillhandahåller tjänster för konfigurationshantering av MCP-verktygsserver.
Den här tjänsten hanterar identifiering och konfiguration av MCP-verktygsservrar (Model Context Protocol) från flera källor:
- Utveckling: Lokala ToolingManifest.json filer
- Produktion: Slutpunkter för fjärrverktygsgateway
Konstruktor
McpToolServerConfigurationService()
Parametrar
| Name | Description |
|---|---|
|
logger
|
Standardvärde: None
|
Metoder
| __init__ |
Initiera konfigurationstjänsten för MCP-verktygsservern. |
| __new__ | |
| list_tool_servers |
Hämtar listan över MCP-servrar som har konfigurerats för agenten. När
|
| send_chat_history |
Skickar chatthistorik till MCP-plattformen för skydd mot hot i realtid. Note Även om chat_history_messages är tom skickas begäran fortfarande till mcp-plattformen. Detta säkerställer användarmeddelandet från turn_context.activity.text är korrekt registrerad för skydd mot hot i realtid. |
__init__
__new__
__new__(**kwargs)
list_tool_servers
Hämtar listan över MCP-servrar som har konfigurerats för agenten.
När authorization, auth_handler_nameoch turn_context alla tillhandahålls, hämtas OAuth-token per målgrupp för varje server efter identifiering:
- V1-servrar (inget
audiencefält) delar den delade ATG-token (ett utbyte). - V2-servrar får var och en token som är begränsad till sin egen målgrupps GUID.
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]
Parametrar
| Name | Description |
|---|---|
|
agentic_app_id
Obligatorisk
|
Agentiskt app-ID för agenten. |
|
auth_token
|
Autentiseringstoken som används för gatewayidentifiering. Standardvärde: None
|
|
options
|
Valfri ToolOptions-instans som innehåller valfria parametrar. Standardvärde: None
|
|
authorization
|
Valfri auktoriseringskontext för tokenutbyte per målgrupp. Standardvärde: None
|
|
auth_handler_name
|
Valfritt autentiseringshanterarnamn som används med Standardvärde: None
|
|
turn_context
|
Valfri TurnContext som används med Standardvärde: None
|
Returer
| Typ | Description |
|---|---|
|
Returnerar listan över MCP-servrar som har konfigurerats, var och en med ett |
Undantag
| Typ | Description |
|---|---|
|
Om obligatoriska parametrar är ogiltiga eller tomma. |
|
|
Om det uppstår ett fel vid kommunikation med verktygsgatewayen eller om ett tokenutbyte per målgrupp misslyckas. |
send_chat_history
Skickar chatthistorik till MCP-plattformen för skydd mot hot i realtid.
Note
Även om chat_history_messages är tom skickas begäran fortfarande till
mcp-plattformen. Detta säkerställer användarmeddelandet från turn_context.activity.text
är korrekt registrerad för skydd mot hot i realtid.
async send_chat_history(turn_context: TurnContext, chat_history_messages: List[ChatHistoryMessage], options: ToolOptions | None = None) -> OperationResult
Parametrar
| Name | Description |
|---|---|
|
turn_context
Obligatorisk
|
TurnContext från Agents SDK som innehåller konversationsinformation. Måste ha en giltig aktivitet med conversation.id, activity.id och activity.text. |
|
chat_history_messages
Obligatorisk
|
Lista över ChatHistoryMessage-objekt som representerar chatthistoriken. Kan vara tom – en tom lista skickar fortfarande en begäran till MCP-plattformen med tom chatthistorik. |
|
options
|
Valfri ToolOptions-instans som innehåller valfria parametrar. Standardvärde: None
|
Returer
| Typ | Description |
|---|---|
|
<xref:OperationResult>
|
En OperationResult som anger lyckad eller misslyckad. Vid lyckat resultat returnerar OperationResult.success(). Vid fel returnerar OperationResult.failed() med felinformation. |
Undantag
| Typ | Description |
|---|---|
|
Om turn_context är Ingen, chat_history_messages är Ingen, turn_context.activity är Ingen eller något av de obligatoriska fälten (conversation.id, activity.id, activity.text) saknas eller är tomma. |
Exempel
>>> 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")