Supabase MCP Server 使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器,它充当 LLM 应用和 Supabase 数据库之间的桥梁。通过此服务器,LLM 可以安全地查询存储在 Supabase 'feature_suggestions' 表中的功能建议数据,从而为 LLM 提供上下文信息,增强其功能。

主要功能点

  • 数据访问能力: 通过 'query_feature_suggestions' 工具,LLM 可以查询 Supabase 数据库中 'feature_suggestions' 表的数据。
  • 可配置查询: 支持通过可选参数 'limit' 限制查询结果的数量,方便 LLM 获取所需数量的数据。
  • 标准化 MCP 接口: 遵循 MCP 协议,使用 JSON-RPC 进行通信,可以与任何兼容 MCP 协议的 LLM 客户端(如 Cursor、Claude Desktop)集成。
  • 易于部署和配置: 使用 Node.js 和 npm 构建,配置简单,只需设置 Supabase 密钥和 URL。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的电脑上已安装 Node.js (v16 或更高版本) 和 npm。
  2. 获取代码: 从 GitHub 克隆或下载仓库代码。
  3. 配置环境变量:
    • 在项目根目录下创建 '.env' 文件。
    • 在 '.env' 文件中填入你的 Supabase 项目 URL 和匿名密钥:
      SUPABASE_URL=your_supabase_url
      SUPABASE_ANON_KEY=your_supabase_anon_key
      请替换 'your_supabase_url' 和 'your_supabase_anon_key' 为你实际的 Supabase 项目信息。
  4. 安装依赖: 在项目根目录下运行以下命令安装项目依赖:
    npm install

服务器配置

要将此 MCP 服务器添加到 MCP 客户端(例如 Cursor 或 Claude Desktop),你需要提供服务器的启动命令。以下是配置信息,请根据你的 MCP 客户端类型选择合适的配置方式。

对于 Cursor:

  • 服务器名称 (Name): Supabase (可以自定义)
  • 服务器类型 (Type): command
  • 启动命令 (Command): 'npx tsx /path/to/mcp-server.ts' (请将 '/path/to/mcp-server.ts' 替换为 'mcp-server.ts' 文件在你电脑上的实际路径)

对于 Claude Desktop:

在 Claude Desktop 的配置文件中添加以下 JSON 配置:

{
  "mcpServers": {
    "supabase": {  // 服务器名称,可以自定义,例如 "supabase"
      "command": "npx",
      "args": ["tsx", "/path/to/mcp-server.ts"] // 请将 "/path/to/mcp-server.ts" 替换为 'mcp-server.ts' 文件在你电脑上的实际路径
    }
  }
}

注意: 请务必将 '/path/to/mcp-server.ts' 替换为你本地 'mcp-server.ts' 文件的绝对路径。例如,如果你的项目放在用户目录下的 'documents/feature-request-collection-mcp' 文件夹中,那么路径可能类似于 '/Users/yourusername/documents/feature-request-collection-mcp/mcp-server.ts' (macOS/Linux) 或 'C:\Users\yourusername\documents\feature-request-collection-mcp\mcp-server.ts' (Windows)。

基本使用方法

  1. 启动服务器: 在项目根目录下运行以下命令启动 MCP 服务器:

    npm run dev

    npx tsx mcp-server.ts

    服务器成功启动后,你会在终端看到 "Supabase MCP server started and ready to receive commands." 的提示信息。

  2. 在 LLM 客户端中使用工具: 在支持 MCP 协议的 LLM 客户端中(例如 Cursor 或 Claude Desktop),你可以通过自然语言指令调用 'query_feature_suggestions' 工具来查询 feature_suggestions 表的数据。

    例如,在 LLM 中输入:

    • 'Can you show me feature suggestions from the database?' (显示默认数量的 feature suggestions)
    • 'Can you show me the top 10 feature suggestions?' (显示最多 10 条 feature suggestions)

    LLM 客户端会将你的请求转换为 MCP 请求发送给服务器,服务器查询 Supabase 后,会将结果返回给 LLM 客户端。

故障排除

  • 连接问题: 检查 '.env' 文件中的 Supabase URL 和匿名密钥是否正确。
  • 错误信息: 查看终端输出或 'mcp-server.log' 文件,了解服务器的错误日志信息。
  • 表不存在: 确保你的 Supabase 数据库中存在名为 'feature_suggestions' 的表。

信息

分类

数据库与文件