MCP · MongoDB 联邦查询 · Realtime 二进制 · v1.26.07 —— supabase/supabase 七月 Developer Update 把 AI 编码代理直接接进了数据库,同时让 Postgres 能 「看到」MongoDB 里的文档。
是什么、为谁而建
Supabase 是一个以 Postgres 为核心的全栈开发平台——你可以把它理解为 Firebase 的 开源替代品,但底层选择的是企业级开源组件组合。一台 Postgres 数据库之上, Supabase 自动生成了 REST API(通过 PostgREST)、GraphQL 接口(通过 pg_graphql)、 WebSocket 实时订阅(通过 Realtime 服务)、JWT 认证(通过 GoTrue)以及 S3 兼容的 文件存储。它还提供了 Edge Functions(基于 Deno)、向量嵌入/AI 工具箱和一套完整的 管理面板。从个人项目到月活百万的应用,Supabase 都已经被大量采用(GitHub 106K Star)。核心团队维护着 JavaScript、Dart、Swift、 Kotlin、Python 等多语言客户端。 v1.26.07 版是一次偏生态连接方向的更新, 几个关键新特性都在回答同一个问题: 如何让 Supabase 更容易地融入现代开发工具链。
Agent 时代的新摩擦
AI 编码助手(如 OpenCode、Claude Code、Cursor)正在快速进入开发工作流中——它们 不再是只写代码片段的玩具,而是能全程参与的协作伙伴。但一个尴尬的缺口始终存在: 这些代理几乎无法直接访问你的后端数据。你在聊天里让 Agent「看看数据库里有几条 新用户」,它只能给你一个 Python 脚本,让你自己跑;或者你需要手动配置 MCP 服务 器,把数据库端点一个个暴露给 Agent。
与此同时,很多团队的数据模型并不统一。历史数据存在 MongoDB,核心业务跑在 Postgres 上,每次跨库查询都得写 ETL 管道或在应用层做双写。实时场景也一样—— Realtime Broadcast 之前只支持 JSON 格式,而传感器数据、截图帧、二进制协议包都 需要额外的序列化处理层。这些「连接成本」在传统开发中或许能忍,但在 Agent 时代, 每一步人工拼接都拖慢了自动化闭环的速度。
本版解决了什么
v1.26.07 在三个方向上补上了这些缺口。
AI 代理直连:OpenCode MCP 集成。 本版最受关注的变化是 OpenCode(180K Star
的开源编码代理)的 Supabase 插件。在 OpenCode 中输入 /supabase 完成认证后,
代理就能直接列出你的 Supabase 组织与项目、创建新项目、调用数据库和 Edge
Functions、查阅日志。背后的技术是 MCP(Model Context Protocol)——Supabase 为
OpenCode 自动配置了 MCP 服务器,代理不再需要手动拼连接字符串。如果你用其他
Agent,也可以自行对接 Supabase MCP 端点。
MongoDB 联邦查询。 Wrappers 扩展更新到 v0.6.2,新增了 mongodb_wrapper 外
部数据包装器(FDW)。一句话概括:你可以在 Postgres 里直接 SELECT MongoDB
集合。配置完成后,一条 create foreign table 就能把 MongoDB 里的 users、
orders 映射成 Postgres 的虚拟表,然后直接用 SQL 做跨库 JOIN。BSON 字段自动映
射为 SQL 列,嵌套文档通过 _doc jsonb 列保留。
Realtime Broadcast 二进制约。 之前 Broadcast 只能收发 JSON 消息,现在支持
ArrayBuffer / Blob 等二进制格式。这对于传感器遥测、游戏状态快照、实时截图
流这类场景尤其有用——省去了 JSON Base64 编码和解码的开销。需要留意的是,Dart、
Kotlin、Python 客户端暂不支持,旧 SDK 会静默丢弃二进制消息,升级前请确认客户端
版本。
此外还有一些实用更新:TanStack DB 官方同步库 @supabase-labs/tanstack-db
alpha 版发布,让你可以在 React 中使用 TanStack DB 的本地优先数据管理,并自动与
Supabase 表通过 PostgREST 和 Realtime 双向同步;平台审计日志支持外部导出
(Audit Log Drains);pg_graphql 默认关闭 GraphQL schema 自省以提升安全
性;log_connections 默认关闭以减少日志噪音。
为什么能实现
这三项特性背后的实现路径各有侧重,但都体现了 Supabase「开放集成、标准化扩展」 的平台思路。
MCP 集成走的是标准协议路线。OpenCode 插件本质上是 MCP 客户端的配置引导页 ——它把 Supabase 各项后端能力封装成 MCP 的 Tool 和 Resource,Agent 只需理解 MCP 协议即可交互,无需为每个数据库写专属适配。这种架构的好处是,未来接入 Claude Code、Cursor 等其他 Agent 时只需提供类似的 MCP 描述文件。
MongoDB 联邦查询靠的是 Postgres 的外表(Foreign Data Wrapper)机制。Wrappers
扩展在 Postgres 中注册了 mongodb_fdw_handler,数据库内核把对外表的选择操作
下推给该 handler,handler 通过 MongoDB 驱动(Go 版)将 SQL 谓词翻译成 MongoDB
查询语句,结果集再映射回 Postgres 的行格式。整个过程对应用透明——你在 JDBC 客户
端里写 SQL 就行,不需要接触 MongoDB 的查询语言。
Realtime 二进制支持的改动则集中在服务端消息路由层。Realtime 服务(Elixir
实现)之前对所有 payload 做了 JSON 序列化/反序列化,现在引入了一个可选的原始
字节通道,框架在握手阶段检查客户端能力声明,如果两端都支持二进制模式,就直接
传输 ArrayBuffer,跳过 JSON 编码步骤。这既降低了延迟也减小了带宽占用。
至于pg_graphql 自省默认关闭、log_connections 默认关闭这类安全与运维项,
改动都在上游扩展的配置默认值里,对大多数用户是无感的,但能减少新项目的攻击面
和日志费用。
总的来说,v1.26.07 不是一个「新增杀手功能」的大版本,而是一个让 Supabase 更 好地融入开发者已有生态的桥梁版本。AI 编码代理正在成为开发流程的标配, Supabase 选择用标准化协议对接而不是另搞一套私有的 Agent SDK;MongoDB 联邦查询 则照顾了存量 MongoDB 用户的迁移与混用需求——你不需要彻底放弃旧数据,直接 SQL JOIN 就行。
夜雨聆风