
关于
通过 Rube MCP(Composio)自动化 Supabase 数据库查询、表管理、项目管理、存储、Edge Functions 和 SQL 执行。使用前先搜索工具获取当前 Schema。
name: supabase-automation description: "通过 Rube MCP (Composio) 自动化 Supabase 数据库查询、表管理、项目管理、存储、边缘函数和 SQL 执行。始终先搜索工具以获取当前 schema。" risk: critical source: community date_added: "2026-02-27"
通过 Rube MCP 实现 Supabase 自动化
通过 Composio 的 Supabase 工具包自动化 Supabase 操作,包括数据库查询、表 schema 检查、SQL 执行、项目和组织管理、存储桶、边缘函数和服务健康监控。
前提条件
- Rube MCP 必须已连接(RUBE_SEARCH_TOOLS 可用)
- 通过
RUBE_MANAGE_CONNECTIONS使用 toolkitsupabase建立活跃的 Supabase 连接 - 始终先调用
RUBE_SEARCH_TOOLS获取当前工具 schema
设置
获取 Rube MCP:在你的客户端配置中添加 https://rube.app/mcp 作为 MCP 服务器。无需 API 密钥——只需添加端点即可使用。
- 通过确认
RUBE_SEARCH_TOOLS响应来验证 Rube MCP 可用 - 使用 toolkit
supabase调用RUBE_MANAGE_CONNECTIONS - 如果连接不是 ACTIVE 状态,按照返回的认证链接完成 Supabase 认证
- 在运行任何工作流之前确认连接状态显示 ACTIVE
核心工作流
1. 查询和管理数据库表
适用场景:用户想要从表中读取数据、检查 schema 或执行 CRUD 操作
工具序列:
SUPABASE_LIST_ALL_PROJECTS- 列出项目以找到目标 project_ref [前提]SUPABASE_LIST_TABLES- 列出数据库中的所有表和视图 [前提]SUPABASE_GET_TABLE_SCHEMAS- 获取详细的列类型、约束和关系 [写入前提]SUPABASE_SELECT_FROM_TABLE- 使用过滤、排序和分页查询行 [读取必需]SUPABASE_BETA_RUN_SQL_QUERY- 执行任意 SQL 用于复杂查询、插入、更新或删除 [写入必需]
SELECT_FROM_TABLE 关键参数:
project_ref:20 个字符的小写项目引用table:要查询的表或视图名称select:逗号分隔的列列表(支持嵌套选择和 JSON 路径如profile->avatar_url)filters:包含column、operator、value的过滤对象数组order:排序表达式如created_at.desclimit:返回的最大行数(最小 1)offset:分页跳过的行数
PostgREST 过滤运算符:
eq、neq:等于/不等于gt、gte、lt、lte:比较运算符like、ilike:模式匹配(区分大小写/不区分)is:IS 检查(用于 null、true、false)in:在值列表中cs、cd:包含/被包含(数组)fts、plfts、phfts、wfts:全文搜索变体
RUN_SQL_QUERY 关键参数:
ref:项目引用(20 个小写字母,模式^[a-z]{20}$)query:有效的 PostgreSQL SQL 语句read_only:布尔值,强制只读事务(对 SELECT 更安全)
常见陷阱:
project_ref必须恰好是 20 个小写字母(仅 a-z,无数字或连字符)SELECT_FROM_TABLE是只读的;使用RUN_SQL_QUERY进行 INSERT、UPDATE、DELETE 操作- 对于 PostgreSQL 数组列(text[]、integer[]),使用
ARRAY['item1', 'item2']或'{"item1", "item2"}'语法,不要使用 JSON 数组语法'["item1", "item2"]' - 大小写敏感的 SQL 标识符必须在查询中使用双引号
- 复杂 DDL 操作可能超时(约 60 秒限制);拆分为更小的查询
- ERROR 42P01 "relation does not exist" 通常意味着未引用的大小写敏感标识符
- ERROR 42883 "function does not exist" 意味着你在调用非标准辅助函数;优先使用 information_schema 查询
2. 管理项目和组织
适用场景:用户想要列出项目、检查配置或管理组织
工具序列:
SUPABASE_LIST_ALL_ORGANIZATIONS- 列出所有组织(ID 和名称)[必需]SUPABASE_GETS_INFORMATION_ABOUT_THE_ORGANIZATION- 通过 slug 获取详细组织信息 [可选]SUPABASE_LIST_MEMBERS_OF_AN_ORGANIZATION- 列出组织成员及角色和 MFA 状态 [可选]SUPABASE_LIST_ALL_PROJECTS- 列出所有项目及元数据 [必需]SUPABASE_GETS_PROJECT_S_POSTGRES_CONFIG- 获取数据库配置 [可选]SUPABASE_GETS_PROJECT_S_AUTH_CONFIG- 获取认证配置 [可选]SUPABASE_GET_PROJECT_API_KEYS- 获取 API 密钥(敏感——谨慎处理)[可选]SUPABASE_GETS_PROJECT_S_SERVICE_HEALTH_STATUS- 检查服务健康状态 [可选]
关键参数:
ref:项目特定工具的项目引用slug:组织工具的组织 slug(URL 友好标识符)services:健康检查的服务数组:auth、db、db_postgres_user、pg_bouncer、pooler、realtime、rest、storage
常见陷阱:
LIST_ALL_ORGANIZATIONS返回id和slug;LIST_MEMBERS_OF_AN_ORGANIZATION需要slug而非id- 项目引用与组织 ID 不同——不要混淆
- API 密钥是敏感信息——不要在日志或响应中暴露
限制
- 仅在任务明确匹配上述范围时使用此技能。
- 不要将输出视为环境特定验证、测试或专家审查的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请停下来要求澄清。
兼容工具
Claude CodeCursor
标签
数据工程
