README
🚀 Supabase MCP 服务器
Supabase MCP 服务器是一个模型上下文协议(MCP)服务器,它允许 Claude 和其他大型语言模型与 Supabase 进行交互,从而执行 Postgres 表的 CRUD 操作,为数据处理提供了便捷的解决方案。
🚀 快速开始
Supabase MCP 服务器能让大型语言模型与 Supabase 轻松交互,执行数据库的 CRUD 操作。以下是使用该服务器的详细步骤。
✨ 主要特性
- 数据库操作:
- 查询数据:可使用过滤器精准查询数据。
- 插入数据:方便地向数据库插入新数据。
- 更新数据:对已有数据进行修改更新。
- 删除数据:按需删除不需要的数据。
- 列出表格:查看数据库中的所有表格。
📦 安装指南
选项 1:通过 npm 安装(推荐)
该包已发布到 npm,你可以选择全局安装或在项目中本地安装。
- 全局安装:
npm install -g supabase-mcp
- 本地安装:
npm install supabase-mcp
选项 2:克隆仓库
git clone https://github.com/Cappahccino/SB-MCP.git
cd SB-MCP
npm install
npm run build
🛠️ 配置说明
在项目根目录下创建一个名为 mcp.json 的文件,并添加以下内容:
{
"supabase": {
"url": "YOUR_SUPABASE_URL",
"anonKey": "YOUR_SUPABASE_ANON_KEY"
}
}
请将 YOUR_SUPABASE_URL 和 YOUR_SUPABASE_ANON_KEY 替换为你实际的 Supabase 项目 URL 和匿名密钥。
💻 使用示例
基础用法
作为独立服务器
运行以下命令启动 MCP 服务器:
node index.js
集成到其他项目中
在你的项目中引入并使用:
const { MCP } = require('supabase-mcp');
const mcp = new MCP();
// 查询数据
mcp.query('your-supabase-project-id', {
query: {
table: 'users',
where: {
id: 1
}
},
response: {
format: 'json'
}
}).then(console.log);
// 插入数据
mcp.execute('your-supabase-project-id', {
command: 'insert',
data: { name: 'Alice' },
query: {
table: 'users'
}
});
高级用法
查询数据
{
"command": "query",
"project_id": "your-supabase-project-id",
"data": {
"table": "users",
"where": { "id": 1 }
},
"response": { "format": "json" }
}
插入数据
{
"command": "insert",
"project_id": "your-supabase-project-id",
"data": {
"table": "users",
"values": { name: 'Alice' }
}
}
🛠️ 故障排除
常见问题及解决方案
- ⚠️ 重要提示
- 问题:无法连接到 Supabase
- 确保你已经在
mcp.json中正确配置了你的项目 URL 和密钥。
- 确保你已经在
- 问题:查询返回空结果
- 检查过滤器是否正确,并确保表名存在。
- 问题:无法连接到 Supabase
📜 版本历史
- 1.0.0:初始发布
- 1.0.1:添加了自动端口选择
- 1.0.2:修复了协议兼容性问题
- 1.0.3:添加了 JSON-RPC 支持
- 1.1.0:完全重写为官方 MCP SDK
- 1.2.0:新增独立的 Claude 传输并修复端口冲突问题
- 1.3.0:更新以提高与 TypeScript 项目的兼容性
- 1.4.0:根据 Supabase 社区最佳实践修复了 Claude 标准输入输出集成
- 1.5.0:移除 Edge Function 支持,专注于数据库操作稳定性
📄 许可证
本项目采用 MIT 许可证。
Scan to contact