🚀 瀏覽器MCP服務器
這是一個模型上下文協議(MCP)服務器,藉助 Playwright 並使用 Anchor瀏覽器 的遠程瀏覽器服務,提供瀏覽器自動化功能。該服務器使大語言模型(LLMs)能夠通過Anchor基於雲的瀏覽器與網頁進行交互,這些瀏覽器內置了代理、隱身功能和高級特性。
✨ 主要特性
- 遠程瀏覽器執行:使用Anchor瀏覽器的雲基礎設施,而非本地瀏覽器。
- 內置代理:自動輪換住宅代理並支持地理定位。
- 隱身與反檢測:具備先進的瀏覽器指紋識別和反機器人檢測功能。
- 快速輕量:使用Playwright的可訪問性樹,而非基於像素的輸入。
- 對大語言模型友好:無需視覺模型,僅對結構化數據進行操作。
- 確定性工具應用:避免了基於截圖方法常見的歧義問題。
📦 安裝指南
要求
- Node.js 18 或更高版本
- Anchor瀏覽器API密鑰(在此獲取)
- VS Code、Cursor、Windsurf、Claude Desktop、Goose或任何其他MCP客戶端
開始使用
1. 克隆並構建
由於這是一個自定義的瀏覽器MCP服務器,你需要在本地進行構建:
git clone https://github.com/anchorbrowser/anchor-mcp.git
cd anchor-mcp
npm install
npm run build
2. 獲取你的Anchor API密鑰
- 在 anchorbrowser.io 上註冊。
- 從儀表盤獲取你的API密鑰。
- 複製你的API密鑰(以
sk- 開頭)。
3. 配置MCP客戶端
Cursor
添加到你的 ~/.cursor/mcp.json 文件中:
{
"mcpServers": {
"anchor-browser": {
"command": "node",
"args": [
"/path/to/anchor-mcp/cli.js"
],
"env": {
"ANCHOR_API_KEY": "sk-your-api-key-here"
}
}
}
}
VS Code
添加到你的MCP配置中:
{
"mcpServers": {
"anchor-browser": {
"command": "node",
"args": [
"/path/to/anchor-mcp/cli.js"
],
"env": {
"ANCHOR_API_KEY": "sk-your-api-key-here"
}
}
}
}
Claude Desktop
添加到你的 claude_desktop_config.json 文件中:
{
"mcpServers": {
"anchor-browser": {
"command": "node",
"args": [
"/path/to/anchor-mcp/cli.js"
],
"env": {
"ANCHOR_API_KEY": "sk-your-api-key-here"
}
}
}
}
4. 重啟你的MCP客戶端
更新配置後,重啟你的MCP客戶端(如Cursor、VS Code等)以加載新的服務器。
配置選項
瀏覽器MCP服務器僅支持必要的配置選項:
node cli.js --help
可用選項
--host <host> - 將服務器綁定到的主機(默認:localhost,使用 0.0.0.0 表示所有接口)
--port <port> - 用於HTTP傳輸的監聽端口(Docker/服務器模式)
帶選項的示例
{
"mcpServers": {
"anchor-browser": {
"command": "node",
"args": [
"/path/to/anchor-mcp/cli.js",
],
"env": {
"ANCHOR_API_KEY": "sk-your-api-key-here"
}
}
}
}
HTTP服務器模式(Docker)
對於Docker或無頭服務器環境:
ANCHOR_API_KEY="sk-your-key" node cli.js --port 8931 --host 0.0.0.0
然後配置你的MCP客戶端使用HTTP端點:
{
"mcpServers": {
"anchor-browser": {
"url": "http://localhost:8931/mcp"
}
}
}
為何選項如此之少?
由於Anchor瀏覽器在遠程處理所有複雜的瀏覽器管理,大多數傳統的瀏覽器選項都不再必要:
- 無需選擇瀏覽器 - Anchor使用優化的遠程瀏覽器。
- 無需配置代理 - Anchor提供內置的代理輪換。
- 無需管理瀏覽器配置文件 - 由Anchor的基礎設施處理。
- 無需進行網絡過濾 - 使用Anchor的儀表盤進行高級控制。
- 無需設置視口/設備選項 - 通過Anchor瀏覽器API進行配置。
這使得MCP服務器保持簡單,並專注於關鍵任務:連接到Anchor的遠程瀏覽器服務。
🔧 技術細節
工作原理
- 瀏覽器會話創建:當你使用瀏覽器工具時,MCP服務器調用Anchor的API創建一個遠程瀏覽器會話。
- 遠程連接:使用Chrome DevTools協議(CDP)通過WebSocket連接到遠程瀏覽器。
- 工具執行:所有瀏覽器自動化操作都在Anchor的雲基礎設施中進行。
- 代理與隱身:自動輪換住宅代理並具備先進的反檢測功能。
- 會話管理:每個會話都是隔離的,並且可以通過Anchor的儀表盤即時查看。
與本地瀏覽器相比的優勢
🌐 全球代理網絡
- 自動輪換住宅代理
- 針對不同地區進行地理定位
- 無需配置代理
🛡️ 高級隱身功能
- 保護瀏覽器指紋
- 繞過反機器人檢測
- 真實的瀏覽器環境
☁️ 雲基礎設施
- 無需本地瀏覽器依賴
- 一致的瀏覽器版本
- 可擴展的執行
📊 監控與調試
💻 使用示例
可用工具
瀏覽器MCP服務器提供所有標準的瀏覽器自動化工具:
核心自動化
anchor_navigate - 導航到URL
anchor_click - 點擊元素
browser_type - 在輸入框中輸入文本
browser_snapshot - 獲取頁面可訪問性樹
browser_take_screenshot - 截圖
browser_evaluate - 執行JavaScript
browser_wait_for - 等待條件滿足
標籤管理
browser_tab_new - 打開新標籤頁
browser_tab_list - 列出打開的標籤頁
browser_tab_select - 在標籤頁之間切換
browser_tab_close - 關閉標籤頁
高級功能
browser_file_upload - 上傳文件
browser_handle_dialog - 處理警報/確認框
browser_network_requests - 查看網絡流量
browser_pdf_save - 生成PDF(使用 --caps=pdf)
常見問題解決
API密鑰無效
Error: Missing ANCHOR_API_KEY environment variable
解決方案:確保你的API密鑰已正確設置在MCP配置中。
構建錯誤
npm run build
解決方案:確保你安裝了Node.js 18+ 並先運行 npm install。
連接問題
檢查MCP日誌中的Anchor API響應和WebSocket連接狀態。
會話限制
每個Anchor API密鑰都有會話限制。在 anchorbrowser.io 的儀表盤上查看使用情況。
開發
要修改或擴展瀏覽器MCP服務器:
npm run build
node cli.js --help
服務器將自動使用Anchor的遠程瀏覽器進行所有操作,提供基於雲的瀏覽器自動化的優勢,以及先進的代理和隱身功能。
📄 許可證
本項目採用Apache License 2.0許可 - 詳情請參閱 LICENSE 文件。
支持