返回部落格

MCP Server 接入瀏覽器環境的設定流程與排查順序

從版本確認、憑證管理到服務註冊與連通性驗證,完整走過 MCP Server 接入瀏覽器自動化環境的流程,並整理工具清單為空、驗證失敗、連線逾時等常見問題的排查順序。

MCP(Model Context Protocol)讓 AI 助手不必再靠你手寫程式碼來操作瀏覽器,它可以自行依序呼叫工具並完成任務。

真正接入時,卡住的地方通常不在協定本身,而在要安裝什麼、連到哪裡、憑證怎麼提供,以及如何確認已經連通。把這四件事依序走一遍,大部分問題會在設定階段就顯現出來。

MCP Server 接入浏览器环境的配置流程与排查顺序的关键步骤与判断维度示意图

先確認三樣東西

第一樣是提供本機介面的瀏覽器自動化環境用戶端,版本必須支援本機 API。版本太舊時,介面可能根本不存在,但表現出來卻只是工具清單空白。第二樣是 Node.js 18 或以上版本。MCP Server 多半以 TypeScript 實作,需要 Node 執行環境。第三樣是支援 MCP 的 AI 工具。

建議把用戶端版本放在最前面檢查。連不上、工具清單為空等錯誤,有相當一部分只是版本過舊,跟伺服器無關。

要連到哪裡

用戶端啟動後,會在本機啟動一個 API 服務並監聽 loopback 位址。連接埠可在用戶端的介面設定中查看,也可以修改。如果連接埠被占用,就換一個再重新啟動用戶端。

MCP Server 會透過這個本機位址存取環境,整個過程不經過公用網路。反過來也一樣重要:這個服務只應保留在本機,不要對外公開。

憑證要怎麼交出去

在用戶端設定中產生 API Key,有些實作會使用 ID 加 Key 兩個部分。這組憑證實際上等同於你帳號下所有環境的控制權,取得它的人可能可以啟動、修改或刪除你的環境。

有幾件事不要省略。不要把憑證提交到程式碼儲存庫,應使用環境變數或本機設定檔,並把設定檔加入忽略清單。成員異動後要立即輪替憑證。如果支援依用途分開產生,就分開使用,發生問題時更容易定位,也能單獨撤銷。在 AI 工具的設定中,endpoint 與憑證都透過環境變數傳入,不要硬寫在命令列中到處留下紀錄。

把服務註冊進去

註冊方式通常是在 AI 工具的設定檔中新增一筆服務定義,內容分成三部分:啟動方式,也就是命令或入口檔案路徑;環境變數,用來放本機 endpoint 與憑證;服務識別名稱,也就是會出現在工具清單中的名稱。

註冊完成後要重新啟動 AI 工具。多數工具只會在啟動時讀取一次設定,因此修改後不重新啟動,實際上就等於沒有修改。

怎麼確認真的連通了

分兩步,而且順序不要顛倒。

先查看工具清單,裡面應該出現瀏覽器相關工具,這一步確認服務已被辨識。接著給它一個唯讀任務,例如列出目前所有環境。唯讀操作不會產生副作用,卻可以一次驗證身分驗證、網路與服務三個層次。這一步如果不通,後面的任務都不用急著測。

連通之後能做什麼

服務打通後,AI 助手一般可以取得幾類能力:查詢與搜尋環境、建立環境並設定基本參數、啟動與停止環境、替環境綁定網路出口,以及在頁面中執行導覽、點擊、填寫與截圖等操作。

呼叫方式是自然語言,你描述目標,由它決定要呼叫哪些工具以及執行順序。這裡有一個容易混淆的地方:AI 決定要做什麼,環境層決定要用什麼身分來做。把這兩件事分開看,發生問題時才容易判斷應該從哪一層開始查。

連不上時的排查順序

如果工具清單為空,先檢查設定檔路徑是否正確,再確認有沒有重新啟動 AI 工具,最後嘗試手動啟動服務,看看它本身能不能正常啟動。這三步只要有任何一步失敗,都還不到懷疑協定的時候。

身分驗證失敗通常只有兩個來源:複製 Key 時夾帶了多餘字元或換行,或環境變數沒有被正確讀取。重新複製一次 Key,通常比反覆修改設定更快。

連線逾時大多指向本機這一側。檢查用戶端是否正在執行,以及連接埠是否被占用或被防火牆擋住。MCP Server 多半需要用戶端保持執行狀態,用戶端一關閉,工具就無法再呼叫。

服務已經連通,但操作執行不正確,往往是等待時機的問題。在指令中寫清楚要等到什麼狀態再往下執行,比讓它自行猜測頁面是否載入完成更穩定。

還有一個不太容易事先想到的問題:多個任務共用同一個環境。工作階段、Cookies 與快取會互相覆寫,任務之間開始彼此干擾,最後看到的會是隨機失敗,而不是明確錯誤。比較穩妥的方式是讓每個任務使用獨立環境,批次建立與回收交由環境層處理。PurpleMark 的環境隔離與集中管理能力就位於這一層;接上 MCP 之後,任務編排與身分管理仍然是兩件分開的事。

兩個附帶的問題

當自動化框架接管瀏覽器時,driver 版本要和用戶端使用的核心版本對齊。用戶端通常會回傳可用的 driver 路徑,但版本仍可能不相符;使用版本管理工具自動同步 driver 通常更省事,而頁面 endpoint 仍可沿用用戶端回傳的值,兩者並不衝突。

另一個問題是並行執行。單一瀏覽器程序會占用約 300 到 500MB 記憶體,同一台機器上同時啟動的環境建議不要超過 5 個,超過後可能出現啟動失敗甚至程序崩潰。頁面操作也不要依賴固定延遲,把頁面載入 timeout 設為 30 秒,元素使用明確等待且最長等待 20 秒,會比 sleep 穩定。

一條邊界

MCP 解決的是 AI 如何操作瀏覽器這個技術問題,它不會改變任何平台的規則。任務本身仍然必須符合目標平台的服務條款。技術上做得到與規則上被允許,是兩個獨立的判斷。

協定與介面的細節請以官方文件為準,動手之前先確認你準備執行的任務是否獲目標平台允許。