Supabase MCP Server 使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供访问和操作 Supabase 数据库的能力。通过提供一系列预定义的工具,LLM 可以安全、便捷地与 Supabase 数据库进行交互,实现数据的读取、创建、更新和删除等操作。

主要功能点

  • 数据读取: 允许 LLM 查询 Supabase 数据库中的数据表,支持灵活的查询条件,包括筛选、分页和排序。
  • 数据创建: 支持 LLM 在 Supabase 数据库中创建新的数据记录,可以单条创建,也支持批量创建多条记录。
  • 数据更新: 允许 LLM 根据条件更新 Supabase 数据库中已有的数据记录。
  • 数据删除: 支持 LLM 根据条件删除 Supabase 数据库中的数据记录。
  • 标准MCP协议: 完全遵循 Model Context Protocol 协议,易于与各种 MCP 客户端集成。
  • Stdio传输: 使用 Stdio 作为 MCP 的传输协议,简化部署和运行。

安装步骤

  1. 克隆仓库: 将 GitHub 仓库 'supabase-mcp' 克隆到本地。
    git clone https://github.com/gevans3000/supabase-mcp.git
    cd supabase-mcp
  2. 配置虚拟环境 (推荐): 创建并激活 Python 虚拟环境,以隔离项目依赖。
    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    venv\Scripts\activate  # Windows
  3. 安装依赖: 使用 pip 安装项目所需的 Python 库。
    pip install -r requirements.txt
  4. 配置环境变量:
    • 复制 '.env.example' 文件为 '.env'。
      cp .env.example .env
    • 编辑 '.env' 文件,填入您的 Supabase 项目 URL 和 服务角色密钥。
      SUPABASE_URL=您的_Supabase_项目_URL
      SUPABASE_SERVICE_ROLE_KEY=您的_Supabase_服务角色密钥

服务器配置

要将 Supabase MCP Server 集成到 MCP 客户端(例如 Windsurf 或 Cursor),您需要配置客户端的 'mcp_config.json' 文件。在 'mcpServers' 部分添加以下配置:

{
  "mcpServers": {
    "supabase": {  //  服务器名称,可以自定义
      "command": "python",  //  启动服务器的命令,这里使用 python
      "args": [
        "/path/to/your/supabase-mcp/server.py"  //  server.py 脚本的绝对路径,请替换为实际路径
      ]
    }
  }
}

注意: 请将 '/path/to/your/supabase-mcp/server.py' 替换为您本地 'server.py' 文件的实际绝对路径。为了更好的环境隔离,您还可以指定虚拟环境中的 Python 解释器路径作为 'command'。

基本使用方法

  1. 启动服务器: 在激活虚拟环境后,运行 'server.py' 脚本启动 Supabase MCP Server。
    python server.py
    服务器将通过 Stdio 监听 MCP 请求。
  2. 客户端集成: 配置您的 MCP 客户端(如 Windsurf/Cursor),使其能够连接到 Supabase MCP Server。配置完成后,LLM 即可通过客户端调用 Supabase 数据库的各种工具,例如 'read_records'、'create_records' 等,从而实现与 Supabase 数据库的交互。

信息

分类

数据库与文件