Supabase
Supabase MCP — CRUD базы данных, хранилище, управление пользователями и проектами через ассистента
Что умеет
- Читать, вставлять, обновлять и удалять записи таблиц через PostgREST
- Управлять бакетами и объектами хранилища, создавать подписанные ссылки
- Создавать, обновлять и удалять пользователей через Auth Admin
- Управлять жизненным циклом проектов: создавать, ставить на паузу, восстанавливать
- Выполнять SQL-запросы и генерировать TypeScript-типы схемы
Какие данные видит
Ассистент работает с проектом Supabase по service role key или access token — с полным доступом к базе, хранилищу и пользователям, минуя RLS.
Нужен ли аккаунт
Нужен API-ключ из настроек сервиса
MCP-сервер для Supabase даёт 31 инструмент для управления базой данных через PostgREST, хранилищем файлов, пользователями через Auth Admin, а также жизненным циклом проектов и edge-функциями. Ассистент может выполнять SQL-запросы, генерировать TypeScript-типы и управлять секретами и API-ключами проекта.
Как подключить
Как подключить Supabase к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://supabase--node2flow.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить Supabase к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://supabase--node2flow.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить Supabase к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://supabase--node2flow.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (31)
Технические названия из tools/list. Нужны только разработчикам.
| sb_list_records | List records from a Supabase table/view with PostgREST filtering, column selection, ordering, and pagination. Filter syntax: age=gt.18, status=eq.active, name=ilike.*john*, id=in.(1,2,3). Resource embedding (JOINs): select=*,orders(*) |
| sb_insert_records | Insert one or more records into a Supabase table. Pass a single object or an array of objects. Use return=representation to get the created records back. |
| sb_update_records | Update records in a Supabase table matching a filter. Filter is REQUIRED to prevent accidental full-table updates. Use return=representation to see what changed. |
| sb_upsert_records | Upsert (insert or update on conflict) records in a Supabase table. Uses merge-duplicates by default. Specify on_conflict for non-primary-key columns. |
| sb_delete_records | Delete records from a Supabase table matching a filter. Filter is REQUIRED to prevent accidental full-table deletion. Use sb_list_records first to verify which records will be deleted. |
| sb_call_function | Call a stored PostgreSQL function (RPC) in Supabase. Use method=GET for immutable functions, POST for volatile ones (default). |
| sb_list_buckets | List all storage buckets in the Supabase project. Returns bucket name, public status, size limits, and allowed MIME types. |
| sb_create_bucket | Create a new storage bucket in Supabase. Set public=true for publicly accessible files. Optionally set file size limit and allowed MIME types. |
| sb_delete_bucket | Delete a storage bucket from Supabase. The bucket must be empty before deletion. Use sb_delete_objects to remove files first. |
| sb_list_objects | List objects (files) in a Supabase storage bucket. Supports prefix filtering, pagination, and search. |
| sb_delete_objects | Delete one or more objects from a Supabase storage bucket. Provide an array of file paths to delete. |
| sb_create_signed_url | Create a temporary signed URL for a private storage object. The URL expires after the specified duration. |
| sb_list_users | List all users in the Supabase Auth system. Returns paginated results with user details including email, metadata, and creation date. |
| sb_get_user | Get a single user by ID from Supabase Auth. Returns full user details including metadata, identities, and last sign-in. |
| sb_create_user | Create a new user in Supabase Auth. Set email_confirm=true to skip email verification. Use app_metadata for admin-controlled data (roles, permissions). |
| sb_update_user | Update a user in Supabase Auth. Can change email, phone, password, metadata, or ban the user. |
| sb_delete_user | Delete a user from Supabase Auth. This permanently removes the user and all their auth data. |
| sb_list_projects | List all Supabase projects in your account. Returns project name, ref, region, status, and database info. Requires SUPABASE_ACCESS_TOKEN. |
| sb_get_project | Get details of a specific Supabase project by reference ID. Returns name, region, status, database host, and API URL. |
| sb_create_project | Create a new Supabase project. Requires organization ID, region, and database password. Project creation takes a few minutes. |
| sb_pause_project | Pause a Supabase project. Paused projects stop all services (database, auth, storage) and free up resources. Free tier projects auto-pause after inactivity. |
| sb_restore_project | Restore a paused Supabase project. Restarts all services including database, auth, and storage. |
| sb_run_query | Execute a SQL query on a Supabase project database via the Management API. Supports SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, and all SQL. Returns query results as JSON. |
| sb_list_migrations | List database migrations for a Supabase project. Shows migration version, name, and status. |
| sb_get_typescript_types | Generate TypeScript type definitions from the Supabase project database schema. Useful for type-safe database access. |
| sb_list_functions | List all Edge Functions deployed to a Supabase project. Returns function slug, name, status, and creation date. |
| sb_get_function | Get details of a specific Edge Function by slug. Returns function metadata, status, version, and entry point. |
| sb_list_secrets | List all secrets (environment variables) for a Supabase project. Returns secret names only (values are never exposed). |
| sb_create_secrets | Create or update secrets (environment variables) for a Supabase project. If a secret with the same name exists, it will be overwritten. |
| sb_delete_secrets | Delete secrets (environment variables) from a Supabase project by name. |
| sb_list_api_keys | List API keys for a Supabase project. Returns anon key, service_role key, and any custom keys with their names and roles. |