Supabase MCP Server 使用说明
项目简介
Supabase MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,旨在作为 LLM 应用和 Supabase 后端服务之间的桥梁。它允许兼容 MCP 协议的 LLM 客户端,如 Claude,通过标准化的方式安全、便捷地访问和操作 Supabase 的各项服务,包括数据库、存储和边缘函数。
主要功能点
- 数据库操作: 提供丰富的数据库操作工具,包括创建记录、读取记录(支持过滤、排序、联表查询等)、更新和删除记录,使得 LLM 可以灵活地与 Supabase 数据库进行交互。
- 存储管理: 支持文件上传和下载到 Supabase Storage,方便 LLM 应用管理和访问存储在 Supabase 中的文件资源。
- 边缘函数调用: 允许 LLM 应用调用 Supabase Edge Functions,以执行自定义的后端逻辑或集成外部服务。
- 用户管理: 提供用户管理工具,包括用户列表查询、创建用户、更新用户信息、删除用户以及用户角色管理,方便构建需要用户认证和授权的 LLM 应用。
安装步骤
- 安装 Node.js: 确保你的开发环境中已安装 Node.js (版本 16.x 或更高)。
- 克隆仓库: 使用 'git clone https://github.com/arjunkmrm/supabase-mcp' 命令将仓库代码克隆到本地。
- 安装依赖: 进入项目根目录,运行 'npm install' 或 'yarn install' 命令安装项目依赖。
- 配置环境变量:
- 你需要一个 Supabase 项目,并获取以下信息:
- Supabase 项目 URL (Project URL)
- Supabase 服务角色密钥 (Service Role Key)
- Supabase 访问令牌 (Access Token)
- 将这些信息配置为环境变量。你可以选择以下两种方式之一:
- 方式一:设置环境变量 在你的操作系统中设置 'SUPABASE_URL', 'SUPABASE_KEY', 和 'SUPABASE_ACCESS_TOKEN' 环境变量。
- 方式二:创建 .env 文件
在项目根目录下创建 '.env' 文件,并按照以下格式填写你的 Supabase 项目信息:
SUPABASE_URL=你的_Supabase_项目_URL SUPABASE_KEY=你的_Supabase_服务角色密钥 SUPABASE_ACCESS_TOKEN=你的_Supabase_访问令牌
- 你需要一个 Supabase 项目,并获取以下信息:
服务器配置 (MCP 客户端)
要将 Supabase MCP Server 集成到 MCP 客户端(例如 Claude),你需要在客户端的 MCP 设置中添加以下服务器配置信息。以下配置为 JSON 格式,请复制到你的 MCP 客户端配置文件中 (通常是 'cline_mcp_settings.json')。
{ "mcpServers": { "supabase": { "command": "node", "args": ["path/to/supabase-server/src/index.ts"], "env": { "SUPABASE_URL": "你的_Supabase_项目_URL", // 请替换为你的 Supabase 项目 URL "SUPABASE_KEY": "你的_Supabase_服务角色密钥", // 请替换为你的 Supabase 服务角色密钥 "SUPABASE_ACCESS_TOKEN": "你的_Supabase_访问令牌" // 请替换为你的 Supabase 访问令牌 } } } }
配置参数说明:
- 'server name': 'supabase',服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器连接。
- 'command': 'node',启动服务器的命令,指定使用 Node.js 运行时环境。
- 'args': '["path/to/supabase-server/src/index.ts"]',命令参数,指定服务器入口文件路径。
- 你需要将 'path/to/supabase-server/src/index.ts' 替换为 Supabase MCP Server 代码在你本地的实际路径。例如,如果你的代码放在 '~/Documents/supabase-mcp/src/index.ts',则应修改为 '["~/Documents/supabase-mcp/src/index.ts"]'。
- 注意: 这里配置的是 开发环境 下直接运行 'src/index.ts' 源码的路径。如果你先 编译 了代码 (例如使用 'tsc' 命令编译到 'build' 目录),则 'args' 应该指向编译后的入口文件,例如 '["path/to/supabase-server/build/index.js"]'。
- 'env': 环境变量配置,用于服务器运行时读取 Supabase 项目的连接信息。
- 'SUPABASE_URL': 请替换为你的 Supabase 项目 URL。
- 'SUPABASE_KEY': 请替换为你的 Supabase 服务角色密钥。
- 'SUPABASE_ACCESS_TOKEN': 请替换为你的 Supabase 访问令牌。
基本使用方法
- 启动服务器: 在 Supabase MCP Server 项目根目录下,根据你的配置选择以下方式启动服务器:
- 开发环境 (直接运行源码): 运行命令 'node src/index.ts'。
- 生产环境 (运行编译后代码): 如果已编译代码,运行命令 'node build/index.js' (假设编译输出目录为 'build')。
- 使用 Wrapper Script (推荐): 仓库提供了 'run-supabase-server.sh' 脚本,可以更方便地设置环境变量并启动服务器。首先确保该脚本有执行权限 ('chmod +x run-supabase-server.sh'),然后运行 './run-supabase-server.sh'。
- 连接 MCP 客户端: 配置好 MCP 客户端的服务器配置后,客户端应该能够自动连接到 Supabase MCP Server。
- 使用工具: 连接成功后,你可以在 MCP 客户端中使用服务器提供的各种工具,例如在 Claude 中,你可以通过自然语言指令调用数据库操作、文件上传下载、边缘函数调用等功能。具体的工具列表和使用方法,请参考仓库 README.md 文件中 "Available Tools" 部分的详细说明。
注意: 首次使用工具时,客户端可能会请求用户授权工具调用。请根据实际需要进行授权。
信息
分类
数据库与文件