YDB Model Context Protocol Server

YDB Model Context Protocol (MCP) server позволяет работать с базами данных YDB из любой большой языковой модели (LLM), которая поддерживает MCP, используя любой из MCP клиентов. Эта интеграция обеспечивает работу с базами данных YDB с помощью ИИ на естественном языке.

Начало работы

Предварительные требования

  1. Установите MCP-клиент, поддерживающий MCP tools (большинство поддерживают). Примеры конфигурации ниже используют распространённый формат, поддерживаемый несколькими популярными MCP-клиентами (Claude Desktop, Cursor и др.), но вам может потребоваться адаптировать формат под требования вашего клиента.
  2. 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

Доступные инструменты

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.

Предыдущая
Следующая