1. 为什么 Supabase MCP 值得折腾免费主机 数据库 AI 直连Supabase 是一个开源的后端即服务平台提供免费的 Postgres 数据库、对象存储、边缘函数和用户认证对个人开发者和中小团队来说它基本能覆盖从原型到小规模上线的全部后端需求。而 MCPModel Context Protocol是一套让 AI 工具与外部服务对话的标准协议简单说就是给 AI 装了一双能操作数据库的手。把 Supabase 和 MCP 接起来之后你在 Cursor、VS Code、Claude Code 里用自然语言说一句「帮我建一张 orders 表字段有 id、user_id、amount、created_at」AI 就能直接在你的 Supabase 项目里执行建表操作不用你手动打开 SQL Editor 复制粘贴。这套组合适合谁适合正在用 AI 辅助编码、又不想在数据库操作上反复切窗口的开发者适合想用免费方案快速搭后端、又希望 AI 能直接读写数据的独立开发者也适合团队里想让 AI Agent 自动完成建表、查数据、改配置这类重复工作的场景。但实际配置时很多人会卡在几个地方一是每个 AI 工具都要单独填 Supabase 的 Personal Access Token工具一多管理起来很乱二是不同工具的 MCP 配置文件格式不一样Cursor 用.cursor/mcp.jsonVS Code 用.vscode/mcp.jsonClaude Code 用.mcp.json容易搞混三是网络请求的通道不统一排查问题时不知道是 MCP 服务器没起来还是 API 通道有问题。这篇就围绕「统一 Key 统一 API 通道」的思路用 TaoToken 作为接入层把 Supabase MCP 的配置收敛成一套可复制的骨架再逐步验证连接和数据库读写是否真的生效。2. TaoToken 前置统一 Key 与 API 通道怎么准备TaoToken 在这里扮演的角色是「统一接入层」你不需要在每个 AI 工具里分别填不同的 Supabase Token也不需要为每个工具单独配网络通道而是通过 TaoToken 的统一 Key 和 API 通道来对接 Supabase MCP 服务器。这样做的好处是当你有多个 AI 工具Cursor、VS Code、Claude Code都要连同一个 Supabase 项目时只需要维护一份 Key 和一份通道配置改一处就能全局生效。先做两件准备工作。第一在 Supabase 侧拿到项目引用和访问令牌。登录 Supabase 控制台进入你的项目在 Project Settings 里找到 Reference ID一串字母数字组合后面配置里会用到。然后去 Account Tokens 页面创建一个 Personal Access Token命名成taotoken-mcp之类的方便识别创建后立刻复制保存页面刷新后就看不到了。第二在 TaoToken 侧拿到统一 Key。访问 https://taotoken.net/api-keys 创建 API Key这个 Key 就是后面所有 MCP 配置里统一填写的凭证。如果你还没有 TaoToken 账号可以先到 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 了解一下接入方式再进控制台 https://taotoken.net/console 创建 Key。注意Supabase 的 Personal Access Token 和 TaoToken 的 API Key 是两个不同层级的凭证前者用于 Supabase 账户级操作后者用于 TaoToken 通道鉴权。配置时不要把两者填反否则会出现 401 或权限不足。准备好这两个值之后就可以进入具体的 MCP 配置环节了。下面给出的配置骨架里TAOTOKEN_API_KEY填 TaoToken 的统一 KeySUPABASE_ACCESS_TOKEN填 Supabase 的 Personal Access TokenSUPABASE_PROJECT_REF填项目 Reference ID。3. 可复制配置Supabase MCP 配置文件骨架这一节给出 Cursor、VS CodeCopilot、Claude Code 三种主流工具的 MCP 配置骨架。核心思路是MCP 服务器进程通过npx启动supabase/mcp-server-supabase启动参数里带上 Supabase 访问令牌同时通过环境变量注入 TaoToken 的 API 通道地址和统一 Key让所有请求走同一条通道。先看 Cursor 的配置。在项目根目录创建.cursor/mcp.json写入以下内容{ mcpServers: { supabase: { command: npx, args: [ -y, supabase/mcp-server-supabaselatest, --access-token, SUPABASE_ACCESS_TOKEN, --project-ref, SUPABASE_PROJECT_REF ], env: { TAOTOKEN_API_KEY: TAOTOKEN_API_KEY, TAOTOKEN_BASE_URL: https://taotoken.net/api } } } }把SUPABASE_ACCESS_TOKEN、SUPABASE_PROJECT_REF、TAOTOKEN_API_KEY替换成你自己的值。Windows 环境下如果npx直接调用报错可以把command改成cmdargs开头加/c即[/c, npx, -y, ...]。VS CodeCopilot的配置放在.vscode/mcp.json格式略有不同用inputs做令牌输入提示避免明文写在文件里{ inputs: [ { type: promptString, id: supabase-access-token, description: Supabase personal access token, password: true }, { type: promptString, id: taotoken-api-key, description: TaoToken API Key, password: true } ], servers: { supabase: { command: npx, args: [ -y, supabase/mcp-server-supabaselatest, --project-ref, SUPABASE_PROJECT_REF ], env: { SUPABASE_ACCESS_TOKEN: ${input:supabase-access-token}, TAOTOKEN_API_KEY: ${input:taotoken-api-key}, TAOTOKEN_BASE_URL: https://taotoken.net/api } } } }Claude Code 的配置分两种范围。项目级配置在项目根目录创建.mcp.json内容与 Cursor 类似{ mcpServers: { supabase: { command: npx, args: [ -y, supabase/mcp-server-supabaselatest, --access-token, SUPABASE_ACCESS_TOKEN, --project-ref, SUPABASE_PROJECT_REF ], env: { TAOTOKEN_API_KEY: TAOTOKEN_API_KEY, TAOTOKEN_BASE_URL: https://taotoken.net/api } } } }本地级配置可以用 CLI 命令直接添加只在当前项目生效claude mcp add supabase -s local \ -e SUPABASE_ACCESS_TOKENyour_supabase_token \ -e TAOTOKEN_API_KEYyour_taotoken_key \ -e TAOTOKEN_BASE_URLhttps://taotoken.net/api \ -- npx -y supabase/mcp-server-supabaselatest --project-ref your_project_ref三种工具的配置骨架本质一样启动 Supabase MCP 服务器传入 Supabase 令牌和项目引用同时通过环境变量把 TaoToken 的通道地址和 Key 注入进去。这样无论你用哪个工具请求都走同一条 API 通道排查问题时只需要看一个地方。4. 验证请求确认连接与数据库读写是否生效配置写完之后不要急着让 AI 去建表先做三步验证确认 MCP 服务器真的起来了、通道真的通了、数据库真的能读写。第一步验证 MCP 服务器进程能否正常启动。在终端里手动跑一遍启动命令看有没有报错npx -y supabase/mcp-server-supabaselatest \ --access-token your_supabase_token \ --project-ref your_project_ref如果终端没有立刻退出、也没有抛出一堆错误堆栈说明服务器进程能起来。如果报401 Unauthorized检查 Supabase Token 是否复制完整如果报project not found检查 Project Reference 是否填对。第二步在 AI 工具里验证 MCP 工具是否可见。以 Cursor 为例打开设置里的 MCP 面板看到supabase这一项显示绿色激活状态说明连接成功。VS Code 里在 Copilot 聊天框切到 Agent 模式点工具图标能看到 supabase 相关工具列表。Claude Code 里输入/mcp可以查看已加载的 MCP 服务器。第三步做一次真实的数据库读写验证。在 AI 对话里输入帮我在 Supabase 里创建一张测试表 mcp_health_check字段有 id (bigint, primary key)、note (text)、created_at (timestamptz, default now())然后插入一条 note 为 taotoken-mcp-ok 的记录再查出来给我看。如果 AI 返回了建表成功、插入成功、并且查到了那条记录说明整条链路——AI 工具 → MCP 服务器 → TaoToken 通道 → Supabase 数据库——全部打通。如果只建表成功但插入失败通常是 Supabase 项目的 Row Level Security 策略拦住了写入需要去 Supabase 控制台的 Table Editor 里检查 RLS 设置或者临时给测试表关闭 RLS 再验证。验证通过后你可以继续让 AI 做更复杂的操作比如「列出所有表」「给 users 表加一个 email 唯一索引」「查询最近 10 条 orders 记录」。这些操作都会通过同一条 TaoToken 通道走不需要额外配置。5. 本篇常见错排查连接失败、401、工具不显示配置过程中最容易遇到的几类问题这里集中列一下排查思路。MCP 服务器显示红色或灰色不激活。先看 AI 工具的 MCP 日志Cursor 在 MCP 面板里可以点开看输出VS Code 在 Output 面板选 MCP。常见原因是npx路径不对Windows 下需要把command改成cmd并在args开头加/c。另一个原因是 Node.js 版本太低supabase/mcp-server-supabase要求 Node 18 以上用node -v确认一下。报 401 Unauthorized。分两种情况如果是 Supabase 返回的 401检查SUPABASE_ACCESS_TOKEN是否过期或复制时带了空格如果是 TaoToken 返回的 401检查TAOTOKEN_API_KEY是否有效可以到 https://taotoken.net/api-keys 重新生成一个再试。AI 工具里看不到 supabase 工具。先确认配置文件路径对不对Cursor 是.cursor/mcp.jsonVS Code 是.vscode/mcp.jsonClaude Code 是.mcp.json。路径错了工具不会加载。其次确认 JSON 格式合法多一个逗号或少一个引号都会导致解析失败可以用python -m json.tool mcp.json检查一下。建表成功但查询报权限错误。这是 Supabase 的 RLS 在起作用。MCP 服务器用的是 Personal Access Token走的是账户级权限但表级别的 RLS 策略仍然会拦截。解决办法是在 Supabase 控制台给对应表配置合适的 RLS 策略或者用 service_role key 代替 access token注意 service_role key 权限很高不要泄露。请求超时或连接被重置。检查TAOTOKEN_BASE_URL是否填的https://taotoken.net/api不要多加斜杠或路径。如果本地网络环境有特殊限制确认能正常访问 TaoToken 的 API 地址。6. 接入之后把 Supabase MCP 用顺手的几个建议配置跑通只是第一步真正提升效率的是把常用操作固化下来。我的做法是在项目里维护一个mcp-prompts.md把高频操作写成固定话术比如「查 orders 表最近 7 天数据并按金额降序」「给 products 表加一个 category 字段」「导出 users 表前 100 行到 CSV」用的时候直接复制不用每次重新组织语言。另一个建议是给不同环境配不同的 MCP 配置。开发环境连 Supabase 的 dev 项目生产环境连 prod 项目通过项目根目录的.cursor/mcp.json和.cursor/mcp.prod.json区分切换时改一下文件名就行。这样能避免 AI 误操作生产数据。如果你主要用 Claude Code 做长期编码和 Agent 任务可以了解一下 Coding Plan 的接入方式把 Supabase MCP 和代码生成、测试、部署串成一条流水线。具体可以看 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite。如果只是想先验证模型对话和 MCP 工具的配合效果可以到 https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite 试一下。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite遇到配置问题可以先翻文档再排查。