Supabase MCP Server 使用说明
项目简介
Supabase MCP Server 是一个功能丰富的 MCP (Model Context Protocol) 服务器,旨在让 Cursor 和 Windsurf 等 MCP 客户端安全地与 Supabase 数据库进行交互。它提供了一系列工具,用于数据库管理、SQL 查询执行以及访问 Supabase Management API 和 Auth Admin SDK,并内置了安全控制机制。
主要功能点
- 兼容性广: 兼容 Cursor, Windsurf, Cline 等支持 'stdio' 协议的 MCP 客户端。
- 安全控制: 支持只读和读写模式的 SQL 查询执行,保障数据库安全。
- 事务处理: 为直接和连接池数据库连接提供强大的事务处理能力。
- Supabase 管理: 通过 Supabase Management API 管理 Supabase 项目。
- 用户管理: 通过 Supabase Auth Admin 方法使用 Python SDK 管理用户。
- 预置工具: 提供预构建工具,帮助 Cursor & Windsurf 更有效地使用 MCP。
- 简易安装: 通过包管理器 (uv, pipx 等) 即可轻松安装和设置。
安装步骤
-
安装 PostgreSQL: 确保你的系统上已安装 PostgreSQL 16+。根据你的操作系统,按照仓库 README.md 中的 "PostgreSQL Installation" 部分进行安装。注意:必须先安装 PostgreSQL,再安装 MCP Server。
-
安装 Supabase MCP Server: 使用你喜欢的 Python 包管理器安装服务器。推荐使用 'pipx' 或 'uv',以创建隔离的运行环境。
-
使用 'pipx' (推荐):
pipx install supabase-mcp-server -
使用 'uv':
uv pip install supabase-mcp-server
详细安装步骤请参考仓库 README.md 中的 "Step 1. MCP Server Installation" 部分。
-
服务器配置
Supabase MCP Server 需要配置数据库连接信息才能正常工作。它支持连接本地或远程 Supabase 实例。
MCP 客户端配置 (以 JSON 格式配置 MCP 服务器):
在 MCP 客户端(如 Cursor 或 Windsurf)中配置 MCP 服务器时,你需要提供服务器的启动命令 (command)。以下是配置示例,请注意,以下配置信息为 JSON 格式,不需要用户编写代码,只需复制粘贴到 MCP 客户端的配置中即可:
对于 Cursor 客户端:
在 Cursor 的项目或全局设置中,添加一个新的 MCP Server,配置如下 (command 的值根据你的安装方式选择):
{ "mcpServers": { "supabase": { // server name 可以自定义 "command": "supabase-mcp-server" // 如果使用 pipx 安装 // "command": "uv run supabase-mcp-server" // 如果使用 uv 安装 } } }
对于 Windsurf 客户端:
在 Windsurf 的 'mcp_config.json' 文件中,配置 MCP Server 如下 (command 的值根据你的安装方式和服务器路径调整):
{ "mcpServers": { "supabase": { // server name 可以自定义 "command": "/Users/username/.local/bin/supabase-mcp-server", // 请替换为你的 supabase-mcp-server 可执行文件的实际路径 "env": { // 数据库连接相关的环境变量,如果连接本地 Supabase 实例,可以省略 "SUPABASE_PROJECT_REF": "your-project-ref", // 你的 Supabase 项目引用 ID "SUPABASE_DB_PASSWORD": "your-db-password", // 你的 Supabase 数据库密码 "SUPABASE_REGION": "us-east-1", // (可选) Supabase 区域,默认为 us-east-1 "SUPABASE_ACCESS_TOKEN": "your-access-token" // (可选) Supabase Management API 访问令牌 } } } }
服务器环境变量配置 (可选):
如果你需要连接远程 Supabase 实例,你需要配置以下环境变量。配置方式请参考仓库 README.md 中的 "Step 2. Configuration" 部分,根据你使用的 MCP 客户端选择合适的配置方式 (例如,在 Cursor 的 '.env' 文件或 Windsurf 的 'mcp_config.json' 中配置 'env' 字段)。
- 'SUPABASE_PROJECT_REF': 你的 Supabase 项目引用 ID (Project Ref)。
- 'SUPABASE_DB_PASSWORD': 你的 Supabase 数据库密码。
- 'SUPABASE_REGION': (可选) Supabase 区域,默认为 'us-east-1'。
- 'SUPABASE_ACCESS_TOKEN': (可选) 用于访问 Supabase Management API 的访问令牌。
基本使用方法
- 确保 Supabase MCP Server 已成功安装并配置。
- 在 Cursor 或 Windsurf 等 MCP 客户端中配置并连接到 Supabase MCP Server。
- 连接成功后,你可以在 MCP 客户端中看到 Supabase MCP Server 提供的工具列表。
- 使用这些工具与 Supabase 数据库进行交互,例如查询数据库信息、执行 SQL 查询、管理 Supabase 项目和用户等。
- 详细使用方法和工具功能描述,请参考仓库 README.md 中的 "Feature Overview" 部分。
信息
分类
数据库与文件