
Cursor + MCP + Supabase. 图片来自作者
最近几周,MCP(模型上下文协议)在很多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 服务器的使用指南

[MCP 结构示意图](图片来自 Matt Pocock)
MCP 实际上是 LLM 与各个 API 之间的桥梁。与其为每一个工具都写一堆代码,MCP 让你可以一次性定义一系列 LLM 可用的“工具”。

[MCP 运行示意图](图片来自 Matt Pocock)
你可以选择把 MCP 服务器放在云端,或者选择在本地运行。不管哪种方式,你的 LLM 只需要直接连接到 MCP 服务器,调用它提供的工具就行了。MCP 服务器会处理 API 的请求,让交互过程变得顺畅无阻。
现在,咱们就来看看如何在实践中利用 MCP 将你的 Supabase 数据库与 Cursor 连接起来。
如何在 Cursor 中添加 MCP 服务器
- 打开 Cursor 的设置页面,在 MCP 选项卡下,点击“添加新 MCP 服务器”按钮。
- 给你的MCP服务器起个简单的名字,比如“Supabase数据库”,然后别忘了把类型选为“command”。
- 在“Command”栏中粘贴以下命令:
- 在“Connection String”这个选项卡中,你会发现“Direct Connection URI”。把它复制下来,然后粘贴到 MCP 命令的“Connection String”部分即可。
- 你的 MCP 服务器的参数应该是这样的:
- 确认都对了之后,别忘了点击“Add”按钮哦!这时你会看到MCP服务器旁边有个状态指示器,等它变成绿色,那就万事大吉了!
- MCP服务器有没有激活呢?
- 还是不行吗?
轻松连接Supabase数据库与Cursor的MCP服务器

[这是Cursor MCP服务器的添加界面](Screenshot of Cursor IDE using MCP. Image by author)

[这是Cursor MCP服务器的命名界面](Screenshot of Cursor IDE using MCP. Image by author)
npx -y @modelcontextprotocol/server-postgres
在Supabase项目中,你可以通过点击控制面板顶部的“Connect”按钮找到连接字符串。
轻松设置你的 Supabase 项目连接

[Supabase 项目设置](Supabase项目设置的截图)

[Supabase 连接 URI](Supabase连接字符串的截图)
要注意哦:URI 中有个 YOUR-PASSWORD 的部分,这是个参数。你得把它替换成你的真实数据库密码。这密码可以在 Project Settings > Configuration > Database > Database password 里找到。
轻松搞定MCP服务器连接问题

[Cursor MCP 服务器参数](Screenshot of Cursor IDE using MCP. Image by author)

[Cursor MCP 服务器状态指示](Screenshot of Cursor IDE using MCP. Image by author)
MCP连接故障排除小贴士
如果连接没能成功,可以试试以下常见的排查方法:
o 检查一下参数,确保连接字符串里没有多余的标签,比如,还有密码也要避免用 [] 这些标签哦。
如何手动创建 mcp.json 文件
其实呢,如果你的连接不太顺利,可能需要自己动手创建一个叫做 mcp.json 的文件。把它放进你本地系统的 .cursor 文件夹里,看看能不能解决问题。

这里有个[mcp.json 文件的示例](Image by author),你可以参考一下。
那么,mcp.json 文件的内容长什么样呢?请看下面的示例:
{
“mcpServers”: {
“supabase”: {
“command”: “npx”,
“args”: [“-y”, “@modelcontextprotocol/server-postgres”, “”]
}
}
}
轻松测试你的 Supabase MCP 服务器
首先,记得用正确的连接字符串来替换,这样一来,咱们就可以开始测试 MCP 服务器啦!
接下来,咱们要验证一下 Supabase 的 MCP 服务器是否正常工作。打开一个新的 Chat Agent,运行下面这个提示就行了:
提示内容:
告诉我我的 Supabase 数据库里有哪些表。

如果你的 MCP 服务器一切正常,Cursor 的 AI 代理就会从 Supabase 数据库中提取出表的列表并展示给你。是不是觉得挺神奇的?
那么,为什么 MCP 会如此重要呢?
其实,MCP 之所以受到大家的关注,是因为它大大简化了数据库(比如 Supabase)和 AI 开发环境(像 Cursor)之间的连接。假如没有 MCP,每次和 AI 代理对话时,你都得手动输入数据库的上下文,简直麻烦!
我的第一个 Web 应用开发体验:LogoToAnything
最近,我终于完成了我的第一个网络应用,叫做 LogoToAnything。在这个过程中,我用上了 MCP,把 Supabase 数据库和 Cursor IDE 连接在一起。你知道吗?这真的节省了我不少时间,还减少了很多不必要的麻烦和计算成本。
有了 MCP,AI 助手可以持续获取数据库的上下文信息,这就带来了几个明显的好处:
- ✅ 响应速度明显加快
- ✅ 调试过程变得更加轻松
- ✅ 开发周期也因此缩短了
所以,开发者们都是超兴奋的啊——因为 MCP 让那些复杂的集成过程变得简单多了,让大家能够更专注于真正的构建,而不是在那儿忙着配置各种东西。
