这个教程解决什么问题
Cursor 自带的武器只有读写代码和跑终端命令。接入 MCP(Model Context Protocol)之后,Agent 能抓网页、操作浏览器、在限定目录里读写文件、查 GitHub 仓库状态。MCP 是 Anthropic 在 2024 年 11 月开放的标准协议,现已被多款主流 AI 编程工具支持。这篇带你理解概念、挑对起步 server、写对配置文件、验证工具真的被调用,并避开 Windows 上最出名的那几个坑。
环境与版本
| 项 | 要求 |
|---|---|
| Cursor | 已安装登录;版本在 Help → About 查看【待补:你的版本号】 |
| Node.js | 18 或更高(npx 拉起 stdio server 用) |
| Python | 3.10+(uvx 运行 Python 系 server 用,可选) |
| 网络 | 首次运行需要访问 npm / PyPI 拉取依赖 |
没装 Node 的先装 LTS 版本;只用 Python 系 server 的话装 uv 即可,uvx 命令随 uv 一起提供,不需要手动建虚拟环境。
三分钟搞懂 MCP 概念
MCP 把”AI 能用什么”标准化成三类能力,Cursor 主要用第一类:
- Tools:Agent 能调用的动作,如抓取一个 URL、点击页面元素。模型按需调用,调用前你可以审批;
- Resources:server 暴露给客户端读取的数据,如文件内容、数据库 schema;
- Prompts:server 预置的提示词模板,按需调用。
三个角色一句话讲清:Server 是提供能力的进程;Tool 是它声明出来的具体动作;Transport 是连接方式——stdio 模式由 Cursor 在本机拉起 server 进程,走标准输入输出通信;HTTP/SSE 模式连接远程服务,配置里只写一个 URL。理解了 transport,配置文件里为什么有的写 command、有的写 url,就通了。
第一步:挑起步 server
不要求多,新手建议从这张表里的两三个开始:
| server | 安装方式 | 能干什么 | 注意点 |
|---|---|---|---|
| filesystem(官方参考实现) | npx -y @modelcontextprotocol/server-filesystem <目录> | 在指定目录内读写文件 | 目录白名单机制,只给必要目录 |
| fetch | uvx mcp-server-fetch | 抓网页并转为 Markdown 供模型阅读 | 需要 Python 环境走 uvx |
| playwright | npx -y @playwright/mcp | 操控浏览器:打开页面、点击、截图 | 首次要下载浏览器内核 |
| github(官方) | 远程或本地均可 | 查 issue、PR、仓库信息 | 需配 GitHub 令牌到 env |
这些名字都是官方或厂商维护的实现,来源可信;来路不明的第三方 server 不要接——它和你的代码跑在同一台机器上。
第二步:写配置文件
配置分两级:项目级 .cursor/mcp.json(随仓库共享,只放该项目需要的)与全局 ~/.cursor/mcp.json(Windows 在用户主目录下,跨项目通用)。文件骨架:
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "D:/work/demo"]
},
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp"]
}
}
}
需要凭证的 server 用 env 字段传入,GitHub 官方 server 的本地写法:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@github/mcp-server"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_你的令牌"
}
}
}
}
令牌在 GitHub 的开发者设置里生成,只勾选必要权限(如只读仓库内容),过期与泄露风险都更小。
第三步:启用并验证连接
保存后打开 Settings 里的 MCP 面板,点刷新,几秒到几十秒内每个 server 应显示已连接。第一次启动慢是正常的:npx 要把包拉到本地(示例:首次启动可能等 30 秒以上,发布前替换为你的实测),浏览器类 server 首次使用还要下载浏览器内核【待补:实测耗时与体积】。连不上就到终端手动跑一次命令,报错比面板直观:
# 手动能打印日志,说明命令本身没问题,问题多半出在配置或环境变量
npx -y @playwright/mcp
Windows 用户注意:stdio 型 server 在 Windows 上常见”明明装了 Node 却连不上”,原因是 Cursor 直接拉起进程时找不到 npx。解决:command 改用 cmd,把原命令包进 args:
{
"mcpServers": {
"playwright": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@playwright/mcp"]
}
}
}
第四步:在 Agent 里用起来
新开对话(Agent 模式),直接描述目标,模型会自己挑工具。三个验证用例由浅入深:
1. 用 fetch 工具抓取 https://example.com 并用中文总结页面内容
2. 在 D:/work/demo 里新建 notes 目录,把总结写进 summary.md
3. 用 playwright 打开 http://localhost:3000 ,检查登录页能否正常渲染并截图
调用发生时,聊天界面会显示工具名与参数,你确认后执行。看到工具调用的提示并拿到结果,说明链路全通了。

【待补:MCP 工具调用与授权提示截图】
常见坑与解法
坑 1:JSON 写错,面板里压根不显示
mcp.json 不支持注释和尾逗号,一个多余逗号整个文件失效。改完用编辑器的 JSON 校验过一遍,或在终端粘进 python -m json.tool 确认合法。
坑 2:uvx / npx 提示找不到命令
图形界面启动的编辑器继承的 PATH 可能与终端不同:终端里 node -v 正常、Cursor 却连不上,就是这类问题。把 Node 装到系统级路径,或用上面的 cmd /c 包装法。
坑 3:工具太多,模型乱调用
每个 server 的工具都会占用上下文并干扰模型选择,工具结果本身也会随对话一路携带、持续消耗额度。按项目裁剪:写前端的项目别挂数据库 server;暂时不用的先在面板里禁用,配置留着。
坑 4:Key 泄进 git
项目级 mcp.json 的 env 字段写了真实凭证,仓库一推全员可见。做法:凭证放全局配置或环境变量,项目级只留结构;.gitignore 和团队约定里写清楚。
坑 5:远程 server 照抄 stdio 模板
HTTP/SSE 型 server 不写 command,写 url 字段(部分还要求带认证头),照服务方文档填,别把本地命令的模板硬套上去。
高频问答
- MCP 调用安全吗:stdio 型 server 在你本机以你的权限运行,装可信来源、filesystem 只给白名单目录、令牌最小权限,三条守住底线;
- 和 Claude Code 的 MCP 配置通用吗:协议相同,server 本体可以直接复用,但配置文件路径和格式是各家客户端自己的约定,不能整个文件照搬;
- 工具调用额外收费吗:工具结果会进入对话上下文,token 消耗随之上升,额度消耗速度与普通对话同规则,没有独立的计费项;
- 连接超时怎么办:先手动运行命令确认 server 本体能起来,再看超时时间与网络代理设置,远程 server 优先检查认证头。
最终效果与验证清单
自查四条:MCP 面板里目标 server 显示已连接;对话中能看到工具被调用的提示与结果;filesystem 的可访问范围确实被限制在你给的目录里;git status 确认没有把凭证提交进仓库。全过,Cursor 就从”会写代码的编辑器”升级成”能动手干活的任务执行器”。