Windsurf Supabase MCP 服务器使用说明
项目简介
Windsurf Supabase MCP 服务器是一个基于 Model Context Protocol (MCP) 标准构建的后端服务,专为 Windsurf 编辑器优化,旨在无缝集成 Supabase 数据库。该服务器在标准 MCP 协议的基础上,针对 Windsurf 编辑器的需求进行了增强,提供了更强大的错误处理、优化的响应格式以及高效的 SQL 查询处理能力。通过此服务器,Windsurf 编辑器可以更便捷地与 Supabase 数据库进行交互,实现自然语言驱动的数据访问和操作。
主要功能点
- 资源管理: 服务器能够列出并提供 Supabase 数据库中表的 OpenAPI 规范作为资源,允许客户端了解数据库结构和可用接口。
- 工具执行: 内置 'postgrestRequest' 和 'sqlToRest' 两个核心工具:
- 'postgrestRequest': 允许客户端直接向 Supabase 后端的 PostgREST API 发送 HTTP 请求,执行数据库操作。
- 'sqlToRest': 能够将 SQL 查询语句转换为对 PostgREST API 的 RESTful 请求,简化复杂查询的构建。
- Windsurf 优化:
- 增强错误处理: 提供结构化的、更易于理解的错误响应,帮助开发者快速定位和解决问题。
- 优化响应格式: 标准化 JSON 响应结构,并包含 UI 组件所需的元数据,提升 Windsurf 编辑器的用户体验。
- 灵活身份验证: 支持 API 密钥和 Bearer Token 身份验证,保障数据访问安全。
安装步骤
-
克隆仓库:
git clone https://github.com/hertzfelt/windsurf-supabase-mcp.git cd windsurf-supabase-mcp -
安装依赖:
npm install -
配置 Supabase 连接: 复制 '.env.example' 文件并重命名为 '.env',然后根据你的 Supabase 项目信息,修改 '.env' 文件中的以下环境变量:
SUPABASE_URL=你的_Supabase_API_URL # 例如:https://your-project.supabase.co/rest/v1 SUPABASE_KEY=你的_Supabase_API_密钥 # 例如:你的 anon 公钥或 service_role 密钥请确保替换为你实际的 Supabase API URL 和密钥。
服务器配置 (MCP 客户端配置)
以下 JSON 配置信息用于 MCP 客户端连接 Windsurf Supabase MCP 服务器。你需要将此配置添加到你的 MCP 客户端设置中。
{ "serverName": "Windsurf Supabase MCP Server", "command": "node", "args": [ "dist/stdio.cjs", "--apiUrl", "YOUR_SUPABASE_URL", // 请替换为你的 Supabase API URL,例如:https://your-project.supabase.co/rest/v1 "--schema", "public" // 数据库 schema,默认为 public,如果你的 schema 不同,请替换 ] }
注意:
- 'YOUR_SUPABASE_URL' 和 'public' 需要根据你的实际 Supabase 项目配置进行替换。
- 确保 MCP 客户端能够执行 'node' 命令,并且可以访问到 'dist/stdio.cjs' 文件。
基本使用方法
-
启动服务器: 在仓库根目录下,运行以下命令启动 MCP 服务器:
npm run start服务器将通过标准输入/输出 (stdio) 与 MCP 客户端进行通信。
-
配置 MCP 客户端: 将上述提供的服务器配置信息添加到你的 MCP 客户端中。
-
使用工具: 在 MCP 客户端中,你可以调用 'postgrestRequest' 工具直接执行 PostgREST API 请求,例如查询 'todos' 表的数据:
{ "tool_call": { "name": "postgrestRequest", "arguments": { "method": "GET", "path": "/todos" } } }或者使用 'sqlToRest' 工具将 SQL 查询转换为 REST 请求:
{ "tool_call": { "name": "sqlToRest", "arguments": { "sql": "SELECT * FROM todos WHERE is_completed = false" } } }MCP 客户端会将这些请求发送到 Windsurf Supabase MCP 服务器,服务器会处理请求并返回结果。
通过 Windsurf Supabase MCP 服务器,Windsurf 编辑器可以方便地利用 Supabase 数据库的强大功能,实现更智能、更高效的应用开发。
信息
分类
数据库与文件