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 說明。

接下來去哪

本頁目錄