Supabase轻量级MCP服务

Supabase轻量级MCP服务是一个精简的Supabase管理控制平面服务器,提供数据库查询、数据变更、文件存储和用户认证等核心功能,适用于需要高效管理Supabase项目的开发者。

  • by pinion05
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 pinion05/supabase-mcp-lite

使用说明

Supabase MCP Lite

最小化Supabase MCP服务器-比标准实现减少70%的上下文使用。

为什么选择Lite?

  • 4个工具,而不是50个+ -仅限于基本操作
  • 最少的描述 -没有冗长的解释
  • 简单参数 -没有复杂的嵌套模式
  • 自动截断结果 -每次查询最多100行

🔑 需要个人访问令牌

此MCP使用您的 Supabase个人访问令牌 (开始于 sbp_)自动获取您拥有的任何项目的服务角色密钥。

如何获取您的个人访问令牌:

  1. 首选https://supabase.com/dashboard/account/tokens
  2. 点击“生成新令牌”
  3. 为其命名(例如,“MCP访问”)
  4. 复制令牌(以开头 sbp_)
  5. 安全保存 -你再也看不到了!

设置

  1. 添加到MCP客户端配置中:
{
  "supabase-lite": {
    "command": "npx",
    "args": ["@smithery/cli", "connect", "@pinion05/supabase-mcp-lite"],
    "config": {
      "accessToken": "sbp_xxxxxxxxxxxx"  // Your Personal Access Token
    }
  }
}

备注:每次工具调用都需要项目URL。服务角色密钥将使用您的访问令牌自动获取。

工具(4)

所有工具都需要 projectUrl 作为第一个参数。

工具 用途 参数
select 获取数据 projectUrl,表,在哪里?限制?
mutate 是否更改数据 projectUrl、操作、表、数据?在哪里?
storage 文件 projectUrl、操作、bucket、路径?数据?
auth 用户 projectUrl、操作、电子邮件?,密码?id?

例子

// Select tool  
select(
  projectUrl: "https://your-project.supabase.co",
  table: "posts", 
  where: {status: "published"}, 
  limit: 10
)

// Mutate tool
mutate(
  projectUrl: "https://your-project.supabase.co",
  action: "insert", 
  table: "todos", 
  data: {title: "New task"}
)
mutate(
  projectUrl: "https://your-project.supabase.co",
  action: "update", 
  table: "todos", 
  data: {done: true}, 
  where: {id: 1}
)
mutate(
  projectUrl: "https://your-project.supabase.co",
  action: "delete", 
  table: "todos", 
  where: {id: 1}
)

// Storage tool
storage(
  projectUrl: "https://your-project.supabase.co",
  action: "upload", 
  bucket: "images", 
  path: "avatar.jpg", 
  data: "base64..."
)
storage(
  projectUrl: "https://your-project.supabase.co",
  action: "list", 
  bucket: "images"
)

// Auth tool
auth(
  projectUrl: "https://your-project.supabase.co",
  action: "list"
)
auth(
  projectUrl: "https://your-project.supabase.co",
  action: "create", 
  email: "user@example.com", 
  password: "secure123"
)

原理

  1. 您提供个人访问令牌(sbp_xxx)
  2. 当您使用项目URL调用工具时,MCP:
    • 从URL中提取项目ID
    • 使用您的访问令牌通过Suabase Management API获取服务角色密钥
    • 为将来对同一项目的请求缓存密钥
    • 创建具有完全管理员权限的客户端

安全须知

  • 个人访问令牌可访问您的所有Supabase项目
  • 服务角色密钥会自动获取并缓存在内存中
  • 服务角色密钥绕过行级安全(RLS)
  • 确保您的访问令牌安全-永远不要在客户端暴露它
  • 此工具仅供服务器端/管理员使用

特性

  • ✅ 适用于您拥有的任何Supabase项目
  • ✅ 自动检索服务角色密钥
  • ✅ 密钥缓存可最大限度地减少API调用
  • ✅ 完全数据库访问(绕过RLS)
  • ✅ 在一次会议中支持多个项目

许可证

麻省理工学院