Skip to main content
Glama
jryski

Supabase User MCP

Supabase User MCP

项目状态: M0 活跃 文档 CI 许可证: Apache 2.0

为每个人类和智能体赋予其独立的数据库身份边界。

Supabase User MCP 是一个独立的、安全优先的数据平面 MCP 服务器,适用于基于 Supabase 构建的应用程序。它旨在让 AI 客户端能够以特定用户或智能体的身份处理应用数据,同时 PostgreSQL 行级安全(RLS)仍然是最终的授权权威。

[!WARNING] 此存储库处于活跃的 M0 开发阶段。它仅包含一个零权限协议探针——而非可部署的用户数据服务器——并且不得连接到生产数据。

存在原因

Supabase 托管的 MCP 服务器是一个开发者控制平面工具。它管理开发者权限下的项目、模式、迁移、函数和操作资源。Supabase 明确建议将该服务器用于开发和测试,而非将其暴露给客户或生产数据。

Supabase User MCP 探索了互补的数据平面问题:

Supabase 托管的 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 — 在不应用变更的情况下检查审批状态

这些名称描述了参考的 Sovereign-Memory 实现。适配器稍后可能将相同的能力模型映射到其他 Supabase 应用模式。请参阅完整的功能目录。

当前阶段

该项目处于 M0:协议与策略基础 阶段。在服务器代码被视为可行之前,M0 必须解决两个身份问题:

  • 远程 HTTP MCP 服务器如何在不违反 MCP 受众绑定和令牌传输要求的情况下获取下游 Supabase 令牌。

  • 如何提供和撤销持久的非人类主体,鉴于 Supabase 的 OAuth 服务器当前记录了授权码和刷新令牌授权,而非 client_credentials 授权。

这些是架构关卡,而非实现细节。本地 stdio 验证和远程 HTTP 服务作为独立的部署配置文件进行跟踪,直到远程身份链得以端到端展示。

当前的可执行 M0 峰值证明了严格的 TypeScript 工作区、MCP 2026-07-28 stdio 协商、结构化的输入/输出验证以及一个故意非权威的工具。它没有 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。安全报告应通过 SECURITY.md 中描述的私人流程提交,而非公开问题。

项目状态与独立性

Supabase User MCP 是一个独立开源项目。它不是 Supabase 的官方产品,也未获得 Supabase, Inc. 的认可。“Supabase”用于标识与 Supabase 平台的兼容性。

根据 Apache 许可证 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