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 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 audience fä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.
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__

Initiera konfigurationstjänsten för MCP-verktygsservern.

__init__(logger: Logger | None = None)

Parametrar

Name Description
logger

Loggningsinstans för loggningsåtgärder. Om ingen, skapar en ny logger.

Standardvärde: None

__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 audience fä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
str

Agentiskt app-ID för agenten.

auth_token
str | None

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

Valfritt autentiseringshanterarnamn som används med authorization.

Standardvärde: None
turn_context

Valfri TurnContext som används med authorization.

Standardvärde: None

Returer

Typ Description

Returnerar listan över MCP-servrar som har konfigurerats, var och en med ett Authorization sidhuvud kopplat när autentiseringskontext tillhandahålls.

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