讓 wsl2 下的 chrome-devtools-mcp 連接 Windows Chrome

chrome-devtools-mcp 是目前很多人用來搭配 AI Agent 調試網頁的 MCP 工具,但我平常的開發環境是在 WSL2 下開發,AI Agent 也是運作於 WSL2 下,如果要使用 chrome-devtools-mcp 則必須於 WSL2 下安裝 Linux 版 chrome

但有沒有辦法可以讓 WSL 下的 chrome-devtools-mcp 直接操控 Windows chrome 呢 ?

社群其實有人提出用甚麼 WSL2 Mirrored Mode 讓 Windows Chrome 可以暴露 debug port 給 WSL2 連接的方式,或是走奇怪的 portproxy 方式。

上述方式其實都牽扯到系統級的設定,我不是很喜歡,我參考了 wsl-chrome-mcp 的作法,該專案乾脆重新打造一個 MCP Server 來解決這問題,其思路其實會透過 WSL2 可直接執行 Windows powershell 的方式並透過 web socket 來連接 Windows Chrome,這個思路非常了不起,但畢竟這個專案不是很受歡迎,我仍然偏好使用最多人用的 chrome-devtools-mcp

我就在想,我是否能參考 wsl-chrome-mcp 的思路,寫一個 bridge ,讓 chrome-devtools-mcp 執行我寫的 bridge 來達成直接操控 Windows Chrome 的目的 ?

於是就有了這個專案 wsl-chrome-bridge

有興趣的人可以直接到該 Repo 有比較完整的說明,基本上運作方式就如以下架構圖

bridge 本身提供 stdio pipe 方式讓 chrome-devtools-mcp 連接,其實可以想像成 chrome-devtools-mcp 認為 bridge 就是個 chrome , 而這個假 chrome 背後透過 powershell 自動執行 Chrome 並處理與 Windows Chrome 的資料交換。

用上述機制,就完全不需要碰系統級別的設定,直接設定好 MCP 設定檔就夠了。

其實本專案也許過一陣子就沒用了,透過 powershell 繞過限制的方式我相信總有一天 chrome-devtools-mcp 應該會實作進去吧,這個專案就是我現在過渡用的。

發佈留言