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