Supabase MCP Server

Apache 2.0
699
  • Apple
  • Linux

Integrations

  • Provides tools for executing PostgreSQL queries against Supabase databases with risk assessment, parsing, and validation. Includes automatic migration versioning for database-altering operations.

  • Enables safely interacting with Supabase databases, executing SQL queries, managing database schemas, accessing the Supabase Management API, and using the Supabase Auth Admin SDK for user management. Includes safety controls for different risk levels of operations.

Запрос | MCP-сервер для Supabase

🌅 Более 17 тыс. установок через pypi и около 30 тыс. загрузок на Smithery.ai — короче говоря, это было весело! 🥳 Спасибо всем, кто пользовался этим сервером последние несколько месяцев, и я надеюсь, что он был вам полезен. Поскольку Supabase выпустили свой собственный официальный сервер MCP , я решил больше не поддерживать его активно. Официальный сервер MCP столь же многофункционален, и в будущем будет добавлено еще много функций. Проверьте!

Оглавление

✨ Основные характеристики

  • 💻 Совместимость с Cursor, Windsurf, Cline и другими клиентами MCP, поддерживающими протокол stdio
  • 🔐 Управление режимами «только чтение» и «чтение-запись» при выполнении SQL-запросов
  • 🔍 Проверка SQL-запроса во время выполнения с оценкой уровня риска
  • 🛡️ Трехуровневая система безопасности для операций SQL: безопасная, запись и деструктивная
  • 🔄 Надежная обработка транзакций как для прямых, так и для объединенных подключений к базе данных
  • 📝 Автоматическое версионирование изменений схемы базы данных
  • 💻 Управляйте своими проектами Supabase с помощью API управления Supabase
  • 🧑‍💻 Управляйте пользователями с помощью методов Supabase Auth Admin через Python SDK
  • 🔨 Готовые инструменты, помогающие Cursor & Windsurf работать с MCP более эффективно
  • 📦 Простая установка и настройка через менеджер пакетов (uv, pipx и т. д.)

Начиная

Предпосылки

Для установки сервера в вашей системе должно быть следующее:

  • Питон 3.12+

Если вы планируете установку через uv , убедитесь, что он установлен .

Установка PostgreSQL

Установка PostgreSQL больше не требуется для самого сервера MCP, поскольку теперь он использует asyncpg, который не зависит от библиотек разработки PostgreSQL.

Однако вам все равно понадобится PostgreSQL, если вы используете локальный экземпляр Supabase:

MacOS

brew install postgresql@16

Окна

  • Загрузите и установите PostgreSQL 16+ с https://www.postgresql.org/download/windows/
  • Убедитесь, что во время установки выбраны «Сервер PostgreSQL» и «Инструменты командной строки».

Шаг 1. Установка

Начиная с версии 0.2.0 я ввел поддержку установки пакетов. Вы можете использовать ваш любимый менеджер пакетов Python для установки сервера через:

# if pipx is installed (recommended) pipx install supabase-mcp-server # if uv is installed uv pip install supabase-mcp-server

Рекомендуется использовать pipx , поскольку он создает изолированные среды для каждого пакета.

Вы также можете установить сервер вручную, клонировав репозиторий и запустив pipx install -e . из корневого каталога.

Установка из источника

Если вы хотите выполнить установку из исходного кода, например, для локальной разработки:

uv venv # On Mac source .venv/bin/activate # On Windows .venv\Scripts\activate # Install package in editable mode uv pip install -e .
Установка через Smithery.ai

Полные инструкции по использованию Smithery.ai для подключения к этому серверу MCP можно найти здесь .

Шаг 2. Конфигурация

Серверу Supabase MCP требуется настройка для подключения к вашей базе данных Supabase, доступа к API управления и использования Auth Admin SDK. В этом разделе объясняются все доступные параметры конфигурации и способы их настройки.

🔑 Важно : Начиная с версии 0.4 для использования сервера MCP требуется ключ API, который можно получить бесплатно на сайте thequery.dev .

Переменные среды

Сервер использует следующие переменные среды:

ПеременнаяНеобходимыйПо умолчаниюОписание
SUPABASE_PROJECT_REFДа127.0.0.1:54322Ваш идентификатор проекта Supabase (или локальный хост:порт)
SUPABASE_DB_PASSWORDДаpostgresВаш пароль к базе данных
SUPABASE_REGIONДа*us-east-1Регион AWS, где размещен ваш проект Supabase
SUPABASE_ACCESS_TOKENНетНиктоПерсональный токен доступа для API управления Supabase
SUPABASE_SERVICE_ROLE_KEYНетНиктоКлюч роли сервиса для Auth Admin SDK
QUERY_API_KEYДаНиктоAPI-ключ от thequery.dev (требуется для всех операций)

Примечание : значения по умолчанию настроены для локальной разработки Supabase. Для удаленных проектов Supabase необходимо указать собственные значения для SUPABASE_PROJECT_REF и SUPABASE_DB_PASSWORD .

🚨 ВАЖНОЕ ПРИМЕЧАНИЕ ПО КОНФИГУРАЦИИ : Для удаленных проектов Supabase вы ДОЛЖНЫ указать правильный регион, где размещен ваш проект, с помощью SUPABASE_REGION . Если вы столкнулись с ошибкой «Клиент или пользователь не найден», это почти наверняка связано с тем, что настройки вашего региона не соответствуют фактическому региону вашего проекта. Вы можете найти регион вашего проекта на панели управления Supabase в разделе «Настройки проекта».

Типы подключения
Подключение к базе данных
  • Сервер подключается к вашей базе данных Supabase PostgreSQL, используя конечную точку пула транзакций.
  • Локальная разработка использует прямое подключение к 127.0.0.1:54322
  • Удаленные проекты используют формат: postgresql://postgres.[project_ref]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres

⚠️ Важно : соединения пула сеансов не поддерживаются. Сервер использует исключительно пул транзакций для лучшей совместимости с архитектурой сервера MCP.

Управление API-соединением
  • Требуется установить SUPABASE_ACCESS_TOKEN
  • Подключается к API управления Supabase по адресу https://api.supabase.com
  • Работает только с удаленными проектами Supabase (не для локальной разработки)
Подключение SDK для аутентификации администратора
  • Требуется установить SUPABASE_SERVICE_ROLE_KEY
  • Для локальной разработки подключается к http://127.0.0.1:54321
  • Для удаленных проектов подключается к https://[project_ref].supabase.co
Методы конфигурации

Сервер ищет конфигурацию в следующем порядке (от наивысшего к наименьшему приоритету):

  1. Переменные среды : значения, заданные непосредственно в вашей среде.
  2. Локальный файл .env : файл .env в текущем рабочем каталоге (работает только при запуске из исходного кода)
  3. Глобальный файл конфигурации :
    • Windows: %APPDATA%\supabase-mcp\.env
    • macOS/Linux: ~/.config/supabase-mcp/.env
  4. Настройки по умолчанию : локальные настройки разработки по умолчанию (если не найдено других конфигураций)

⚠️ Важно : при использовании пакета, установленного через pipx или uv, локальные файлы .env в каталоге вашего проекта не определяются. Вы должны использовать либо переменные среды, либо глобальный файл конфигурации.

Настройка конфигурации
Вариант 1: Конфигурация для конкретного клиента (рекомендуется)

Установите переменные среды непосредственно в конфигурации клиента MCP (см. инструкции по настройке для конкретного клиента в шаге 3). Большинство клиентов MCP поддерживают этот подход, который сохраняет вашу конфигурацию с настройками клиента.

Вариант 2: Глобальная конфигурация

Создайте глобальный файл конфигурации .env , который будет использоваться для всех экземпляров сервера MCP:

# Create config directory # On macOS/Linux mkdir -p ~/.config/supabase-mcp # On Windows (PowerShell) mkdir -Force "$env:APPDATA\supabase-mcp" # Create and edit .env file # On macOS/Linux nano ~/.config/supabase-mcp/.env # On Windows (PowerShell) notepad "$env:APPDATA\supabase-mcp\.env"

Добавьте значения вашей конфигурации в файл:

QUERY_API_KEY=your-api-key SUPABASE_PROJECT_REF=your-project-ref SUPABASE_DB_PASSWORD=your-db-password SUPABASE_REGION=us-east-1 SUPABASE_ACCESS_TOKEN=your-access-token SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
Вариант 3: Конфигурация для конкретного проекта (только исходная установка)

Если вы запускаете сервер из исходного кода (не через пакет), вы можете создать файл .env в каталоге вашего проекта в том же формате, что и выше.

Поиск информации о проекте Supabase
  • Ссылка на проект : находится в URL-адресе вашего проекта Supabase: https://supabase.com/dashboard/project/<project-ref>
  • Пароль базы данных : задается при создании проекта или находится в разделе «Настройки проекта» → «База данных».
  • Токен доступа : сгенерируйте на https://supabase.com/dashboard/account/tokens
  • Ключ роли сервиса : находится в настройках проекта → API → Ключи API проекта
Поддерживаемые регионы

Сервер поддерживает все регионы Supabase:

  • us-west-1 - Запад США (Северная Калифорния)
  • us-east-1 - Восток США (Северная Вирджиния) - по умолчанию
  • us-east-2 - Восток США (Огайо)
  • ca-central-1 - Канада (Центральная)
  • eu-west-1 - Запад ЕС (Ирландия)
  • eu-west-2 - Западная Европа (Лондон)
  • eu-west-3 - Запад ЕС (Париж)
  • eu-central-1 - Центральная часть ЕС (Франкфурт)
  • eu-central-2 - Центральная Европа (Цюрих)
  • eu-north-1 - Север ЕС (Стокгольм)
  • ap-south-1 - Южная Азия (Мумбаи)
  • ap-southeast-1 - Юго-Восточная Азия (Сингапур)
  • ap-northeast-1 - Северо-Восточная Азия (Токио)
  • ap-northeast-2 - Северо-Восточная Азия (Сеул)
  • ap-southeast-2 - Океания (Сидней)
  • sa-east-1 - Южная Америка (Сан-Паулу)
Ограничения
  • Нет поддержки собственного хостинга : сервер поддерживает только официальные проекты Supabase.com и локальную разработку.
  • Нет поддержки строки подключения : пользовательские строки подключения не поддерживаются.
  • Нет пула сеансов : для подключений к базе данных поддерживается только пул транзакций.
  • Функции API и SDK : API управления и функции SDK Auth Admin работают только с удаленными проектами Supabase, а не с локальной разработкой.

Шаг 3. Использование

В общем, любой клиент MCP, поддерживающий протокол stdio , должен работать с этим сервером MCP. Этот сервер был специально протестирован для работы с:

  • Курсор
  • Виндсерфинг
  • Клайн
  • Клод Десктоп

Кроме того, вы также можете использовать smithery.ai для установки на этот сервер ряда клиентов, включая указанные выше.

Чтобы установить этот MCP-сервер на своем клиенте, следуйте инструкциям ниже.

Курсор

Перейдите в Настройки -> Функции -> Серверы MCP и добавьте новый сервер со следующей конфигурацией:

# can be set to any name name: supabase type: command # if you installed with pipx command: supabase-mcp-server # if you installed with uv command: uv run supabase-mcp-server # if the above doesn't work, use the full path (recommended) command: /full/path/to/supabase-mcp-server # Find with 'which supabase-mcp-server' (macOS/Linux) or 'where supabase-mcp-server' (Windows)

Если конфигурация верна, вы должны увидеть зеленый точечный индикатор и количество инструментов, предоставленных сервером.

Виндсерфинг

Перейдите в Cascade -> Нажмите на значок молотка -> Настроить -> Заполните конфигурацию:

{ "mcpServers": { "supabase": { "command": "/Users/username/.local/bin/supabase-mcp-server", // update path "env": { "QUERY_API_KEY": "your-api-key", // Required - get your API key at thequery.dev "SUPABASE_PROJECT_REF": "your-project-ref", "SUPABASE_DB_PASSWORD": "your-db-password", "SUPABASE_REGION": "us-east-1", // optional, defaults to us-east-1 "SUPABASE_ACCESS_TOKEN": "your-access-token", // optional, for management API "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key" // optional, for Auth Admin SDK } } } }

Если конфигурация верна, вы должны увидеть зеленый точечный индикатор и активный сервер supabase в списке доступных серверов.

Клод Десктоп

Claude Desktop также поддерживает серверы MCP через конфигурацию JSON. Выполните следующие шаги для настройки сервера Supabase MCP:

  1. Найдите полный путь к исполняемому файлу (этот шаг очень важен):
    # On macOS/Linux which supabase-mcp-server # On Windows where supabase-mcp-server
    Скопируйте полный возвращенный путь (например, /Users/username/.local/bin/supabase-mcp-server ).
  2. Настройте сервер MCP в Claude Desktop:
    • Открыть рабочий стол Клода
    • Перейдите в Настройки → Разработчик -> Изменить конфигурацию серверов MCP.
    • Добавьте новую конфигурацию со следующим JSON:
    { "mcpServers": { "supabase": { "command": "/full/path/to/supabase-mcp-server", // Replace with the actual path from step 1 "env": { "QUERY_API_KEY": "your-api-key", // Required - get your API key at thequery.dev "SUPABASE_PROJECT_REF": "your-project-ref", "SUPABASE_DB_PASSWORD": "your-db-password", "SUPABASE_REGION": "us-east-1", // optional, defaults to us-east-1 "SUPABASE_ACCESS_TOKEN": "your-access-token", // optional, for management API "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key" // optional, for Auth Admin SDK } } } }

⚠️ Важно : в отличие от Windsurf и Cursor, Claude Desktop требует полный абсолютный путь к исполняемому файлу. Использование только имени команды ( supabase-mcp-server ) приведет к ошибке "spawn ENOENT".

Если конфигурация верна, вы должны увидеть сервер Supabase MCP в списке доступных в Claude Desktop.

Клайн

Cline также поддерживает серверы MCP через похожую конфигурацию JSON. Выполните следующие шаги для настройки сервера Supabase MCP:

  1. Найдите полный путь к исполняемому файлу (этот шаг очень важен):
    # On macOS/Linux which supabase-mcp-server # On Windows where supabase-mcp-server
    Скопируйте полный возвращенный путь (например, /Users/username/.local/bin/supabase-mcp-server ).
  2. Настройте сервер MCP в Cline:
    • Откройте Cline в VS Code
    • Нажмите на вкладку «Серверы MCP» на боковой панели Cline.
    • Нажмите «Настроить серверы MCP».
    • Это откроет файл cline_mcp_settings.json
    • Добавьте следующую конфигурацию:
    { "mcpServers": { "supabase": { "command": "/full/path/to/supabase-mcp-server", // Replace with the actual path from step 1 "env": { "QUERY_API_KEY": "your-api-key", // Required - get your API key at thequery.dev "SUPABASE_PROJECT_REF": "your-project-ref", "SUPABASE_DB_PASSWORD": "your-db-password", "SUPABASE_REGION": "us-east-1", // optional, defaults to us-east-1 "SUPABASE_ACCESS_TOKEN": "your-access-token", // optional, for management API "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key" // optional, for Auth Admin SDK } } } }

Если конфигурация верна, вы должны увидеть зеленый индикатор рядом с сервером Supabase MCP в списке серверов Cline MCP, а также сообщение, подтверждающее «сервер Supabase MCP подключен» в нижней части панели.

Поиск неисправностей

Вот несколько советов и рекомендаций, которые могут вам помочь:

  • Отладка установки - запустите supabase-mcp-server прямо из терминала, чтобы проверить, работает ли он. Если нет, то, возможно, возникла проблема с установкой.
  • Конфигурация сервера MCP — если предыдущий шаг сработал, значит, сервер установлен и настроен правильно. Если вы указали правильную команду, IDE должна подключиться. Обязательно укажите правильный путь к исполняемому файлу сервера.
  • Ошибка «Инструменты не найдены» — если вы видите «Клиент закрыт — инструменты недоступны» в курсоре, несмотря на то, что пакет установлен:
    • Найдите полный путь к исполняемому файлу, запустив which supabase-mcp-server (macOS/Linux) или where supabase-mcp-server (Windows)
    • Используйте полный путь в конфигурации сервера MCP вместо просто supabase-mcp-server
    • Например: /Users/username/.local/bin/supabase-mcp-server или C:\Users\username\.local\bin\supabase-mcp-server.exe
  • Переменные среды — чтобы подключиться к нужной базе данных, убедитесь, что вы задали переменные среды в mcp_config.json или в файле .env , размещенном в глобальном каталоге конфигурации ( ~/.config/supabase-mcp/.env в macOS/Linux или %APPDATA%\supabase-mcp\.env в Windows).
  • Доступ к журналам . Сервер MCP записывает подробные журналы в файл:
    • Расположение файла журнала:
      • macOS/Linux: ~/.local/share/supabase-mcp/mcp_server.log
      • Windows: %USERPROFILE%\.local\share\supabase-mcp\mcp_server.log
    • Журналы включают в себя состояние соединения, сведения о конфигурации и результаты работы.
    • Просмотрите журналы с помощью любого текстового редактора или команд терминала:
      # On macOS/Linux cat ~/.local/share/supabase-mcp/mcp_server.log # On Windows (PowerShell) Get-Content "$env:USERPROFILE\.local\share\supabase-mcp\mcp_server.log"

Если вы застряли или какие-либо из приведенных выше инструкций неверны, сообщите нам об этом.

Инспектор МКП

Суперполезный инструмент для отладки проблем сервера MCP — MCP Inspector. Если вы установили из исходников, вы можете запустить supabase-mcp-inspector из репозитория проекта, и он запустит экземпляр инспектора. В сочетании с журналами это даст вам полный обзор того, что происходит на сервере.

📝 Запуск supabase-mcp-inspector , если он установлен из пакета, работает неправильно — я проверю и исправлю в следующем выпуске.

Обзор функций

Инструменты запросов к базе данных

Начиная с версии v0.3+ сервер предоставляет комплексные возможности управления базами данных со встроенными средствами контроля безопасности:

  • Выполнение SQL-запросов : выполнение запросов PostgreSQL с оценкой рисков
    • Трехуровневая система безопасности :
      • safe : операции только для чтения (SELECT) — всегда разрешены
      • write : Изменения данных (INSERT, UPDATE, DELETE) — требуется небезопасный режим
      • destructive : изменения схемы (DROP, CREATE) — требуется небезопасный режим + подтверждение
  • Анализ и проверка SQL :
    • Использует парсер PostgreSQL (pglast) для точного анализа и предоставляет четкую обратную связь по требованиям безопасности
  • Автоматическое управление версиями миграции :
    • Операции по изменению базы данных автоматически версионируются
    • Генерирует описательные имена на основе типа операции и цели
  • Меры безопасности :
    • Режим SAFE по умолчанию допускает только операции чтения.
    • Все операторы выполняются в режиме транзакции через asyncpg
    • Двухэтапное подтверждение для операций с высоким риском
  • Доступные инструменты :
    • get_schemas : выводит список схем с размерами и количеством таблиц
    • get_tables : выводит список таблиц, внешних таблиц и представлений с метаданными
    • get_table_schema : Получает подробную структуру таблицы (столбцы, ключи, связи)
    • execute_postgresql : выполняет SQL-запросы в вашей базе данных
    • confirm_destructive_operation : выполняет высокорисковые операции после подтверждения
    • retrieve_migrations : Получает миграции с параметрами фильтрации и разбиения на страницы
    • live_dangerously : Переключение между безопасным и небезопасным режимами

Инструменты API управления

Начиная с версии 0.3.0 сервер обеспечивает безопасный доступ к API управления Supabase со встроенными элементами управления безопасностью:

  • Доступные инструменты :
    • send_management_api_request : отправляет произвольные запросы в Supabase Management API с автоматическим добавлением ссылки на проект
    • get_management_api_spec : Получает расширенную спецификацию API с информацией о безопасности
      • Поддерживает несколько режимов запроса: по домену, по определенному пути/методу или по всем путям.
      • Включает информацию об оценке риска для каждой конечной точки
      • Предоставляет подробные требования к параметрам и форматы ответов
      • Помогает LLM понять все возможности API управления Supabase
    • get_management_api_safety_rules : Получает все правила безопасности с понятными человеку объяснениями
    • live_dangerously : Переключение между безопасным и небезопасным режимами работы
  • Меры безопасности :
    • Использует тот же менеджер безопасности, что и операции с базой данных, для последовательного управления рисками
    • Операции, классифицированные по уровню риска:
      • safe : операции только для чтения (GET) — всегда разрешены
      • unsafe : операции по изменению состояния (POST, PUT, PATCH, DELETE) — требуют небезопасного режима
      • blocked : Разрушительные операции (удаление проекта и т.п.) — никогда не разрешены
    • Безопасный режим по умолчанию предотвращает случайные изменения состояния
    • Сопоставление шаблонов на основе пути для точных правил безопасности

Примечание : инструменты API управления работают только с удаленными экземплярами Supabase и несовместимы с локальными настройками разработки Supabase.

Инструменты администратора аутентификации

Я планировал добавить поддержку методов Python SDK на сервер MCP. Поразмыслив, я решил добавить только поддержку методов Auth admin, поскольку мне часто приходилось вручную создавать тестовых пользователей, что было подвержено ошибкам и отнимало много времени. Теперь я могу просто попросить Cursor создать тестового пользователя, и это будет сделано без проблем. Ознакомьтесь с полной документацией по методу Auth Admin SDK, чтобы узнать, что он может делать.

Начиная с версии 0.3.6 сервер поддерживает прямой доступ к методам Supabase Auth Admin через Python SDK:

  • Включает в себя следующие инструменты:
    • get_auth_admin_methods_spec для получения документации по всем доступным методам Auth Admin
    • call_auth_admin_method для прямого вызова методов Auth Admin с правильной обработкой параметров
  • Поддерживаемые методы:
    • get_user_by_id : Получить пользователя по его ID
    • list_users : Список всех пользователей с разбивкой на страницы
    • create_user : Создать нового пользователя
    • delete_user : Удалить пользователя по его ID
    • invite_user_by_email : Отправить ссылку-приглашение на электронную почту пользователя
    • generate_link : Генерация ссылки электронной почты для различных целей аутентификации.
    • update_user_by_id : Обновить атрибуты пользователя по ID
    • delete_factor : Удалить фактор для пользователя (в настоящее время не реализовано в SDK)
Зачем использовать Auth Admin SDK вместо сырых SQL-запросов?

Auth Admin SDK обеспечивает несколько ключевых преимуществ по сравнению с прямой манипуляцией SQL:

  • Функциональность : позволяет выполнять операции, которые невозможно выполнить с помощью только SQL (инвайты, магические ссылки, MFA)
  • Точность : более надежно, чем создание и выполнение сырых SQL-запросов в схемах аутентификации.
  • Простота : предлагает понятные методы с надлежащей проверкой и обработкой ошибок.
    • Формат ответа:
      • Все методы возвращают структурированные объекты Python вместо необработанных словарей.
      • Доступ к атрибутам объекта можно получить с помощью точечной нотации (например, user.id вместо user["id"] )
    • Крайние случаи и ограничения:
      • Проверка UUID: многие методы требуют допустимого формата UUID для идентификаторов пользователей и будут возвращать определенные ошибки проверки.
      • Конфигурация электронной почты: такие методы, как invite_user_by_email и generate_link требуют настройки отправки электронной почты в вашем проекте Supabase.
      • Типы ссылок: При создании ссылок разные типы ссылок предъявляют разные требования:
        • ссылки signup не требуют существования пользователя
        • Для ссылок magiclink и recovery требуется, чтобы пользователь уже существовал в системе.
      • Обработка ошибок: сервер предоставляет подробные сообщения об ошибках из API Supabase, которые могут отличаться от интерфейса панели управления.
      • Доступность методов: некоторые методы, такие как delete_factor , представлены в API, но не полностью реализованы в SDK.

Журналы и аналитика

Сервер обеспечивает доступ к журналам и аналитическим данным Supabase, что упрощает мониторинг и устранение неполадок ваших приложений:

  • Доступный инструмент : retrieve_logs — доступ к журналам из любой службы Supabase
  • Сборники журналов :
    • postgres : Журналы сервера базы данных
    • api_gateway : запросы API-шлюза
    • auth : События аутентификации
    • postgrest : журналы сервисов RESTful API
    • pooler : Журналы пула соединений
    • storage : Операции по хранению объектов
    • realtime : журналы подписки WebSocket
    • edge_functions : Выполнение функций без сервера
    • cron : Журналы запланированных заданий
    • pgbouncer : Журналы пула подключений
  • Возможности : Фильтрация по времени, поиск текста, применение фильтров полей или использование пользовательских SQL-запросов.

Упрощает отладку всего стека Supabase без переключения между интерфейсами или написания сложных запросов.

Автоматическое управление версиями изменений базы данных

"С большой силой приходит большая ответственность". Хотя инструмент execute_postgresql в сочетании с метко названным инструментом live_dangerously обеспечивает мощный и простой способ управления базой данных Supabase, это также означает, что удаление таблицы или ее изменение осуществляется одним сообщением в чате. Чтобы снизить риск необратимых изменений, начиная с версии 0.3.8 сервер поддерживает:

  • автоматическое создание скриптов миграции для всех операций записи и разрушения SQL, выполняемых в базе данных
  • улучшенный режим безопасности выполнения запросов, в котором все запросы классифицируются по:
    • safe тип: всегда разрешено. Включает все операции только для чтения.
    • тип write : требует включения пользователем режима write .
    • destructive тип: требует включения пользователем режима write и двухэтапного подтверждения выполнения запроса для клиентов, которые не запускают инструменты автоматически.

Универсальный режим безопасности

Начиная с версии v0.3.8 режим безопасности был стандартизирован для всех служб (база данных, API, SDK) с использованием универсального менеджера безопасности. Это обеспечивает согласованное управление рисками и унифицированный интерфейс для управления настройками безопасности на всем сервере MCP.

Все операции (SQL-запросы, API-запросы, методы SDK) классифицируются по уровням риска:

  • Low риск: операции только для чтения, которые не изменяют данные или структуру (запросы SELECT, запросы API GET)
  • Medium риск: операции записи, которые изменяют данные, но не структуру (INSERT/UPDATE/DELETE, большинство запросов API POST/PUT)
  • High риск: разрушительные операции, которые изменяют структуру базы данных или могут привести к потере данных (DROP/TRUNCATE, DELETE API конечные точки)
  • Extreme риск: Операции с серьезными последствиями, которые полностью блокируются (удаление проектов)

Меры безопасности применяются в зависимости от уровня риска:

  • Операции с низким уровнем риска всегда разрешены.
  • Операции со средним уровнем риска требуют включения небезопасного режима
  • Операции с высоким риском требуют небезопасного режима И явного подтверждения
  • Операции с экстремальным риском никогда не допускаются.
Как работает поток подтверждения

Любые высокорисковые операции (будь то запрос postgresql или api) будут заблокированы даже в unsafe режиме. Вам придется явно подтвердить и одобрить каждую высокорисковую операцию, чтобы она была выполнена.

Журнал изменений

  • 📦 Упрощенная установка через менеджер пакетов - ✅ (v0.2.0)
  • 🌎 Поддержка различных регионов Supabase - ✅ (v0.2.2)
  • 🎮 Программный доступ к API управления Supabase с элементами управления безопасностью - ✅ (v0.3.0)
  • 👷‍♂️ Чтение и чтение-запись SQL-запросов к базе данных с контролем безопасности - ✅ (v0.3.0)
  • 🔄 Надежная обработка транзакций как для прямых, так и для объединенных соединений - ✅ (v0.3.2)
  • 🐍 Поддержка методов и объектов, доступных в нативном Python SDK - ✅ (v0.3.6)
  • 🔍 Более строгая проверка SQL-запросов ✅ (v0.3.8)
  • 📝 Автоматическое версионирование изменений базы данных ✅ (v0.3.8)
  • 📖 Радикально улучшенные знания и инструменты API spec ✅ (v0.3.8)
  • ✍️ Улучшена согласованность инструментов, связанных с миграцией, для более организованной базы данных vcs ✅ (v0.3.10)
  • 🥳 Выпущен Query MCP (v0.4.0)

Более подробную дорожную карту можно найти в этом обсуждении на GitHub.

История Звезды


Наслаждайтесь! ☺️

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Этот сервер обеспечивает взаимодействие с базами данных Supabase PostgreSQL через протокол MCP, обеспечивая бесперебойную интеграцию с IDE Cursor и Windsurf для безопасного и проверенного управления базами данных.

  1. Оглавление
    1. ✨ Основные характеристики
      1. Начиная
        1. Предпосылки
        2. Установка PostgreSQL
        3. Шаг 1. Установка
        4. Шаг 2. Конфигурация
        5. Шаг 3. Использование
        6. Поиск неисправностей
        7. Инспектор МКП
      2. Обзор функций
        1. Инструменты запросов к базе данных
        2. Инструменты API управления
        3. Инструменты администратора аутентификации
        4. Журналы и аналитика
        5. Автоматическое управление версиями изменений базы данных
        6. Универсальный режим безопасности
      3. Журнал изменений
        1. История Звезды

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            An MCP server that provides tools for interacting with Supabase databases, storage, and edge functions.
            Last updated -
            14
            41
            JavaScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            An MCP server that connects to Supabase PostgreSQL databases, exposing table schemas as resources and providing tools for data analysis through SQL queries.
            Last updated -
            JavaScript
            MIT License
          • -
            security
            F
            license
            -
            quality
            A server implementing the Model Context Protocol (MCP) for Cursor that allows using a PostgreSQL database as storage for model contexts, enabling secure database exploration and querying.
            Last updated -
            JavaScript
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            Enables Cursor and Windsurf to safely interact with Supabase databases by providing tools for database management, SQL query execution, and Supabase Management API access with built-in safety controls.
            Last updated -
            7
            Python
            Apache 2.0
            • Apple
            • Linux

          View all related MCP servers

          ID: cyeeqagb81