SuperAPI AI 工具集

supabase-mcp

Supabase MCP Server 是 Supabase 官方社区提供的模型上下文协议(MCP)服务器,用于将 Supabase 项目连接到 Cursor、Claude、Windsurf 等 AI 助手。通过 MCP 标准,AI 助手可以直接与 Supabase 项目交互,执行管理数据表、获取配置、查询数据等任务。用户需先在 MCP 客户端中配置服务器,客户端会自动提示登录 Supabase 并选择包含目标项目的组织。该服务器支持本地 Supabase CLI 环境(http://localhost:54321/mcp)和自托管 Supabase,但这两类环境目前仅提供部分工具且不支持 OAuth 2.1。项目还提供 @supabase/mcp-server-supabase 包,导出 createToolSchemas() 以适配 Vercel AI SDK 的 MCP 客户端,以及 createSupabaseMcpHandler() 用于自托管 MCP 端点。官方建议在设置前阅读安全最佳实践,以了解将 LLM 连接到 Supabase 项目的风险及缓解措施。项目采用 Apache 2.0 许可证。

访问官网

工具介绍

用途

Supabase MCP Server 用于将 Supabase 项目连接到 AI 助手(如 Cursor、Claude、Windsurf 等)。它基于模型上下文协议(Model Context Protocol,MCP),该协议标准化了大语言模型(LLM)与 Supabase 等外部服务之间的通信方式。通过该服务器,AI 助手可以直接与 Supabase 项目交互,执行管理数据表、获取配置、查询数据等任务。

主要能力

  • 连接 AI 助手与 Supabase 项目,使其能够执行管理数据表、获取配置、查询数据等操作。
  • 提供完整的工具列表和配置选项,详见 Supabase MCP Server 文档。
  • 文档中提供交互式 URL 构建器,可帮助生成配置选项。
  • 支持通过 Supabase 仪表盘的 MCP 连接选项卡为项目生成自定义 MCP URL。
  • 提供 @supabase/mcp-server-supabase 包,导出 createToolSchemas(),用于为 Vercel AI SDK 的 MCP 客户端填充输入和输出模式,使 Supabase MCP 工具可作为静态工具使用,并支持客户端验证和 TypeScript 类型推断。
  • createToolSchemas() 接受与 MCP 服务器 URL 参数类似的过滤选项:features(限制特定功能组,如 ['database', 'docs'],默认为所有默认功能组)、projectScoped(为 true 时从工具输入模式中省略 project_id 并排除账户级工具,适用于连接配置了 project_ref 的服务器,默认为 false)、readOnly(为 true 时排除变更类工具,适用于连接配置了 read_only=true 的服务器,默认为 false)。
  • 该服务器不在 MCP 工具结果中发送 structuredContent,AI SDK 会回退到从内容文本中解析 JSON。
  • 支持自托管 MCP 端点:@supabase/mcp-server-supabase 包导出 createSupabaseMcpHandler(),用于从自有端点通过 HTTP 提供工具。它接受与 createSupabaseMcpServer() 相同的 SupabaseMcpServerOptions,其中最重要的是 platform。
  • 该处理器仅支持当前协议修订版,创建时使用 legacy: 'reject',因此仅支持 2025 年代协议的客户端会收到 HTTP 400 而非被服务。
  • 当 platform 携带每请求凭据时,应为每个请求创建处理器并在响应完成时关闭。处理器会闭包捕获所提供的 platform,因此共享的处理器会用该 platform 服务每个请求。
  • 当 platform 旨在共享时(例如服务账户令牌),长期存活的处理器是合适的。应创建一次并在关闭时调用 close(),而非每个响应都关闭,因为 close() 会拆除订阅路由器并拒绝后续请求。
  • toNodeHandler 来自 @modelcontextprotocol/node,它不是本包的依赖项,需一并安装。
  • 可向 createSupabaseMcpServer 传递 observer 以收集请求生命周期结果和 Supabase 内置事实。服务器不会自动将请求或响应负载转发给 observer。Supabase 内置事实使用一组封闭的有界字段和值;自定义事实不会自动进行隐私验证。省略 observer 会跳过所有观察工作。Observer、classifier 和 sink 的失败不会改变请求行为,但同步的 observer 和 classifier 工作可能会阻塞请求。
  • 其他 MCP 服务器:@supabase/mcp-server-postgrest 允许通过 REST API 将自己的用户连接到应用,详见其项目 README。

使用方式

  1. 阅读安全最佳实践:在设置 MCP 服务器之前,建议先阅读安全最佳实践,了解将 LLM 连接到 Supabase 项目的风险及缓解措施。
  2. 配置 MCP 客户端:访问设置文档配置 Supabase MCP 服务器。也可以访问 Supabase 仪表盘的 MCP 连接选项卡,为项目生成自定义 MCP URL。MCP 客户端会在设置过程中自动提示登录 Supabase,需选择包含目标项目的组织。大多数 MCP 客户端需要以下信息(原文未列出具体字段)。如果文档中未列出所用 MCP 客户端,请查阅该客户端的 MCP 文档,并将上述 MCP 信息复制为其期望的格式(json、yaml 等)。
  3. 本地环境:如果使用 Supabase CLI 在本地运行 Supabase,可通过 http://localhost:54321/mcp 访问 MCP 服务器。目前 CLI 环境中的 MCP 服务器仅提供部分工具,且不支持 OAuth 2.1。
  4. 自托管环境:对于自托管 Supabase,请查看“Enabling MCP server”页面。目前自托管环境中的 MCP 服务器仅提供部分工具,且不支持 OAuth 2.1。

适用场景

  • 希望让 AI 助手直接操作 Supabase 项目(管理数据表、获取配置、查询数据)的开发者。
  • 使用 Cursor、Claude、Windsurf 等支持 MCP 的 AI 助手的用户。
  • 需要在 Vercel AI SDK 的 MCP 客户端中以静态工具方式使用 Supabase MCP 工具,并获得客户端验证和 TypeScript 类型推断的开发者。
  • 需要自托管 MCP 端点,从自有端点通过 HTTP 提供工具的开发者。
  • 希望通过 @supabase/mcp-server-postgrest 将自有用户通过 REST API 连接到应用的场景。

限制

  • 本地 Supabase CLI 环境和自托管 Supabase 环境目前仅提供部分工具,且不支持 OAuth 2.1。
  • 自托管处理器仅支持当前协议修订版,仅支持 2025 年代协议的客户端会收到 HTTP 400。
  • 该服务器不在 MCP 工具结果中发送 structuredContent。
  • 服务器不会自动将请求或响应负载转发给 observer;自定义事实不会自动进行隐私验证;同步的 observer 和 classifier 工作可能会阻塞请求。
  • 使用前需阅读安全最佳实践,了解连接 LLM 到 Supabase 项目的风险。
  • 项目采用 Apache 2.0 许可证,详见 LICENSE 文件。

其他信息

  • 项目提供 CONTRIBUTING 文件,说明如何为项目做贡献。
  • 可进一步了解 Model Context Protocol 及其能力,以及如何安全地将变更推广到生产环境。