MCP、工具、浏览器和终端
理解 Cursor Agent 的工具层:MCP 接外部系统,Browser 验 UI,Terminal 跑命令。
Cursor 真正进入生产工作流,靠的是工具层:Terminal 跑本地命令,Browser 验证页面和运行时,MCP 连接外部系统。工具越强,越要控制权限、凭据、审批和验证证据。
本章目标:你会判断什么时候给 Cursor 开 Terminal、Browser、MCP,哪些工具可以自动运行,哪些必须保留人工 approval。
1. 三类工具分别解决什么
flowchart TD
Task["开发任务"] --> Terminal["Terminal Tool"]
Task --> Browser["Browser Tool"]
Task --> MCP["MCP Servers"]
Terminal --> Commands["lint / test / build / logs"]
Browser --> UI["screenshots / console / network"]
MCP --> External["GitHub / DB / Linear / Notion / APIs"]
Commands --> Evidence["Verification Evidence"]
UI --> Evidence
External --> Evidence
分工很清楚:
- Terminal:运行本地命令,拿到 lint、test、build、logs、scripts 的证据。
- Browser:打开页面,点击、输入、截图,读取 console 和 network。
- MCP:把外部工具和数据源接入 Agent,例如 GitHub、数据库、项目管理、内部 API。
不要为了“更智能”把工具全开。每个工具都要回答:为什么需要它、会接触什么数据、是否可能写入、结果怎么验收。
2. Terminal:最常用,也最容易越界
官方 Terminal Tool 文档说明,Agent 可以运行 shell commands,并通过 sandbox(沙箱,限制进程能访问的文件和网络范围)限制文件和网络访问。macOS 开箱即用,Windows 依赖 WSL2,Linux 依赖支持 Landlock v3(Linux 内核 6.7+ 提供的进程级沙箱机制)的 kernel。
可以让 Agent 运行的命令:
pnpm lintpnpm test -- <target>pnpm buildgit diff --check- 只读日志查询
- 本地开发服务器启动和停止
需要谨慎确认的命令:
- 安装或升级依赖。
- 修改全局配置。
- 访问网络。
- 执行 migration。
- 删除文件。
- 部署、发布、上传。
官方 sandbox 失败时可能出现 Skip、Run、Add to allowlist(白名单,明确允许的命令清单)。默认策略:
- 不清楚命令用途,选 Skip。
- 需要一次性越权,选 Run。
- 只有低风险、重复、可解释命令才 Add to allowlist。
不要把 rm、生产部署、数据库迁移、付款、真实后台操作加入 allowlist。长期放权比单次 approval 风险大。
3. Browser:UI 验收不是截图而已
官方 Browser Tool 文档说明,Browser 可以 navigate、click、type、scroll、screenshot,还能读取 console output 和 network traffic。
适合:
- 验证本地 localhost 页面。
- 检查 mobile / tablet / desktop 断点。
- 复现前端 bug。
- 查看 console error 和 network status。
- 对比视觉状态,例如 loading、empty、error、hover、dark mode。
对教程站这类文档网站,Browser 检查至少覆盖:
- 首页导航。
- 搜索入口。
- 文档目录。
- 正文页。
- Cards。
- details / summary。
- code blocks。
- Mermaid 图。
- 表格和长链接。
Browser action 的审批模式要保守。官方列出 manual approval、allow-listed actions、auto-run。陌生网站、不可信代码、有账号状态的后台,不要 auto-run。
4. MCP:外部系统入口必须最小权限
官方 MCP 文档说明,Cursor 支持 stdio(标准输入输出,本地子进程通信)、SSE(Server-Sent Events,服务端推送)、Streamable HTTP(流式 HTTP)三种 transport(传输方式)。MCP server 可以暴露 6 类能力:
tools(可被 Agent 调用的函数)prompts(预设提示词模板)resources(可读资源,如文件 / URL / 数据条目)roots(工作根目录提示)elicitation(向用户索取参数的对话能力)apps(独立应用入口)
配置位置:
.cursor/mcp.json:项目级,可团队共享。~/.cursor/mcp.json:个人全局。
同名 server 同时出现时,project-level config 优先。需要登录的 MCP server 还可以走 OAuth 流程,无需把长期 token 写进 mcp.json。
MCP 风险来自两类:
- 读取风险:数据库、客户资料、内部文档、issue、日志。
- 写入风险:创建 issue、发消息、改数据库、触发部署、操作后台。
建议先从只读 tools 开始。写操作默认保持 approval,并要求 Agent 展示 tool arguments。需要凭据时用环境变量或凭据系统,不要把 token 写进 mcp.json。
5. 工具授权 prompt 模板
给 Agent 开工具时,prompt 要明确授权边界:
目标:验证 docs 页面在 390px 和 1024px 下没有横向溢出。
允许工具:
- 可以运行本地 build。
- 可以启动本地预览服务器。
- 可以使用 browser 打开 localhost 页面并截图。
禁止:
- 不要访问生产后台。
- 不要登录账号。
- 不要修改无关文件。
- 不要安装依赖。
验收:
- 输出检查过的 URL 和 viewport。
- 输出是否有 console error、network error、horizontal overflow。
- 如需修改,先列出文件和原因。这类写法把工具从“能力”变成“受控流程”。
6. 工具失败时怎么判断
常见失败不是模型问题,而是工具边界问题:
- Terminal 被 sandbox 拦截:先看命令是否需要网络或 workspace 外路径。
- Browser 打不开页面:先确认 dev server、端口、base path。
- Browser 看不到变化:确认 build 是否重新生成,缓存是否清理。
- MCP tool 不出现:检查
.cursor/mcp.json、~/.cursor/mcp.json、环境变量和 MCP logs。 - Cloud Agent 调不到 MCP:检查 dashboard 里的 Cloud Agent MCP 配置。
- Agent 总结说成功但证据不足:要求贴出关键 command output、URL、viewport、截图或 network status。
7. 商业级工具使用清单
重要任务前确认:
- Terminal 命令可解释、可回退。
- 高风险命令没有加入 allowlist。
- Browser 只操作可信 localhost 或明确授权域名。
- 账号后台操作保留人工确认。
- MCP server 有 owner、用途、凭据范围和日志。
- MCP 写操作保留 approval。
- 所有工具结果都转成验收证据。
- 最终 diff 和工具输出一致。
工具不是为了让 Agent 自主越权,而是为了让它拿到更真实的证据。
官方来源
- Cursor MCP:官方 MCP transports、capabilities、mcp.json、OAuth、interpolation、tool approval 和 Cloud Agents。
- Cursor Terminal Tool:官方 Terminal sandbox、allowlist、sandbox.json 和平台要求。
- Cursor Browser Tool:官方 Browser capabilities、console、network、approval 和 origin allowlist。
- Cursor MCP Help:Help Center MCP 配置、日志和 Cloud Agents 说明。