内容提要
华为云RDS Supabase推出MCP接入,支持Claude、CodeArts Agent等AI工具通过自然语言直接管理后端。MCP提供38个工具、10大类能力,覆盖库表结构、SQL执行、RLS策略、用户认证、对象存储、向量索引、实时订阅及监控诊断等。文章介绍前期准备(获取API Key、配置公网EIP)、在Claude和CodeArts Agent中的配置步骤及效果演示,并提示Service Role Key权限风险与敏感信息保管。
延伸解读
MCP 接入的实际门槛:公网暴露与双地址配置
文章强调,MCP 连接 Supabase 需先打通公网访问:为应用绑定 DNAT 网关获取应用 EIP,再为托管数据库实例绑定公网 EIP。两个地址用途不同,应用 EIP 填入 Supabase URL,实例 EIP 填入数据库直连地址,填反会导致连接失败。绑定后实例暴露公网,必须通过安全组仅放行运行 MCP 的机器 IP 与端口,避免开放 0.0.0.0/0。这意味着接入并非纯软件配置,网络与安全组准备是前置硬性条件。
Anon Key 与 Service Role Key 的能力边界
文章明确区分两把 Key:默认 Anon Key 受 RLS 策略约束,但前提是业务表已启用 RLS,否则无行级隔离;Service Role Key 则绕过 RLS、拥有管理员级权限。不填 Service Role Key 时,建用户、删用户等管理类工具不可用;不填数据库直连地址时,execute_sql、apply_migration 等直连工具也不可用,Agent 只能通过 Data API 访问,部分能力受限。因此最小配置与完整配置的能力范围差异显著,需按实际管理需求选择。
第三方 MCP Server 与敏感信息保管风险
文章指出,所用的 selfhosted-supabase-mcp 来自第三方开源项目,非华为云官方维护,生产环境应锁定稳定版本而非直接拉取最新代码。MCP 配置文件以明文存储 API Key、数据库密码等敏感信息,存在泄露风险,建议加入 .gitignore、限制文件访问权限,并改用环境变量或密管服务注入。此外,create_auth_user 等工具需明文密码,文章已标注“不安全,谨慎使用”,生产环境应评估更安全的替代方案。
38 个工具覆盖后端主要操作,但需按场景选配
文章列出 38 个工具、10 大类能力,覆盖库表结构、SQL 执行与迁移、RLS 策略、用户认证、对象存储、向量索引、实时订阅及监控诊断等。不同工具依赖不同配置:Schema 查询类工具用 Anon Key 即可;SQL 执行、迁移、连接与统计类工具需数据库直连地址;用户管理类工具需 Service Role Key。读者在接入前应先明确要 Agent 完成哪些操作,再决定是否配置选填参数,避免权限过大或功能缺失。
Q&A
华为云RDS Supabase的MCP是什么?它主要解决什么问题?
MCP是华为云RDS Supabase提供的接入协议,让Claude、CodeArts Agent等AI工具通过自然语言直接管理后端。它解决了传统方式下每新增一个操作就要手写API、配权限、联调的问题,使开发者用提示词就能操作数据库、认证、存储等。
MCP提供了哪些工具能力?覆盖哪些后端操作?
MCP提供38个工具、10大类能力,覆盖库表结构查询、SQL执行与迁移、RLS策略管理、用户认证、对象存储、向量索引、实时订阅、监控诊断及项目配置等后端主要操作。
使用MCP前需要做哪些准备工作?
需要:1)已创建Supabase应用且运行正常;2)安装AI编码工具或Agent(如CodeArts Agent)并确保大模型Token充足;3)网络可安装Bun与Git;4)获取API Key(Anon Key和Service Role Key);5)通过DNAT网关开启应用公网访问并获取应用EIP;6)为托管数据库实例绑定公网EIP并记录公网IP与端口。
在Claude中如何配置Supabase MCP?
步骤:1)安装Bun工具;2)下载Supabase MCP Server源码并用Bun安装依赖;3)编辑Claude的MCP配置文件(Claude Code编辑~/.claude.json,Claude Desktop编辑claude_desktop_config.json),在mcpServers中添加supabase配置,填入url、anon-key、service-key、db-url等参数;4)用claude mcp get supabase验证连接。
Anon Key和Service Role Key有什么区别?使用Service Role Key有什么风险?
Anon Key受RLS策略约束(需业务表已启用RLS),权限有限;Service Role Key绕过RLS,拥有管理员级权限。使用Service Role Key需谨慎,因为它权限过高,且配置文件中明文存储,存在泄露风险,应妥善保管并避免提交到公共仓库。
配置MCP时,应用EIP和实例EIP分别填在哪里?
应用EIP填入<your-supabase-url>(格式为https://应用EIP:应用访问端口),实例EIP填入<your-db-url>(格式为postgresql://root:密码@实例EIP:实例端口/supabase_db)。两者不能填反。
MCP在CodeArts Agent中如何接入?
在CodeArts Agent IDE中,打开“设置 > MCP工具 > 配置MCP”,编辑mcp_settings.json,在mcpServers中添加与Claude相同的Supabase MCP Server配置。配置完成后可在MCP工具页面查看工具集,效果与Claude一致。
使用MCP时,哪些工具需要数据库直连地址或Service Role Key?
需要数据库直连地址(db-url)的工具包括:execute_sql、apply_migration、explain_query、get_database_connections、get_database_stats、get_index_stats等。需要Service Role Key的工具包括:create_auth_user、update_auth_user、delete_auth_user等管理类工具。不配置这些参数,相应工具将不可用。