你好,Lena 来了。那天下午我并没打算搞什么复杂东西。
我只想让 Cursor 能伸进数据库里拉上下文,而不用我手动复制。理论上够简单。但第一次看 Cursor 里的 MCP Server 时,我停得比预想更久。设置面板和两三个大版本前文档里的感觉略有不同。配置路径也挪过。UI 上多了新标签。不是坏了——只是……和我记忆里不完全一样。
这篇文章想写的其实正是这个。不只是「给你一段 JSON」——更像是我认真走了一遍流程时注意到的事,包括一开始让我困惑的部分。
MCP Server 在 Cursor 里做什么
Cursor IDE 内部的 tool calling 如何工作
MCP——Model Context Protocol——是一套开放协议,规范应用如何把工具与上下文交给 LLM。Anthropic 在 2024 年 11 月将其开源。到 2025 年中,OpenAI 与 Google DeepMind 也已采用。2025 年 12 月,它转入 Agentic AI Foundation——Linux Foundation 旗下项目。这一点有些意义:它从「Anthropic 自家的东西」变得更像真正共享的基础设施。
在 Cursor 里,MCP 对 Agent 而言像一层插件。当你开启 Agent 会话,Cursor 会扫描已启用的 MCP Server,加载它们暴露的工具,并判断在当前任务里该调用哪些。
协议分三块:host(Cursor 本身)、client(Cursor 内部的连接器)、server(另一端暴露工具、走 JSON-RPC 2.0 的轻量程序)。
最主要的是 tools——可执行函数,例如 create_issue 或 run_query。Cursor 很早就支持 tools。Resources——例如文件内容与数据库 schema 这类上下文数据——在 Cursor v1.6(2025 年 9 月)才到齐。让 Server 提供可复用模板的 prompts 则稍晚一些。
嗯……我之前没意识到 resources 这么新。这也许能解释为什么有些旧教程总觉得缺一块。
开始之前:前置条件
支持 MCP 的 Cursor 版本
MCP 支持在 Cursor 里已经有一段时间了,但配置格式在不同版本间变过。动手前先看版本。打开 Cursor → Help → About。截至 2026 年初的稳定版支持三种传输:stdio、SSE 与 Streamable HTTP。
值得确认的一点:设置里这一节现在标为 Tools & MCP,不再只是「Extensions」或更泛的标签。若你找不到——多半是这个原因。
视 Server 而定的 Node.js 或 Python
你遇到的大多数 MCP Server 会落在两套栈之一:
- 基于 Node.js 的 Server——通过
npx或node启动。要求 PATH 里有 Node.js 18+。 - 基于 Python 的 Server——通过
uv run或python启动。通常要 Python 3.10+,且常用uv作为包管理器。
建议先在终端跑 node --version 和 python --version。听起来很基础,但漏掉这一步会悄悄毁掉大量失败安装——Server 进程根本起不来,面板里 Cursor 也给不出有用信息。
如何把 MCP Server 加到 Cursor
第一步:找到或自建 MCP Server
已经有不少 Server——GitHub、Postgres、Slack、浏览器自动化等。GitHub 上的 官方 MCP Server 仓库 是合理起点。有些文档里带一键「Add to Cursor」,会自动写好配置。
若自建:Server 只需向 stdout 打印(stdio 传输)或提供 HTTP 端点。语言不限,这也是它和我早年用过的插件系统略有不同的原因之一。
第二步:在 Cursor 设置里配置
这里我想写精确些,因为格式很重要,而文档未必会在你写错时提醒。
有两处配置位置:
- 项目级:项目根目录下的
.cursor/mcp.json - 全局:用户主目录下的
~/.cursor/mcp.json
结构大致如下:
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "your-mcp-server-package"],
"env": {
"API_KEY": "your-value-here"
}
}
}
}
env 字段用来传 API 密钥与敏感配置——不要塞进 args。我花了一点时间才直观理解这一点。
很多人会踩的一点:若漏掉根键 "mcpServers",Cursor 会静默忽略整个文件。没有报错,没有警告。Server 就是不会出现。我不确定为何如此,但事实如此。
使用 uv 的 Python Server 示例:
{
"mcpServers": {
"my-python-server": {
"command": "uv",
"args": ["run", "--with", "my-server-package", "my-server-package", "run"]
}
}
}
也可以在 UI 里添加:Settings → Tools & MCP → New MCP Server。若你不习惯直接改 JSON,这条路会宽容一些。
第三步:验证连接
保存配置后,打开 Settings → Tools & MCP。每个 Server 应带状态指示——绿色表示已连接,其他颜色表示未连上。
若某个 Server 没出现:先查根键("mcpServers",而不是 "servers" 等)。再确认命令在 PATH 里真的可用。Cursor 在这里不总能抛出有用错误——这一点对我来说仍有点悬而未决。
第四步:在 Agent 会话里测试工具调用
在 Cursor 里开一个新的 Agent 会话(不要用普通聊天)。输入自然会触发某个 Server 工具的内容。Cursor 在执行前应会请你确认——这是预期行为,不是故障。
若工具跑了但没什么有用输出,确认 Server 确实导出了你以为的那个工具。Tools & MCP 面板会列出每个 Server 暴露的工具。在断定「坏了」之前,先看一眼那份列表。
常见 MCP 配置问题排查
Server 不显示
通常是三件事之一:缺少 "mcpServers" 根键、PATH 里找不到命令,或 JSON 语法错误。Cursor 对这些都很安静。手动校验 JSON——甚至贴进 linter——能省时间。
工具调用静默失败
**Cursor 对所有 Server 的活跃工具数量上限大约在 40。**超过后,Agent 会因上下文塞满而更难选对工具。若启了很多 Server,试试关掉不用的,并在 Tools & MCP 面板点刷新。这招不止一次帮到我。
鉴权错误
若 Server 需要 API 密钥,而工具调用因权限失败,再确认密钥写在配置的 env 里,而不是硬编码进 args。有些包还要求特定的环境变量名——值得对照 Server 自带文档核对变量名。
让 Cursor 的 MCP 配置可复用
配置为何会丢、怎么让它稳住
若只在单个项目里用 .cursor/mcp.json,换文件夹工作时配置就像消失了一样。我第一次遇到时也愣了一下。做法是同时在全局维护 ~/.cursor/mcp.json,放你希望在各处都有的 Server——例如文件系统 Server 或文档检索工具。
团队协作时,把 .cursor/mcp.json 提交进版本库,能让项目成员拿到同一套 Server 配置。env 里的值显然不该提交——应放在本地环境配置或密钥管理里。
还有一点值得牢记:MCP Server 会以你的凭据执行代码。你授予 Server 的权限——数据库访问、GitHub token、API 密钥——它都会用。在添加任何第三方 Server 前,值得读一读官方文档里的 MCP 安全指引。2025 年围绕 Cursor MCP 的 CVE 披露已修复,但底层原则不变:把每个 Server 都当作需要完全信任的集成。
FAQ
- 如何把 MCP Server 加到 Cursor?
在项目目录创建或编辑 .cursor/mcp.json(或全局使用 ~/.cursor/mcp.json),使用根键 "mcpServers",写入 Server 的 command、args 以及所需环境变量。然后在 Settings → Tools & MCP 里确认已连接。
- 哪个版本的 Cursor 支持 MCP?
MCP 工具支持在 Cursor 里已经可用一段时间。Resources(schema、文件内容等上下文数据)在 v1.6(2025 年 9 月)加入。用 Help → About 核对版本,并保持 Cursor 更新——不同版本里 MCP 集成变化不小。
- 为什么我的 MCP Server 在 Cursor 里不显示?
最常见原因是配置里缺少或拼错了根键 "mcpServers"。若缺少该键,Cursor 会静默忽略整个文件。其他原因包括 PATH 找不到命令,或 JSON 语法错误。校验配置文件,并确认终端里能访问 Node.js 或 Python 运行时。
我大概还会继续观察它如何演进。MCP 生态仍在成形——Server 不断新增,协议也被更多工具采纳——再过一两个版本配置会长成什么样,我目前还说不准。
……但并不觉得乱。
延伸阅读:官方 MCP 文档 · Cursor MCP 文档 · GitHub 上的 MCP Server 仓库




