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 等) 即可轻松安装和设置。

安装步骤

  1. 安装 PostgreSQL: 确保你的系统上已安装 PostgreSQL 16+。根据你的操作系统,按照仓库 README.md 中的 "PostgreSQL Installation" 部分进行安装。注意:必须先安装 PostgreSQL,再安装 MCP Server。

  2. 安装 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 的访问令牌。

基本使用方法

  1. 确保 Supabase MCP Server 已成功安装并配置。
  2. 在 Cursor 或 Windsurf 等 MCP 客户端中配置并连接到 Supabase MCP Server。
  3. 连接成功后,你可以在 MCP 客户端中看到 Supabase MCP Server 提供的工具列表。
  4. 使用这些工具与 Supabase 数据库进行交互,例如查询数据库信息、执行 SQL 查询、管理 Supabase 项目和用户等。
  5. 详细使用方法和工具功能描述,请参考仓库 README.md 中的 "Feature Overview" 部分。

信息

分类

数据库与文件