Подключить внешний MCP-сервер к MCP Hub
Примечание
Функциональность находится на стадии Preview.
Если у вас уже есть развернутый внешний MCP-сервер, например, на smithery.ai
Чтобы добавить существующий внешний MCP-сервер в MCP Hub:
-
В консоли управления
выберите каталог, на который у вашего аккаунта есть рольserverless.mcpGateways.editor
или выше. -
В списке сервисов выберите Foundation Models.
-
На панели слева выберите
MCP-серверы и в открывшемся окне:-
В блоке Способ добавления выберите опцию
Подключить. -
В блоке Инструменты нажмите кнопку Добавить инструменты и в открывшемся окне:
-
В поле Транспорт выберите тип транспортного механизма, который будет использоваться для взаимодействия с MCP-сервером. Доступные типы:
- HTTP Stream
— современный и актуальный транспортный механизм. AI-агент сможет получать обновления (события) с сервера без необходимости поддерживать постоянное HTTP-соединение. - SSE
— устаревший транспортный механизм. AI-агент сможет получать обновления с сервера через одно постоянное HTTP-соединение.
- HTTP Stream
-
В поле URL укажите URL, по которому будет доступен MCP-сервер. Например:
https://mcp.example.com
. -
В поле Тип авторизации укажите аутентификационные данные, которые будут передаваться в запросах:
-
Сервисный аккаунт
— чтобы передавать IAM-токен, выпущенный для сервисного аккаунта, привязанного к MCP-серверу. -
Токен доступа
— чтобы передавать заданный токен доступа. В открывшемся поле Токен укажите нужный токен:-
Секрет Lockbox
— если токен доступа сохранен в секрете Yandex Lockbox.Укажите данные секрета: в поле Секрет выберите нужный секрет Yandex Lockbox, в полях Версия и Ключ секрета — соответственно версию и ключ секрета, в которых сохранен нужный токен доступа.
-
Текст
— чтобы передать токен доступа в открытом виде.Внимание
Передавать токен доступа в открытом текстовом виде небезопасно.
-
-
Без авторизации
— чтобы не использовать аутентификацию.
-
-
Нажмите кнопку Подключиться.
-
В открывшемся окне Добавление инструментов выберите инструменты, которые доступны в шаблоне и которые вы хотите добавить в создаваемый MCP-сервер, затем нажмите кнопку Добавить.
Примечание
Один MCP-сервер может содержать до 20 инструментов.
-
-
В блоке Параметры сервера:
-
В поле Имя задайте имя создаваемого MCP-сервера. Требования к имени:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
(Опционально) Добавьте создаваемому серверу описание и метки, воспользовавшись соответствующими кнопками.
-
В поле Тип доступа выберите тип создаваемого сервера:
Приватный — чтобы создать приватный MCP-сервер, для доступа к которому потребуется аутентификация. Публичный — чтобы создать публичный MCP-сервер, доступный без аутентификации.
-
В поле Сервисный аккаунт выберите сервисный аккаунт, от имени которого будут вызываться инструменты, содержащиеся в MCP-сервере, а также осуществляться доступ к секретам Yandex Lockbox. Сервисному аккаунту должны быть назначены роли, достаточные для вызова этих инструментов и доступа к содержимому секретов.
-
(Опционально) Чтобы вести журнал логов создаваемого MCP-сервера, включите опцию Включить логирование и задайте параметры логирования.
-
-
Нажмите кнопку Добавить
-
В результате в MCP Hub будет создан MCP-сервер, содержащий добавленные инструменты и доступный AI-агентам.
Использовать Responses API для обращения к внешнему MCP-серверу
Вместо MCP Hub для обращения к внешнему MCP-серверу из AI-агента вы можете использовать Responses API. Для этого достаточно просто указать URL-адрес сервера и API-ключ.
Пример подключения MCP-сервера через Responses API:
from openai import OpenAI
# Создаем клиента
client = openai.OpenAI(
api_key="<API-ключ>",
base_url="https://llm.api.cloud.yandex.net/v1",
project="<идентификатор_каталога>"
)
# Пример вызова MCP через Responses API
response = client.responses.create(
model="gpt://<идентификатор_каталога>/yandexgpt",
input=[
{
"role": "user",
"content": "Найди клиента с именем Иван Иванов в CRM"
}
],
# MCP-инструменты, доступные модели
tools=[
{
"name": "crm_lookup",
"server_url": "<URL_MCP-сервера>",
"type": "mcp",
"metadata": {
"description": "Поиск клиента в CRM по имени"
}
}
]
)
print(response.output_text)