🚀 Supabase MCP 服务器
Supabase MCP(管理控制台)服务器为用户提供了强大的能力,可对 Supabase 数据库及相关服务进行有效控制。它解决了用户在管理数据库时的操作复杂、安全难以把控等问题,为数据库管理带来了高效、安全的解决方案。
🚀 快速开始
您可参考 GitHub 讨论区 获取 Supabase MCP 服务器的技术细节和使用指南。
✨ 主要特性
PostgreSQL 管理
- 读取查询:能够执行 SELECT 类型的只读 SQL 查询。
- 读写查询:可执行 INSERT、UPDATE 和 DELETE 操作。
- 破坏性操作:能执行 DROP、TRUNCATE 等高风险的数据库结构修改操作。
安全管理
- 安全模式:分为低风险、中风险和高风险级别,分别对应只读操作、数据修改以及结构修改等不同权限。
版本控制
- 自动迁移记录:所有对数据库的写入和破坏性操作都会自动生成迁移脚本,方便后续回滚或审计。
- 统一安全接口:通过单一的安全管理界面,实现对数据库、API 和 SDK 的一致化风险控制。
日志集成
- Supabase 日志连接:研究并支持与 Supabase 数据库日志的连接,以增强调试功能(若尚未支持)。
🔧 技术细节
安全机制
统一安全模式
自 v0.3.8 起,所有操作均采用统一的安全模式进行管理:
- 低风险操作:像 SELECT 查询和 GET API 请求,默认是允许执行的。
- 中风险操作:例如 INSERT、UPDATE 和 DELETE 操作,需要在不安全模式下才能执行。
- 高风险操作:如 DROP、TRUNCATE 等结构修改或可能导致数据丢失的操作,不仅要启用不安全模式,还需进行双重确认。
- 极高风险操作:例如删除项目,是完全禁止的。
确认流程
任何高风险操作(无论是 PostgreSQL 查询还是 API 请求)在启用不安全模式下仍会被阻止。您必须明确批准才能执行此类操作:

工具与功能
数据库工具
- execute_postgresql:用于执行 PostgreSQL 查询,支持事务处理和连接池。
- live_dangerously:在启用不安全模式后,允许执行高风险操作,并需进行确认。
API 与 SDK 接口
- 管理控制台 API:提供对 Supabase 服务的程序化访问,集成了安全控制。
- Python 原生 SDK:支持直接调用 Supabase 方法和对象,提升开发效率。
版本控制系统
自 v0.3.8 起,引入了自动版本记录功能,所有数据库变更都会被详细跟踪,并生成相应的迁移脚本。此外,工具和服务的文档得到了显著增强,确保用户能够更清晰地了解各项功能。
📚 详细文档
未来规划
- 日志集成:研究如何连接到 Supabase 数据库日志,以提高调试能力。
- 更多区域支持:扩展对不同 Supabase 区域的支持,提升全球化应用的便利性。