Windsurf Supabase

Windsurf Supabase

🚀 风帆冲浪(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 文件。

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-24 13:45

相似服务问题