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

Supabase-MCP

Supabase MCP服务器是一个用于与Supabase数据库交互的模型上下文协议服务,提供查询表和生成TypeScript类型的功能。

article

README

🚀 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>users</table>
  <columns>
    <column>id</column>
    <column>username</column>
    <column>email</column>
  </columns>
  <where>
    <condition>active = true</condition>
  </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 文件。

help

运行方式说明

cloud

托管运行

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

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

本地运行 / 其它方式

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

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