Supabase MCP Server 使用说明
项目简介
Supabase MCP Server 是一个实现了 Model Context Protocol (MCP) 的后端服务器,它专门为 AI 助手设计,使其能够通过标准化的 MCP 协议与 Supabase 数据库进行交互。该服务器提供了一系列工具,允许 AI 助手读取、创建、更新和删除 Supabase 数据库中的数据。
主要功能点
- 读取数据表行 (Read Table Rows): 允许 AI 助手查询 Supabase 数据库表中的数据,可以指定需要查询的列、过滤条件、分页和排序方式。
- 创建数据表记录 (Create Table Records): 允许 AI 助手向 Supabase 数据库表中插入新的数据记录。
- 更新数据表记录 (Update Table Records): 允许 AI 助手根据条件更新 Supabase 数据库表中已有的数据记录。
- 删除数据表记录 (Delete Table Records): 允许 AI 助手根据条件删除 Supabase 数据库表中的数据记录。
安装步骤
- 克隆仓库:
git clone https://github.com/coleam00/supabase-mcp.git cd supabase-mcp - 构建 Docker 镜像:
确保已安装 Docker 或 Docker Desktop。在仓库根目录下执行命令:
docker build -t mcp/supabase .
服务器配置
要将 Supabase MCP 服务器配置到支持 MCP 协议的 AI 客户端(例如 Claude Desktop, Windsurf),您需要提供以下配置信息。这个配置告诉客户端如何启动和连接到 Supabase MCP 服务器。
{ "mcpServers": { "supabase": { "command": "docker", "args": ["run", "--rm", "-i", "-e", "SUPABASE_URL", "-e", "SUPABASE_SERVICE_KEY", "mcp/supabase"], "env": { "SUPABASE_URL": "YOUR-SUPABASE-URL", "SUPABASE_SERVICE_KEY": "YOUR-SUPABASE-SERVICE-ROLE-KEY" } } } }
配置参数说明:
- '"supabase"': 服务器名称,可以自定义,用于在客户端中标识该服务器。
- '"command": "docker"': 指定启动服务器的命令为 'docker',意味着客户端将使用 Docker 来运行 MCP 服务器。
- '"args": ["run", "--rm", "-i", "-e", "SUPABASE_URL", "-e", "SUPABASE_SERVICE_KEY", "mcp/supabase"]': 'docker run' 命令的参数列表。
- '"run"': Docker 运行容器的子命令。
- '"--rm"': 容器退出后自动删除,保持环境清洁。
- '"-i"': 保持标准输入 (STDIN) 打开,即使没有连接,对于 stdio 传输协议的 MCP 服务器是必要的。
- '"-e", "SUPABASE_URL"': 设置环境变量 'SUPABASE_URL',用于传递 Supabase 项目的 URL。
- '"-e", "SUPABASE_SERVICE_KEY"': 设置环境变量 'SUPABASE_SERVICE_KEY',用于传递 Supabase 服务密钥。
- '"mcp/supabase"': 指定要运行的 Docker 镜像名称,与构建镜像时指定的名称一致。
- '"env"': 环境变量配置。
- '"SUPABASE_URL": "YOUR-SUPABASE-URL"': 请替换为您的 Supabase 项目 URL。
- '"SUPABASE_SERVICE_KEY": "YOUR-SUPABASE-SERVICE-ROLE-KEY"': 请替换为您的 Supabase 服务角色密钥。 请务必使用服务角色密钥,因为它拥有最高的权限,MCP 服务器需要它来执行数据库操作。
重要提示: 请务必将 '"YOUR-SUPABASE-URL"' 和 '"YOUR-SUPABASE-SERVICE-ROLE-KEY"' 替换为您实际的 Supabase 项目凭据。服务角色密钥可以在 Supabase 控制台的项目设置中找到。
基本使用方法
配置完成后,AI 助手即可通过 MCP 协议连接到 Supabase MCP 服务器。AI 助手可以使用以下工具与 Supabase 数据库进行交互:
- 'read_table_rows': 读取数据表行
- 'create_table_records': 创建数据表记录
- 'update_table_records': 更新数据表记录
- 'delete_table_records': 删除数据表记录
具体的工具调用方式和参数,请参考仓库 README.md 文件中 "Available Tools" 部分的说明。AI 助手会根据工具的描述和参数信息,生成相应的请求发送给 Supabase MCP 服务器,服务器执行数据库操作后,将结果返回给 AI 助手。
信息
分类
数据库与文件