Сервер SingleStore MCP
Model Context Protocol (MCP) — это стандартизированный протокол, предназначенный для управления контекстом между большими языковыми моделями (LLM) и внешними системами. Этот репозиторий предоставляет установщик и сервер MCP для Singlestore, обеспечивая бесшовную интеграцию.
С помощью MCP вы можете использовать Claude Desktop, Cursor или любой совместимый клиент MCP для взаимодействия с SingleStore с помощью естественного языка, что упрощает выполнение сложных операций.
Требования
Питон >= v3.11.0
uvx установлен в вашей среде Python
Claude Desktop, Cursor или другой поддерживаемый клиент LLM
Related MCP server: MCP Server Example
Настройка клиента
1. Команда инициализации
Самый простой способ настройки сервера MCP — использовать команду инициализации:
uvx singlestore-mcp-server initЭта команда выполнит:
Аутентификация пользователя
Автоматически находит файл конфигурации для вашей платформы
Создайте или обновите конфигурацию, включив в нее сервер SingleStore MCP.
Предоставьте инструкции по запуску сервера
Вы также можете явно передать <SINGLESTORE_API_KEY> :
uvx singlestore-mcp-server init <SINGLESTORE_API_KEY>Чтобы указать клиента (например, claude или cursor ), используйте флаг --client :
uvx singlestore-mcp-server init <SINGLESTORE_API_KEY> --client=<client>2. Установка через Smithery
Для автоматической установки mcp-server-singlestore через Smithery :
npx -y @smithery/cli install @singlestore-labs/mcp-server-singlestore --client=<client>При необходимости замените <client> на claude или cursor .
3. Ручная настройка
Рабочий стол Клода и курсор
Добавьте следующую конфигурацию в файл конфигурации клиента:
{ "mcpServers": { "singlestore-mcp-server": { "command": "uvx", "args": [ "singlestore-mcp-server", "start", "<SINGLESTORE_API_KEY>" ] } } }
Перезапустите клиент после внесения изменений в конфигурацию.
Компоненты
Инструменты
На сервере реализованы следующие инструменты:
workspace_groups_info : получение сведений о группах рабочего пространства, доступных пользователю
Аргументы не требуются
Возвращает сведения о группах рабочего пространства
workspaces_info : получение сведений о рабочих пространствах в определенной группе рабочих пространств
Аргументы:
workspaceGroupID(строка)Возвращает сведения о рабочих пространствах
organization_info : Получить сведения о текущей организации пользователя
Аргументы не требуются
Возвращает данные организации
list_of_regions : Получить список всех регионов, которые поддерживают рабочие пространства для пользователя.
Аргументы не требуются
Возвращает список регионов
execute_sql : выполнение операций SQL в подключенной рабочей области
Аргументы:
workspace_group_identifier,workspace_identifier,username,password,database,sql_queryВозвращает результаты SQL-запроса в структурированном формате.
list_virtual_workspaces : список всех начальных рабочих пространств, доступных пользователю.
Аргументы не требуются
Возвращает сведения о доступных начальных рабочих пространствах
create_virtual_workspace : создать новое начальное рабочее пространство с пользователем
Аргументы:
name: Имя стартовой рабочей областиdatabase_name: Имя создаваемой базы данныхusername: Имя пользователя для доступа к рабочему пространствуpassword: Пароль для пользователяworkspace_group: объект, содержащийname(необязательно) иcellID(обязательно)
Возвращает сведения о созданном рабочем пространстве и пользователе.
execute_sql_on_virtual_workspace : выполнение операций SQL в виртуальном рабочем пространстве
Аргументы:
virtual_workspace_id,username,password,sql_queryВозвращает результаты SQL-запроса в структурированном формате, включая данные, количество строк, столбцы и статус.
list_notebook_samples : список всех образцов блокнотов, доступных в SingleStore Spaces
Аргументы не требуются
Возвращает сведения о доступных образцах блокнотов
create_notebook : Создать новый блокнот в личном пространстве пользователя.
Аргументы:
notebook_name,content(необязательно)Возвращает сведения о созданном блокноте.
list_personal_files : Список всех файлов в личном пространстве пользователя.
Аргументы не требуются
Возвращает сведения обо всех файлах в личном пространстве пользователя.
create_scheduled_job : Создать новое запланированное задание для запуска блокнота
Аргументы:
name: Имя для работыnotebook_path: Путь к блокноту для выполненияschedule_mode: однократно или повторяющеесяexecution_interval_minutes: Минуты между выполнениями (необязательно)start_at: Когда начинать работу (необязательно)description: Описание работы (необязательно)create_snapshot: создавать ли снимки блокнота (необязательно)runtime_name: Имя среды выполненияparameters: Параметры задания (необязательно)target_config: Целевая конфигурация для задания (необязательно)
Возвращает сведения о созданной работе
get_job_details : Получить сведения о конкретной работе
Аргументы:
job_idВозвращает подробную информацию об указанной работе
list_job_executions : Список истории выполнения для определенного задания
Аргументы:
job_id,start(необязательно),end(необязательно)Возвращает историю выполнения указанного задания.
Докеризация
Создание образа Docker
Чтобы создать образ Docker для сервера MCP, выполните следующую команду в корне проекта:
docker build -t mcp-server-singlestore .Запуск Docker-контейнера
Для запуска контейнера Docker используйте следующую команду:
docker run -d \
-p 8080:8080 \
--name mcp-server \
mcp-server-singlestoreИспользование Docker-секретов
Чтобы безопасно передать секреты в контейнер, создайте секрет Docker и смонтируйте его:
echo "your-secret-value" | docker secret create mcp_secret -Затем запустите контейнер с секретом:
docker service create \
--name mcp-server \
--secret mcp_secret \
mcp-server-singlestore