AI 编程教程中文版
从原理到实战

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 lint
  • pnpm test -- <target>
  • pnpm build
  • git diff --check
  • 只读日志查询
  • 本地开发服务器启动和停止

需要谨慎确认的命令:

  • 安装或升级依赖。
  • 修改全局配置。
  • 访问网络。
  • 执行 migration。
  • 删除文件。
  • 部署、发布、上传。

官方 sandbox 失败时可能出现 Skip、Run、Add to allowlist(白名单,明确允许的命令清单)。默认策略:

  1. 不清楚命令用途,选 Skip。
  2. 需要一次性越权,选 Run。
  3. 只有低风险、重复、可解释命令才 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 说明。

接下来去哪

本页目录