McpToolServerConfigurationService Класс
Предоставляет службы для управления конфигурацией сервера инструментов MCP.
Эта служба обрабатывает обнаружение и настройку серверов средств MCP (протокол контекста модели) из нескольких источников:
- Разработка: локальные файлы ToolingManifest.json
- Рабочая среда: конечные точки шлюза удаленных инструментов
Конструктор
McpToolServerConfigurationService()
Параметры
| Имя | Описание |
|---|---|
|
logger
|
Default value: None
|
Методы
| __init__ |
Инициализировать службу конфигурации сервера инструментов MCP. |
| __new__ | |
| list_tool_servers |
Возвращает список серверов MCP, настроенных для агента.
|
| send_chat_history |
Отправляет журнал чата на платформу MCP для защиты от угроз в режиме реального времени. Note Даже если chat_history_messages пуст, запрос по-прежнему будет отправлен в платформа MCP. Это гарантирует, что сообщение пользователя из turn_context.activity.text зарегистрирован правильно для защиты от угроз в режиме реального времени. |
__init__
__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
Обязательно
|
Идентификатор агента для агента. |
|
auth_token
|
Маркер проверки подлинности, используемый для обнаружения шлюза. Default value: None
|
|
options
|
Необязательный экземпляр ToolOptions, содержащий необязательные параметры. Default value: None
|
|
authorization
|
Необязательный контекст авторизации для обмена маркерами аудитории. Default value: None
|
|
auth_handler_name
|
Необязательное имя обработчика проверки подлинности, используемое с Default value: None
|
|
turn_context
|
Необязательный параметр TurnContext, используемый с Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Возвращает список настроенных серверов MCP, каждый с заголовком, подключенным |
Исключения
| Тип | Описание |
|---|---|
|
Если необходимые параметры недопустимы или пусты. |
|
|
Если возникает ошибка связи с шлюзом инструментов или сбоем обмена маркерами для каждой аудитории. |
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")