Cursor + MCP + Supabase. 图片来自作者
在过去几周里,MCP(Model Context Protocol,模型上下文协议)在许多 AI 相关的在线社区和论坛里大火。开发者和技术人员都在热议这个东西,但说实话,包括我自己在内,很多人都对 MCP 究竟是什么、它能做什么以及为什么我们应该关心它感到困惑。
为了弄清楚这个问题,我花了一些时间研究,并整理了一个真实案例,来展示 MCP 在构建 AI 工具驱动的 Web 应用时到底有多大影响力。具体来说,我会演示 MCP 如何让你轻松地将 Supabase 数据库直接连接到 Cursor IDE。
设置完成后,Cursor 代理就能自动访问你的 Supabase 数据库。这意味着你每次与 AI 助手交互时,不需要手动提供数据库上下文。这对使用 Cursor 和 Supabase 构建全栈 Web 应用的开发者来说,简直是个巨大的优势。
在正式进入教程之前,先让我简单介绍一下 MCP 是什么。
什么是 MCP?
模型上下文协议(MCP)本质上是一种标准方式,允许 AI 代理安全地访问外部数据源或上下文,而不需要每次都编写复杂的自定义代码。可以把 MCP 想象成一个万能适配器:你只需要设置一次,它就能让 AI 驱动的工具连接到几乎任何外部数据库或资源。
如果你曾尝试让 LLM(大语言模型)在现实世界中发挥作用,你可能会很快遇到一个大问题:几乎所有有用的服务,比如 Slack、GitHub,甚至是本地文件系统,都有自己独特的 API。这意味着你需要编写大量的自定义代码,让 LLM 单独适配每个 API。想要添加一个新工具?又得写一堆额外的代码。这很快就会变成一场噩梦。
MCP 结构示意图\](Image from Matt Pocock) MCP 作为 LLM 和所有这些 API 之间的一个中间层。与其为每个工具单独编写自定义代码,MCP 允许你定义一组 LLM 可以调用的"工具"。 [](https://link.juejin.cn?target= "") \[MCP 运行示意图\](Image from Matt Pocock) 你可以选择将 MCP 服务器远程托管,或者在本地运行。无论哪种方式,你的 LLM 只需要直接连接到 MCP 服务器,并调用它提供的工具即可。MCP 服务器会处理 API 调用,让交互变得无缝衔接。 现在,让我们从理论转向实践,尝试使用 MCP 将你的 Supabase 数据库连接到 Cursor。 **如何在 Cursor 添加 MCP 服务器** 1. 进入 Cursor 设置页面,在 MCP 选项卡下,点击"Add new MCP Server"(添加新 MCP 服务器)按钮。 [](https://link.juejin.cn?target= "") \[Cursor MCP 服务器添加界面\](Screenshot of Cursor IDE using MCP. Image by author) 2. 给你的 MCP 服务器起个名字,比如"Supabase database",然后将类型(Type)设置为 command。 [](https://link.juejin.cn?target= "") \[Cursor MCP 服务器命名\](Screenshot of Cursor IDE using MCP. Image by author) 3. 在"Command"栏粘贴以下 CLI 命令: npx -y @modelcontextprotocol/server-postgres 你可以在 Supabase 项目中获取 connection-string,方法是点击控制面板顶部的"Connect"按钮。 [](https://link.juejin.cn?target= "") \[Supabase 项目设置\](Image of Supabase project settings. Image by author) 4. 在"Connection String"选项卡下,你会看到"Direct Connection URI"。复制它并粘贴到 MCP 命令的"Connection String"部分。 [](https://link.juejin.cn?target= "") \[Supabase 连接 URI\](Screenshot of Supabase connection string. Image by author) 注意:URI 里有一个 YOUR-PASSWORD 部分,作为参数。你需要把它替换为你的实际数据库密码。你可以在 Project Settings \> Configuration \> Database \> Database password 里找到数据库密码。 5. 你的 MCP 服务器参数应该像这样: [](https://link.juejin.cn?target= "") \[Cursor MCP 服务器参数\](Screenshot of Cursor IDE using MCP. Image by author) 6. 确认无误后,点击"Add"按钮。你会在 MCP 服务器旁边看到一个状态指示器,一旦它变成绿色,就说明一切正常! [](https://link.juejin.cn?target= "") \[Cursor MCP 服务器状态指示\](Screenshot of Cursor IDE using MCP. Image by author) **MCP 连接故障排除** 如果连接没有立即成功,可以检查以下常见问题: 1. MCP 服务器未激活? o 检查参数,确保连接字符串(connection string)里 没有 \<\> 标签,密码 也没有 \[\] 标签。 2. 还是不行? o 你可能需要手动创建一个 mcp.json 文件,放在本地系统 .cursor 文件夹下。 [](https://link.juejin.cn?target= "") \[mcp.json 文件示例\](Image by author) mcp.json 文件的内容如下: { "mcpServers": { "supabase": { "command": "npx", "args": \["-y", "@modelcontextprotocol/server-postgres", ""
}
}
}
确保用正确的连接字符串替换 。完美!现在我们可以测试 MCP 服务器了。
测试 Supabase MCP 服务器
要验证我们的 Supabase MCP 服务器是否正常运行,打开一个新的 Chat Agent,并运行以下提示:
Prompt(提示):
tell me what tables have in my Supabase database

如果 MCP 服务器正常工作,Cursor 的 AI 代理就会从 Supabase 数据库中提取并显示表的列表。是不是很酷?
为什么 MCP 很重要?
MCP 受到关注的原因是,它简化了数据库(比如 Supabase)和 AI 开发环境(比如 Cursor)之间的集成。如果没有 MCP,每次你和 AI 代理交互时,都必须手动输入数据库上下文。
最近,我开发了我的第一个 Web 应用 LogoToAnything,在这个过程中,我用 MCP 让 Supabase 数据库连接到了 Cursor IDE。相信我,这省去了很多时间、算力消耗(token)和不必要的麻烦。
有了 MCP,AI 助手始终可以访问数据库上下文,这意味着:
✅ 更快的响应速度
✅ 更轻松的调试体验
✅ 更快速的开发周期
这也是为什么开发者们如此兴奋 ------ MCP 让复杂的集成变得简单,让你可以专注于 构建,而不是 配置。
所以,赶快试试吧,享受更流畅、更智能的编码体验! 🚀