McpToolServerConfigurationService Класс

Предоставляет службы для управления конфигурацией сервера инструментов MCP.

Эта служба обрабатывает обнаружение и настройку серверов средств MCP (протокол контекста модели) из нескольких источников:

  • Разработка: локальные файлы ToolingManifest.json
  • Рабочая среда: конечные точки шлюза удаленных инструментов

Конструктор

McpToolServerConfigurationService()

Параметры

Имя Описание
logger
Default value: None

Методы

__init__

Инициализировать службу конфигурации сервера инструментов MCP.

__new__
list_tool_servers

Возвращает список серверов MCP, настроенных для агента.

auth_handler_name turn_context Когда authorizationи все предоставляются, маркеры OAuth для каждой аудитории получаются для каждого сервера после обнаружения:

  • Серверы версии 1 (без audience поля) совместно используют общий токен ATG (один обмен).
  • Серверы версии 2 получают маркер, охватывающий собственный GUID аудитории.
send_chat_history

Отправляет журнал чата на платформу MCP для защиты от угроз в режиме реального времени.

Note

Даже если chat_history_messages пуст, запрос по-прежнему будет отправлен в

платформа MCP. Это гарантирует, что сообщение пользователя из turn_context.activity.text

зарегистрирован правильно для защиты от угроз в режиме реального времени.

__init__

Инициализировать службу конфигурации сервера инструментов MCP.

__init__(logger: Logger | None = None)

Параметры

Имя Описание
logger

Экземпляр средства ведения журнала для операций ведения журнала. Если нет, создает новый средство ведения журнала.

Default value: None

__new__

__new__(**kwargs)

list_tool_servers

Возвращает список серверов MCP, настроенных для агента.

auth_handler_name turn_context Когда authorizationи все предоставляются, маркеры OAuth для каждой аудитории получаются для каждого сервера после обнаружения:

  • Серверы версии 1 (без audience поля) совместно используют общий токен ATG (один обмен).
  • Серверы версии 2 получают маркер, охватывающий собственный 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]

Параметры

Имя Описание
agentic_app_id
Обязательно
str

Идентификатор агента для агента.

auth_token
str | None

Маркер проверки подлинности, используемый для обнаружения шлюза.

Default value: None
options

Необязательный экземпляр ToolOptions, содержащий необязательные параметры.

Default value: None
authorization

Необязательный контекст авторизации для обмена маркерами аудитории.

Default value: None
auth_handler_name
str | None

Необязательное имя обработчика проверки подлинности, используемое с authorization.

Default value: None
turn_context

Необязательный параметр TurnContext, используемый с authorization.

Default value: None

Возвращаемое значение

Тип Описание

Возвращает список настроенных серверов MCP, каждый с заголовком, подключенным Authorization при предоставлении контекста проверки подлинности.

Исключения

Тип Описание

Если необходимые параметры недопустимы или пусты.

Если возникает ошибка связи с шлюзом инструментов или сбоем обмена маркерами для каждой аудитории.

send_chat_history

Отправляет журнал чата на платформу MCP для защиты от угроз в режиме реального времени.

Note

Даже если chat_history_messages пуст, запрос по-прежнему будет отправлен в

платформа MCP. Это гарантирует, что сообщение пользователя из turn_context.activity.text

зарегистрирован правильно для защиты от угроз в режиме реального времени.

async send_chat_history(turn_context: TurnContext, chat_history_messages: List[ChatHistoryMessage], options: ToolOptions | None = None) -> OperationResult

Параметры

Имя Описание
turn_context
Обязательно

TurnContext из пакета SDK для агентов, содержащего сведения о беседе. Должен иметь допустимое действие с conversation.id, activity.id и activity.text.

chat_history_messages
Обязательно

Список объектов ChatHistoryMessage, представляющих журнал чата. Может быть пустым — пустой список по-прежнему отправляет запрос на платформу MCP с пустым журналом чата.

options

Необязательный экземпляр ToolOptions, содержащий необязательные параметры.

Default value: None

Возвращаемое значение

Тип Описание
<xref:OperationResult>

OperationResult, указывающий на успех или сбой. При успешном выполнении возвращает operationResult.success(). При сбое возвращает OperationResult.failed() с сведениями об ошибке.

Исключения

Тип Описание

Если turn_context нет, chat_history_messages имеет значение None, turn_context.activity имеет значение None или любое из обязательных полей (conversation.id, activity.id, activity.text) отсутствует или пуст.

Примеры


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