Сервер 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 — использовать команду инициализации:
Эта команда выполнит:
Аутентификация пользователя
Автоматически находит файл конфигурации для вашей платформы
Создайте или обновите конфигурацию, включив в нее сервер SingleStore MCP.
Предоставьте инструкции по запуску сервера
Вы также можете явно передать <SINGLESTORE_API_KEY> :
Чтобы указать клиента (например, claude или cursor ), используйте флаг --client :
2. Установка через Smithery
Для автоматической установки mcp-server-singlestore через Smithery :
При необходимости замените <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-контейнера
Для запуска контейнера Docker используйте следующую команду:
Использование Docker-секретов
Чтобы безопасно передать секреты в контейнер, создайте секрет Docker и смонтируйте его:
Затем запустите контейнер с секретом: