返回 MCP 目录
public公开dns本地运行

Windsurf Supabase

专为Windsurf优化的Supabase MCP服务器,增强错误处理、响应格式和SQL转换功能

article

README

🚀 风帆冲浪(Windsurf)Supabase MCP 服务器

为与 Windsurf 编辑器无缝集成而优化的 Supabase MCP 服务器,基于模型上下文协议标准构建,具备多项关键改进,提升使用体验。

🚀 快速开始

此仓库包含一个经过优化的 Windsurf 版本的 Supabase MCP 服务器,特别增强以实现与 Windsurf Editor 的顺畅协作。它基于 模型上下文协议 (MCP) 标准构建,并添加了关键改进,以提升错误处理、响应格式化和 SQL 查询处理的效果。

✨ 主要特性

针对 Windsurf 的主要修改

1. 增强的错误处理

  • 挑战
    • 缺乏结构化的错误响应导致难以调试。
    • 流解析错误难以排查。
    • 错误信息对 LLM 不够友好。
  • 解决方案
    • 引入包含详细上下文的结构化错误响应。
    • 改进错误消息,使其更易于 LLM 理解。
    • 添加 SQL 查询结构验证。
    • 提升流式错误检测和恢复能力。

2. 响应格式化改进

  • 原始限制
    • 不同响应类型之间 JSON 结构不一致。
    • 缺乏用于 UI 组件生成的元数据。
    • 类型安全不足。
  • 改进措施
    • 制定统一的 JSON 响应格式标准。
    • 添加用于 UI 组件生成的元数据支持。
    • 实施严格的 TypeScript 类型系统。
    • 支持流式传输复杂的数据结构。

3. SQL 转 REST 增强

  • 支持更复杂的 SQL 操作。
  • 优化查询验证流程。
  • 改善对 JOIN 和子查询的处理。
  • 提升无效 SQL 的错误消息质量。

4. 认证与头信息管理

  • 实现灵活的 API Key 管理策略。
  • 支持使用 bearer token 进行身份验证。
  • 优化 PostgREST 请求的头信息管理。
  • 加强安全验证机制。

与 Windsurf 的集成

此 MCP 服务器专为与 Windsurf Editor 配合设计,提供:

  • 自然语言驱动的数据库交互。
  • 实时查询验证和自动修正。
  • 更适合调试的增强错误消息。
  • 优化的响应格式以支持 UI 组件生成。

💻 使用示例

基础用法

// 示例:增强响应处理
const response = await postgrestRequest({
  method: 'GET',
  path: '/todos?is_completed=eq.false',
});

// 响应包含用于 UI 组件的元数据
const { data, metadata } = response;

高级用法

// 此服务器提供两个主要工具:
// 1. `postgrestRequest`:增强版 PostgREST API 访问
const result = await postgrestRequest({
  method: 'GET',
  path: '/users',
});

// 2. `sqlToRest`:改进的 SQL 转 REST 功能
const query = 'SELECT * FROM users WHERE age > 18';
const { method, path } = await sqlToRest({ sql: query });

📦 安装指南

  1. 克隆此仓库:
git clone https://github.com/hertzfelt/windsurf-supabase-mcp.git
  1. 安装依赖项:
npm install
  1. 配置您的 Supabase 连接:
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key

🤝 贡献指南

欢迎贡献!请查阅我们的 CONTRIBUTING.md 文件,了解代码规范和提交 Pull Request 的流程。

📄 许可证

此项目采用 MIT 许可证。更多详情,请参阅 LICENSE 文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端