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 密钥。
- 从 URL 提取项目引用(例如:
- 对于本地项目:
- 确保本地 Supabase 实例正在运行。
- 验证服务角色密钥是否正确。
创建配置文件
创建一个名为 config.json 的文件,并添加以下内容:
{
"supabaseUrl": "your-supabase-url",
"supabaseAnonKey": "your-supabase-anon-key"
}
故障排除
类型生成问题
- 确保安装了 Supabase CLI:
supabase --version
- 对于本地项目:
- 确保本地 Supabase 实例正在运行。
- 验证服务角色密钥是否正确。
- 对于托管项目:
- 确认项目引用从 URL 正确提取。
- 确保使用的是服务角色密钥,而非 anon 密钥。
查询问题
- 检查模式和表名的准确性。
- 验证选择和 WHERE 子句中的列名。
- 确保服务角色密钥具有必要的权限。
贡献指南
- 叉仓库:
git fork https://github.com/yourusername/supabase-mcp-server.git
- 创建功能分支:
git checkout -b feature/my-feature
- 提交更改:
git commit -m '添加我的功能'
- 推送到分支:
git push origin feature/my-feature
- 提交拉取请求。
📄 许可证
本项目采用 MIT License,详细信息见 LICENSE 文件。
Scan to contact