Supabase 官方推出了一个 MCP(Model Context Protocol,模型上下文协议)服务器,旨在将 Supabase 的功能与 AI 工具(如 Cursor 或 Claude)无缝连接。这是一个专为开发者设计的工具,允许他们在不离开 AI 客户端的情况下,直接与 Supabase 的数据库、项目管理和配置进行交互。
从而让 AI 代理可以执行数据库相关操作,例如:
- 启动数据库项目
- 设计与管理表格
- 查询与分析数据
- 获取项目配置
- 生成 TypeScript 类型
- 创建数据库分支(开发用)
- 暂停/恢复项目
- 获取日志用于调试等
Supabase MCP Server 目前已经支持 20 多种能力,未来还会支持像自动部署边缘函数、更智能的数据库识别、更安全的数据操作等功能。
这意味着,未来你可以只用一句话让 AI 帮你设计、部署并管理整个数据库项目!
核心功能
- 数据库操作:
- 创建和管理数据库。
- 生成表结构并填充数据。
- 执行查询操作。
- 项目管理:
- 创建新的 Supabase 项目。
- 获取项目配置(如 URL 和匿名密钥)。
- 未来扩展:
- 支持 Supabase Edge Functions(边缘函数)和存储功能。
示例场景
文章中展示了一个实际案例:使用 Cursor(一个 AI 驱动的代码编辑器),开发者可以通过自然语言指令,让 AI 自动生成一个 Next.js + Supabase 应用。它会从 Supabase 获取 URL 和匿名密钥,并将这些信息保存到 .env.local 文件中,供 Next.js 使用。这种“从提示到代码”的流畅体验,正是 MCP 服务器的目标。
什么是 MCP?
MCP(Model Context Protocol)是为大语言模型(LLMs)与平台通信所制定的标准协议。它允许 LLM 使用结构化的“工具调用(tool calling)”来与外部服务互动。
通过 MCP,AI 工具只需实现客户端协议,任何遵循 MCP 的服务器(如 Supabase)就可以自动协同工作,极大简化了开发集成工作。
Supabase MCP 服务器通过提供一系列“工具”(Tools),让 AI 助手能够执行诸如创建数据库、管理表结构、获取配置信息和查询数据等任务。这种集成极大地提升了开发者的工作效率,尤其是在使用 AI 驱动的开发流程时。
MCP 的三大核心组件
工具(Tools)机制
MCP Server 支持“工具”(类似能力模块),Supabase MCP 目前提供了 20 多种工具,例如:
- 例如:
- list_projects:列出用户的所有 Supabase 项目。
- generate_typescript_types:根据数据库模式生成 TypeScript 类型。
- get_logs:获取项目日志,用于调试。
- 开发者通过 JSON Schema 定义这些工具及其参数,供 LLM 使用。如:
{
"name": "get_weather",
"description": "获取指定城市天气",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "城市名,如 'Paris, France'"
}
},
"required": ["location"]
}
}
工具的调用和实现是分离的,由开发者负责将其连接到实际服务(如天气 API)。
MCP 的附加特性
除了工具调用,MCP 还支持两种可选原语:
- Resources(资源):可向客户端暴露任意上下文数据,如文件、API响应、数据库记录、截图等,供 LLM 使用。
- Prompts(提示词模板):提供服务器预设的 prompt 模板,优化 LLM 使用体验和一致性。
目前多数客户端仅支持工具,但资源和提示功能的扩展将使 MCP 更强大。
如何使用 Supabase MCP 服务器?
前提条件
- 一个 Supabase 账户。
- 生成个人访问令牌(PAT),在 Supabase 仪表板的设置中创建。
- 一个支持 MCP 的 AI 客户端(如 Cursor、Claude 或 Windsurf)。
设置步骤
- 获取个人访问令牌:
- 登录 Supabase,进入“Settings > API”,生成一个 PAT。
- 配置 MCP 客户端:
- 在客户端中添加上述 JSON 配置,替换 <personal-access-token>。
- 对于本地 Supabase 实例,可以使用 Postgres MCP 服务器,配置连接字符串。
- 启动并使用:
- 重启客户端,确认服务器状态为“绿色”(表示连接成功)。
- 通过自然语言指令与 Supabase 交互,例如“创建一个新表”或“查询用户数据”。
工具列表
Supabase MCP 服务器提供了丰富的工具,完整列表可在项目 README 中查看(https://github.com/supabase-community/supabase-mcp)。
部分示例包括:
- list_projects:列出所有项目。
- generate_typescript_types:生成 TypeScript 类型。
- get_logs:获取服务日志。
开发者可以通过以下 JSON 配置将 MCP server 添加到 AI 客户端中:
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest",
"--access-token",
"<personal-access-token>"
]
}
}
}
未来将支持 OAuth 2 登录流程,替代 PAT,提高安全性与便利性。
未来计划
Supabase MCP Server 未来将支持更多功能:
- 通过 AI 部署 Edge Functions(边缘函数)
- 更好的 Schema 结构发现:提供更细粒度的信息,如触发器、视图、策略等
- 操作安全防护:检测破坏性操作并请求用户确认
- 支持更高效、低 token 消耗的数据检索
- 支持 Streamable HTTP(无状态传输)