README
🚀 Supabase MCP 服务器
Supabase MCP(管理控制台)服务器是一款强大的工具,可用于管理和操作 Supabase 数据库。它具备执行 SQL 查询、集成 Supabase 管理 API、自动版本控制、安全管理等多种功能,旨在简化数据库及相关服务的管理流程。
🚀 快速开始
使用 Supabase MCP 服务器,你可以轻松管理和操作 Supabase 数据库。首先,按照安装指南完成服务器的安装,然后连接到你的数据库,即可开始执行查询和管理资源。
✨ 主要特性
PostgreSQL 查询执行
- 直接 SQL 执行:支持运行任意 PostgreSQL 查询,涵盖 SELECT、INSERT、UPDATE、DELETE 等操作。
- 事务处理:支持原子交易,确保操作要么完全成功,要么完全失败。
- 结果查看:提供直观的结果展示,支持 JSON 格式输出和自定义列格式化。
Supabase 管理 API 集成
- 资源管理:可直接创建、删除或修改数据库对象(表、列、索引)。
- 权限管理:能轻松配置用户和角色的访问权限。
- 备份与恢复:可执行手动或自动数据备份,并从备份中恢复。
安全模式
- 风险分类:所有操作按风险等级分为:
- 低风险:仅读取数据(SELECT 查询、GET API 请求)。
- 中等风险:修改数据但不修改结构(INSERT/UPDATE/DELETE、大多数 POST/PUT API 请求)。
- 高风险:修改数据库结构或可能导致数据丢失的操作(DROP/TRUNCATE、 DELETE API 端点)。
- 极高风险:具有严重后果的操作,完全被阻止(删除项目)。
自动版本控制
- 迁移脚本生成:所有对数据库的写入和破坏性 SQL 操作都会自动生成迁移脚本。
- 确认流程:在
unsafe模式下,所有高风险操作都需要用户明确批准才能执行。
日志与审计
- 查询记录:记录所有执行的查询及其结果。
- 审计追踪:提供详细的日志信息,便于跟踪和审查操作历史。
📦 安装指南
通过包管理器安装
pip install supabase-mcp-server
手动安装
下载源代码并运行:
git clone https://github.com/alexander-zuev/supabase-mcp-server.git
cd supabase-mcp-server
python setup.py install
💻 使用示例
基础用法
# 连接数据库
# 使用默认凭据或自定义配置连接你的 Supabase 数据库。
# 执行查询
# 运行任意 PostgreSQL 查询
import psycopg2
# 建立数据库连接
conn = psycopg2.connect(
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 模式下明确确认
# 这里假设已经在 unsafe 模式下,且系统会提示用户确认
import psycopg2
# 建立数据库连接
conn = psycopg2.connect(
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 数据库。
执行查询
运行任意 PostgreSQL 查询,示例如下:
SELECT * FROM users;
管理 API 调用
通过 MCP 服务器提供的 API 方法管理数据库资源。
安全模式
启用安全模式
在配置文件中启用安全功能:
security:
enabled: true
风险操作确认
在执行高风险操作时,系统会提示用户输入确认信息。
变更记录
v1.0.0
- 初始版本发布,包含基本的 SQL 执行和 API 管理功能。
- 引入了安全模式和事务支持。
v2.0.0
- 新增自动版本控制功能。
- 支持高风险操作确认流程。
- 优化日志记录和审计功能。
v3.0.0
- 增强安全性,修复若干安全漏洞。
- 改进性能监控和资源管理。
附图
附图展示了 MCP 服务器的高风险操作确认界面和查询结果查看界面。
Scan to contact