Supabase MCP

Supabase MCP

🚀 Supabase MCP 服务器

Supabase MCP 服务器是一个用于与 Supabase 数据库交互的 Model Context Protocol (MCP) 服务器。它提供了一系列工具,可通过 MCP 接口查询表并生成 TypeScript 类型,极大地提升了与 Supabase 数据库交互的效率。

🚀 快速开始

Supabase MCP 服务器能让你轻松地与 Supabase 数据库进行交互,通过 MCP 接口执行查询和生成类型。以下是使用前的准备工作及基本操作流程。

✨ 主要特性

  • 查询表格:可以对任何表格执行查询,支持以下功能:
    • 模式选择:灵活选择不同的数据库模式。
    • 列过滤:精准筛选所需的列。
    • Where 子句(带多个操作符):使用丰富的操作符构建复杂的查询条件。
    • 分页:方便处理大量数据。
    • 错误处理:确保查询过程中的错误能得到有效处理。
  • 类型生成:为数据库生成 TypeScript 类型,具备以下特点:
    • 支持任意模式(公共、认证、API 等):满足不同模式下的类型生成需求。
    • 适用于本地和远程 Supabase 项目:无论项目部署在哪里,都能正常使用。
    • 直接输出到控制台:方便查看生成的类型信息。
    • 自动检测项目引用:简化配置流程。

📦 安装指南

克隆仓库

git clone https://github.com/yourusername/supabase-mcp-server.git
cd supabase-mcp-server

安装依赖项

npm install

安装 Supabase CLI(用于类型生成)

# 使用 npm
npm install -g supabase

# 或使用 macOS 的 Homebrew
brew install supabase/tap/supabase

💻 使用示例

基础用法

查询表格

使用 XML 格式进行查询:

<query>
<table>userstable>
<columns>
<column>idcolumn>
<column>usernamecolumn>
<column>emailcolumn>
columns>
<where>
<condition>active = truecondition>
where>
query>

生成类型

使用以下命令生成 TypeScript 类型:

npx supabase generate --schema public --output ./types

📚 详细文档

配置

获取 Supabase 凭据

  • 对于托管项目:
    • 从 URL 提取项目引用(例如:prj-123456789abcdef0)。
    • 使用关联的服务角色密钥,而非 anon 密钥。
  • 对于本地项目:
    • 确保本地 Supabase 实例正在运行。
    • 验证服务角色密钥是否正确。

创建配置文件

创建一个名为 config.json 的文件,并添加以下内容:

{
"supabaseUrl": "your-supabase-url",
"supabaseAnonKey": "your-supabase-anon-key"
}

故障排除

类型生成问题

  1. 确保安装了 Supabase CLI:
supabase --version
  1. 对于本地项目:
  • 确保本地 Supabase 实例正在运行。
  • 验证服务角色密钥是否正确。
  1. 对于托管项目:
  • 确认项目引用从 URL 正确提取。
  • 确保使用的是服务角色密钥,而非 anon 密钥。

查询问题

  1. 检查模式和表名的准确性。
  2. 验证选择和 WHERE 子句中的列名。
  3. 确保服务角色密钥具有必要的权限。

贡献指南

  1. 叉仓库:
git fork https://github.com/yourusername/supabase-mcp-server.git
  1. 创建功能分支:
git checkout -b feature/my-feature
  1. 提交更改:
git commit -m '添加我的功能'
  1. 推送到分支:
git push origin feature/my-feature
  1. 提交拉取请求。

📄 许可证

本项目采用 MIT License,详细信息见 LICENSE 文件。

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

相似服务问题