SB MCP

SB MCP

🚀 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_URLYOUR_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 和密钥。
    • 问题:查询返回空结果
      • 检查过滤器是否正确,并确保表名存在。

📜 版本历史

  • 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 许可证。

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

相似服务问题