YDB Model Context Protocol Server
YDB Model Context Protocol (MCP) server позволяет работать с базами данных YDB из любой большой языковой модели (LLM), которая поддерживает MCP, используя любой из MCP клиентов. Эта интеграция обеспечивает работу с базами данных YDB с помощью ИИ на естественном языке.
Начало работы
Предварительные требования
- Установите MCP-клиент, поддерживающий MCP tools (большинство поддерживают). Примеры конфигурации ниже используют распространённый формат, поддерживаемый несколькими популярными MCP-клиентами (Claude Desktop, Cursor и др.), но вам может потребоваться адаптировать формат под требования вашего клиента.
- MCP-сервер YDB — это приложение на Python, которое обычно размещается вместе с MCP-клиентом. Существует несколько вариантов установки и запуска MCP-сервера YDB, которые описаны ниже, но все они требуют предварительно установленного окружения Python 3.10+.
Настройка MCP-клиента
Анонимная аутентификация
uvx позволяет запускать приложения Python без явной установки.
Настройте YDB MCP в настройках вашего MCP-клиента:
{
"mcpServers": {
"ydb": {
"command": "uvx",
"args": [
"ydb-mcp",
"--ydb-endpoint", "grpc://localhost:2136/local"
]
}
}
}
pipx позволяет запускать приложения из PyPI без явной установки (сам pipx должен быть установлен заранее).
Настройте YDB MCP в настройках вашего MCP-клиента:
{
"mcpServers": {
"ydb": {
"command": "pipx",
"args": [
"run", "ydb-mcp",
"--ydb-endpoint", "grpc://localhost:2136/local"
]
}
}
}
При необходимости создайте и активируйте виртуальное окружение Python. Установите YDB MCP с помощью pip:
pip install ydb-mcp
В настройках вашего MCP-клиента укажите параметры для соединения с YDB MCP:
{
"mcpServers": {
"ydb": {
"command": "python3",
"args": [
"-m", "ydb_mcp",
"--ydb-endpoint", "grpc://localhost:2136/local"
]
}
}
}
Аутентификация по логину и паролю
Настройте аутентификацию по логину/паролю с uvx
:
{
"mcpServers": {
"ydb": {
"command": "uvx",
"args": [
"ydb-mcp",
"--ydb-endpoint", "grpc://localhost:2136/local",
"--ydb-auth-mode", "login-password",
"--ydb-login", "<ваше-имя-пользователя>",
"--ydb-password", "<ваш-пароль>"
]
}
}
}
Настройте аутентификацию по логину/паролю с pipx
:
{
"mcpServers": {
"ydb": {
"command": "pipx",
"args": [
"run", "ydb-mcp",
"--ydb-endpoint", "grpc://localhost:2136/local",
"--ydb-auth-mode", "login-password",
"--ydb-login", "<ваше-имя-пользователя>",
"--ydb-password", "<ваш-пароль>"
]
}
}
}
Настройте аутентификацию по логину/паролю с установленным через pip
YDB MCP:
{
"mcpServers": {
"ydb": {
"command": "python3",
"args": [
"-m", "ydb_mcp",
"--ydb-endpoint", "grpc://localhost:2136/local",
"--ydb-auth-mode", "login-password",
"--ydb-login", "<ваше-имя-пользователя>",
"--ydb-password", "<ваш-пароль>"
]
}
}
}
Выполнение запросов
Задавайте вашему LLM вопросы относительно данных, хранящихся в YDB, используя настроенного выше клиента MCP. Языковая модель увидит инструменты, доступные ей через MCP, и будет использовать их для выполнения запросов на YQL и других вызовов к API YDB. Пример того, как это может выглядеть:
Доступные инструменты
MCP-сервер YDB предоставляет следующие инструменты для взаимодействия с базами данных YDB:
-
ydb_query
: Выполнение SQL-запроса к базе данных YDB- Параметры:
sql
: Строка SQL-запроса для выполнения
- Параметры:
-
ydb_query_with_params
: Выполнение параметризованного SQL-запроса с JSON-параметрами- Параметры:
sql
: Строка SQL-запроса с параметрамиparams
: JSON-строка, содержащая значения параметров
- Параметры:
-
ydb_list_directory
: Просмотр содержимого директории в YDB- Параметры:
path
: Путь к директории YDB для просмотра
- Параметры:
-
ydb_describe_path
: Получение подробной информации о схемном объекте (таблица, директория и т.д.) по указанному пути YDB- Параметры:
path
: Путь YDB для описания
- Параметры:
-
ydb_status
: Получение текущего статуса подключения к YDB
Аргументы командной строки и переменные окружения
Следующая таблица описывает параметры командной строки и переменные окружения MCP-сервера YDB:
Аргумент | Переменная окружения | Значение по умолчанию | Описание |
---|---|---|---|
--ydb-endpoint |
YDB_ENDPOINT |
— | Строка подключения к YDB, включающая протокол, имя хоста, порт и имя базы данных |
--ydb-login |
YDB_LOGIN |
— | Логин YDB |
--ydb-password |
YDB_PASSWORD |
— | Пароль YDB |
--ydb-auth-mode |
YDB_AUTH_MODE |
anonymous |
Режим аутентификации YDB. Возможные значения: anonymous , login-password |
--log-level |
— | INFO |
Уровень логирования. Возможные значения: DEBUG , INFO , WARNING , ERROR , CRITICAL |
Примечание
Аргументы командной строки имеют приоритет над соответствующими переменными окружения.
Узнать больше
Для получения дополнительной информации посетите репозиторий YDB MCP на GitHub.