Windsurf Supabase MCP Server

Windsurf Supabase MCP Server

一个模型上下文协议服务器,针对将 Supabase 与 Windsurf 编辑器集成进行了优化,通过自然语言提供数据库交互,并具有增强的错误处理和响应格式。

数据库
开发者工具
搜索
TypeScript
访问服务器

README

Windsurf Supabase MCP 服务器

一个为 Windsurf 优化的 Supabase 集成 MCP 服务器

此仓库包含一个为 Windsurf 优化的 Supabase MCP 服务器版本,专门增强了与 Windsurf 编辑器的无缝协作。它构建于 模型上下文协议 (MCP) 标准之上,并添加了关键改进,以实现更好的错误处理、响应格式化和 SQL 查询处理。

为 Windsurf 做的关键修改

1. 增强的错误处理

我们在原始错误处理系统中面临几个挑战:

  • 格式错误的 SQL 查询会导致静默失败
  • 流解析错误难以调试
  • 错误消息对 LLM 不友好

我们的解决方案:

  • 添加了带有详细上下文的结构化错误响应
  • 改进了错误消息,以便更好地被 LLM 理解
  • 添加了 SQL 查询结构的验证
  • 增强了流错误检测和恢复

2. 响应格式化

原始响应格式存在局限性:

  • 不同响应类型之间的 JSON 结构不一致
  • UI 组件缺少元数据
  • 类型安全有限

我们的改进:

  • 标准化了 JSON 响应格式
  • 添加了用于 UI 组件生成的元数据
  • 实现了严格的 TypeScript 类型
  • 添加了对流式传输复杂数据结构的支持

3. SQL 到 REST 转换

我们增强了 SQL 到 REST 的转换:

  • 添加了对更复杂 SQL 操作的支持
  • 改进了查询验证
  • 更好地处理 JOIN 和子查询
  • 增强了无效 SQL 的错误消息

4. 身份验证 & 标头

身份验证处理方面的关键改进:

  • 灵活的 API 密钥管理
  • 支持 Bearer Token 身份验证
  • 更好地管理 PostgREST 请求的标头
  • 增强了安全验证

与 Windsurf 集成

此 MCP 服务器专门设计用于与 Windsurf 编辑器配合使用,提供:

  • 通过自然语言实现无缝的数据库交互
  • 实时查询验证和更正
  • 增强的错误消息,以便更好地进行调试
  • 优化的响应格式,用于 UI 组件

在 Windsurf 中的使用示例

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

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

安装

  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

与 Windsurf 一起使用

此服务器提供两个主要工具:

  1. postgrestRequest: 增强的 PostgREST API 访问
const result = await postgrestRequest({
  method: 'GET',
  path: '/users',
});
  1. sqlToRest: 改进的 SQL 到 REST 转换
const query = 'SELECT * FROM users WHERE age > 18';
const { method, path } = await sqlToRest({ sql: query });

贡献

欢迎贡献!请阅读我们的 贡献指南,了解我们的行为准则以及提交 Pull Request 的流程。

许可证

此项目根据 MIT 许可证获得许可。 有关详细信息,请参见 LICENSE 文件。

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript