Supabase User MCP
Supabase User MCP
Дайте каждому человеку и агенту собственную границу идентичности в базе данных.
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Проект следует шести незыблемым принципам:
Никакого мастер-ключа в пути запроса MCP. Публичный обработчик инструмента никогда не должен использовать
service_roleили секретный ключ для выполнения действий от имени пользователя.База данных принимает окончательное решение. Проверки в приложении улучшают удобство использования; RLS и ограничения базы данных обеспечивают авторизацию.
Инструменты — это возможности, а не универсальная REST-консоль. Первоначальный сервер не будет предоставлять произвольные SQL, таблицы, схемы, имена RPC, URL-адреса или HTTP-методы.
Чтение и запись — это разные полномочия. Канонические или необратимые изменения используют поддерживаемый базой данных процесс предложения и утверждения.
Недоверенный контент остаётся данными. Результаты инструментов ограничены и помечаются как недоверенные; инъекция подсказок тестируется как проблема изоляции.
Утверждения требуют доказательств. Этап считается завершённым только тогда, когда проходят его позитивные, негативные, кросс-идентификационные и состязательные тесты.
Планируемая поверхность продукта
Первый полезный релиз намеренно узок:
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 startnpm start запускает JSON-RPC stdio-сервер для MCP-клиента 2026-07-28; это не интерактивное терминальное приложение. Единственный доступный инструмент — system_compatibility_probe, который не выполняет сетевых операций или операций с данными. Точные версии и команды проверки задокументированы в руководстве разработчика.
Дорожная карта
Этап | Результат | Критерий выпуска |
M0 | Решения по протоколу, идентичности, политике и модели угроз | Архитектурный обзор завершён |
M1 | Локальная лаборатория политик с репрезентативными субъектами и записями | Матрица доступа проходит |
M2 | Эталонный сервер stdio только для чтения | Изоляция RLS доказана из конца в конец |
M3 | Идемпотентные записи и канонический процесс утверждения | Прямое каноническое изменение невозможно |
M4 | Соответствующий стандартам удалённый профиль HTTP и OAuth | Аудитория и цепочка последующих токенов проходят проверку |
M5 | Эксплуатация флота, наблюдаемость и состязательное усиление защиты | Учения по отзыву и изоляции проходят |
M6 | Стабильный контракт v1 | Независимый обзор безопасности и чек-лист выпуска пройдены |
Каждый этап имеет результаты, зависимости, исключения и измеримые критерии завершения в дорожной карте разработки.
Документация
Определение продукта — пользователи, задачи, границы и показатели успеха
Архитектура — компоненты, границы доверия и профили развёртывания
Каталог функций — предлагаемые инструменты и возможности платформы
Модель безопасности — идентичности, возможности, RLS и утверждения
Модель угроз — активы, злоумышленники, случаи злоупотреблений и меры защиты
Дорожная карта — последовательность реализации и критерии выпуска
Руководство разработчика — зафиксированный стек, структура и инженерные стандарты
Подтверждение совместимости M0 — зафиксированные версии и доказательство протокола
Архитектурные решения — важные решения и открытые вопросы
Вклад в проект
Наиболее ценными вкладами сегодня являются состязательные обзоры, предшествующий опыт, тест-кейсы политик и небольшие исправления документации. Пожалуйста, прочитайте CONTRIBUTING.md и GOVERNANCE.md перед открытием pull request. Отчёты о безопасности относятся к приватному процессу, описанному в SECURITY.md, а не к публичному issue.
Статус проекта и независимость
Supabase User MCP — это независимый проект с открытым исходным кодом. Он не является официальным продуктом Supabase и не одобрен компанией Supabase, Inc. Название «Supabase» используется для обозначения совместимости с платформой Supabase.
Лицензировано на условиях Apache License 2.0.
This server cannot be deployed
Maintenance
Related MCP Connectors
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Versioned agent memory in your own Postgres: portable context, permissioned, audit trail.
Runtime permission, approval, and audit layer for AI agent tool execution.
Hosted AI agents and workflows with app OAuth, human approval gates, and a run ledger.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables 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-
- FlicenseNot gradedqualityCmaintenanceEnables 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-
- AlicenseBqualityCmaintenanceEnables 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.8MIT

@weave-kit/engineofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents to safely operate on PostgreSQL data through typed MCP tools with per-identity RBAC, guardrails, and immutable audit logging.437 npmMIT