Skip to main content
Glama
jryski

Supabase User MCP

Supabase User MCP

Project status: M0 active Documentation CI License: Apache 2.0

Дайте каждому человеку и агенту собственную границу идентичности в базе данных.

Supabase User MCP — это независимый MCP-сервер плоскости данных с приоритетом безопасности для приложений, созданных на Supabase. Он предназначен для того, чтобы AI-клиенты могли работать с данными приложения от имени конкретного пользователя или агента, при этом PostgreSQL Row Level Security (RLS) остаётся финальным органом авторизации.

[!WARNING] Этот репозиторий находится в активной разработке M0. Он содержит только протокольный пробник без полномочий — а не разворачиваемый сервер пользовательских данных, — и его нельзя подключать к производственным данным.

Зачем это существует

Размещённый MCP-сервер Supabase — это инструмент плоскости управления для разработчика. Он управляет проектами, схемами, миграциями, функциями и операционными ресурсами под полномочиями разработчика. Supabase явно рекомендует использовать этот сервер для разработки и тестирования, а не для предоставления доступа клиентам или производственным данным.

Supabase User MCP исследует дополнительную проблему плоскости данных:

Supabase hosted MCP

Supabase User MCP

Основной пользователь

Разработчик

Пользователь приложения или ограниченный агент

Плоскость

Плоскость управления проектом

Плоскость данных приложения

Типичные действия

Схемы, миграции, операции с проектом

Чтение и запись в предметной области

Авторизация

Учётная запись разработчика и область проекта

Пользователь, клиент, арендатор, возможность и строка

Граница базы данных

Административные инструменты

RLS должна оставаться эффективной

Предполагаемая среда

Разработка и тестирование

Продакшн — только после прохождения проверок безопасности

Цель — не сделать инъекцию подсказок невозможной. Цель — гарантировать, что скомпрометированная модель не сможет превысить полномочия предоставленной ей идентичности и возможностей.

Related MCP server: MCP Warehouse Server

Тезис безопасности

MCP client
    │ authenticated request
    ▼
Supabase User MCP
    ├── validates identity and request context
    ├── exposes a small, allowlisted tool surface
    ├── enforces limits, approval states, and audit metadata
    ▼
Supabase Data API / PostgREST
    ▼
PostgreSQL + RLS
    ├── caller and OAuth-client policy
    ├── tenant and capability policy
    └── row and operation policy

Проект следует шести незыблемым принципам:

  1. Никакого мастер-ключа в пути запроса MCP. Публичный обработчик инструмента никогда не должен использовать service_role или секретный ключ для выполнения действий от имени пользователя.

  2. База данных принимает окончательное решение. Проверки в приложении улучшают удобство использования; RLS и ограничения базы данных обеспечивают авторизацию.

  3. Инструменты — это возможности, а не универсальная REST-консоль. Первоначальный сервер не будет предоставлять произвольные SQL, таблицы, схемы, имена RPC, URL-адреса или HTTP-методы.

  4. Чтение и запись — это разные полномочия. Канонические или необратимые изменения используют поддерживаемый базой данных процесс предложения и утверждения.

  5. Недоверенный контент остаётся данными. Результаты инструментов ограничены и помечаются как недоверенные; инъекция подсказок тестируется как проблема изоляции.

  6. Утверждения требуют доказательств. Этап считается завершённым только тогда, когда проходят его позитивные, негативные, кросс-идентификационные и состязательные тесты.

Планируемая поверхность продукта

Первый полезный релиз намеренно узок:

  • memory_search — ограниченный полнотекстовый или семантический поиск по авторизованным записям

  • memory_get — получение одной авторизованной записи памяти по непрозрачному идентификатору

  • memory_list_recent — список авторизованных недавних записей с жёстким ограничением количества страниц

  • memory_append_observation — идемпотентное добавление неканонической информации

  • memory_propose_change — подготовка канонического изменения для проверки человеком

  • memory_get_proposal — проверка статуса утверждения без применения изменения

Названия описывают эталонную реализацию суверенной памяти. Адаптеры впоследствии могут сопоставить ту же модель возможностей с другими схемами приложений Supabase. См. полный каталог функций.

Текущий этап

Проект находится на этапе M0: протокольный и политический фундамент. Прежде чем код сервера будет считаться жизнеспособным, M0 должен решить два вопроса идентичности:

  • Как удалённый HTTP MCP-сервер получает последующий токен Supabase, не нарушая требований MCP к привязке аудитории и передаче токенов.

  • Как долговечные нечеловеческие субъекты предоставляются и отзываются, учитывая, что сервер OAuth Supabase в настоящее время документирует гранты кода авторизации и обновления токенов, а не грант client_credentials.

Это архитектурные барьеры, а не детали реализации. Локальное доказательство stdio и удалённый HTTP-сервис отслеживаются как отдельные профили развёртывания, пока удалённая цепочка идентичности не будет продемонстрирована из конца в конец.

Исполняемый спайк M0 теперь подтверждает строгую рабочую область TypeScript, согласование stdio MCP 2026-07-28, структурированную проверку ввода/вывода и намеренно неавторитетный инструмент. В нём нет клиента Supabase, учётных данных, сетевого доступа и операций с данными. См. подтверждение совместимости.

Попробуйте пробник совместимости M0

Предварительные требования: Node.js 22.20.0 и npm 11.19.0.

npm ci
npm run check
npm run build
npm start

npm start запускает JSON-RPC stdio-сервер для MCP-клиента 2026-07-28; это не интерактивное терминальное приложение. Единственный доступный инструмент — system_compatibility_probe, который не выполняет сетевых операций или операций с данными. Точные версии и команды проверки задокументированы в руководстве разработчика.

Дорожная карта

Этап

Результат

Критерий выпуска

M0

Решения по протоколу, идентичности, политике и модели угроз

Архитектурный обзор завершён

M1

Локальная лаборатория политик с репрезентативными субъектами и записями

Матрица доступа проходит

M2

Эталонный сервер stdio только для чтения

Изоляция RLS доказана из конца в конец

M3

Идемпотентные записи и канонический процесс утверждения

Прямое каноническое изменение невозможно

M4

Соответствующий стандартам удалённый профиль HTTP и OAuth

Аудитория и цепочка последующих токенов проходят проверку

M5

Эксплуатация флота, наблюдаемость и состязательное усиление защиты

Учения по отзыву и изоляции проходят

M6

Стабильный контракт v1

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

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

Документация

Вклад в проект

Наиболее ценными вкладами сегодня являются состязательные обзоры, предшествующий опыт, тест-кейсы политик и небольшие исправления документации. Пожалуйста, прочитайте CONTRIBUTING.md и GOVERNANCE.md перед открытием pull request. Отчёты о безопасности относятся к приватному процессу, описанному в SECURITY.md, а не к публичному issue.

Статус проекта и независимость

Supabase User MCP — это независимый проект с открытым исходным кодом. Он не является официальным продуктом Supabase и не одобрен компанией Supabase, Inc. Название «Supabase» используется для обозначения совместимости с платформой Supabase.

Лицензировано на условиях Apache License 2.0.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables controlled AI-agent access to enterprise-shaped tools with a deny-by-default gated write path, human approval, dry-run execution, and append-only audit logging.
    1
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to query a Postgres data warehouse through a governed, read-only SQL interface with policy enforcement, row limits, schema-level PII isolation, and a full audit trail.
    1
    -
  • A
    license
    B
    quality
    C
    maintenance
    Enables AI agents to act on live business objects under enforceable per-call identity, per-tool grants, and mandatory human approval for irreversible actions, with connectors isolated from core logic.
    8
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to safely operate on PostgreSQL data through typed MCP tools with per-identity RBAC, guardrails, and immutable audit logging.
    437 npm
    MIT