SuperAPI AI 工具集

supabase-usage

通用与其它

查看项目

更新于 10-15 21:41

技能介绍

用途:当用户提出查询 Supabase、列出 Supabase 表、获取 Supabase 结构、搜索 Supabase 记录或检查 Supabase 等需求时使用本技能,围绕 Supabase 数据库的认证、行级安全、表关系与查询实践提供指导。

主要能力:提供 MCP 工具用于数据库探索,包括 mcp__supabase__list_tables(列出所有表)、mcp__supabase__get_table_schema(获取指定表结构)、mcp__supabase__execute_sql(运行只读 SQL 查询)。覆盖认证(用户管理、会话、auth 表)、行级安全策略模式、表关系(外键、连接、嵌套查询)以及查询模式(过滤、分页、性能)。

使用方式:建议先调用 list_tables 了解数据库结构,再用 get_table_schema 查看列与类型,最后用 execute_sql 执行自定义只读查询。常见过滤在 JavaScript 与 Python 中分别使用 .eq/.neq/.gt/.gte/.lt/.lte/.ilike/.in/.is/.or 等方法。RLS 策略模板使用 create policy,指定 to authenticated 等角色、for select 等操作,并在 using 与 with check 中使用 (select auth.uid())。

最佳实践:在所有公开表上启用 RLS;在策略中使用 (select auth.uid()) 以提升性能;为受 RLS 检查的列添加索引;在策略中用 TO authenticated 指定角色;对指向 auth.users 的外键使用 on delete cascade;大数据集使用基于游标的分页;只选择需要的列,如 .select('id, name') 而非 .select('*')。避免:无 RLS 存储敏感数据;在策略中直接使用 auth.uid();创建未指定角色的策略;忘记为频繁过滤的列建索引;对深页(超过 1000 行)使用 offset 分页;通过 API 直接暴露 auth.users(应使用公开 profiles 表)。

适用场景:需要了解或查询 Supabase 数据库结构、编写只读查询、设计 RLS 策略与表关系时。限制:execute_sql 为只读;更详细的模式与代码示例需查阅 references/auth.md、references/rls.md、references/relationships.md、references/query-patterns.md。其他收费、平台与效果信息暂未提供。