详细介绍
Supabase MCP 服务器是一款开源工具,旨在通过自然语言交互方式,安全、高效地管理和操作 Supabase 数据库。它支持 SQL 查询执行、管理 API 调用、Auth Admin SDK 集成、自动版本控制和日志审计等功能,适用于需要快速操作和管理数据库的开发人员。
核心功能
Supabase MCP 服务器提供了多种核心功能,帮助用户更高效地管理 Supabase 数据库:
- SQL 查询执行:支持执行任意 PostgreSQL 查询,包括 SELECT、INSERT、UPDATE、DELETE 等操作,并提供事务处理和结果展示。
- 管理 API 集成:可直接调用 Supabase 管理 API,实现数据库对象的创建、删除和修改,以及权限配置。
- Auth Admin SDK 支持:集成 Supabase Auth Admin SDK,简化用户管理流程。
- 自动版本控制:所有写入和破坏性 SQL 操作都会自动生成迁移脚本,支持高风险操作的确认流程。
- 日志与审计:记录所有执行的查询和操作,提供详细的日志信息,便于审计和调试。
- 安全模式:所有操作按风险等级分类,高风险操作需用户确认,确保操作安全。
安装方法
Supabase MCP 服务器可以通过包管理器或手动方式安装:
pip install supabase-mcp-server或者手动安装:
git clone https://github.com/alexander-zuev/supabase-mcp-server.git
cd supabase-mcp-server
python setup.py install安装完成后,需要配置环境变量以启用服务器功能。例如:
{"QUERY_API_KEY": "your-api-key", "SUPABASE_PROJECT_REF": "your-project-ref"}使用方法
安装并配置好环境变量后,可以通过命令行启动 MCP 服务器:
supabase-mcp-server或使用 uv 运行:
uv run supabase-mcp-server在支持的 IDE(如 Cursor、Windsurf)中添加服务器配置,即可开始执行 SQL 查询或调用管理 API。
使用示例
以下是一个基础的 SQL 查询示例:
import psycopg2
# 建立数据库连接
c
database="your_database",
user="your_user",
password="your_password",
host="your_host",
port="your_port"
)
# 创建游标
cur = conn.cursor()
# 执行查询
cur.execute("SELECT * FROM users;")
# 获取查询结果
rows = cur.fetchall()
# 打印结果
for row in rows:
print(row)
# 关闭游标和连接
cur.close()
conn.close()对于高风险操作,如删除表,需要在 unsafe 模式下执行并确认:
import psycopg2
# 建立数据库连接
c
database="your_database",
user="your_user",
password="your_password",
host="your_host",
port="your_port"
)
# 创建游标
cur = conn.cursor()
# 执行高风险操作
try:
cur.execute("DROP TABLE your_table;")
conn.commit()
print("操作成功")
except Exception as e:
print(f"操作失败: {e}")
conn.rollback()
# 关闭游标和连接
cur.close()
conn.close()使用场景
Supabase MCP 服务器适用于以下场景:
- 需要快速执行 SQL 查询并查看结果的开发人员。
- 希望集成 Supabase 管理 API 和 Auth Admin SDK 的项目。
- 需要自动版本控制和日志审计功能的数据库管理任务。
- 通过自然语言交互方式提升数据库操作效率的团队。
注意事项
在使用 Supabase MCP 服务器时,需要注意以下事项:
- 目前仅支持官方 Supabase 项目,不支持自托管实例。
- 某些高级功能可能需要额外配置。
- 部分 API 特性在本地环境中不可用。
- 高风险操作需用户确认,确保操作安全。
Supabase MCP 服务器通过自然语言交互、安全机制和全面的数据库管理功能,为开发人员提供了一个高效、安全的数据库管理工具。