Camoufox Mcp

io.github.baixianger由 GitHub 帳號 baixianger 發布v1.0.0更新於 Oct 24, 2026

Anti-detection browser automation with Camoufox - stealth Firefox for web scraping

概覽

AI 產生的概覽

本機 MCP 伺服器,驅動反偵測 Firefox 瀏覽器 Camoufox,讓助理自動化瀏覽、擷取網頁並管理彼此隔離的已登入工作階段。

可以做什麼
建立、列出、儲存和關閉隔離的瀏覽器工作階段,可從情境檔案預先載入 Cookie 與 localStorage,並將情境注入工作階段。新增、列出、選取和關閉頁面,以及導覽、前進、後退和重新載入。點擊、懸停、填寫表單、按鍵和拖曳元素。透過文字快照、螢幕擷取、頁面文字、主世界或隔離環境中的 JavaScript 執行,以及框架狀態擷取來檢查頁面。擷取和攔截網路請求、擷取主控台記錄、錄製使用者操作、關閉 Cookie 彈出視窗,並等待文字、選擇器或導覽完成。
適用情境
適合助理需要瀏覽或擷取會阻擋一般無頭瀏覽器的網站,或使用已儲存的 Cookie 與 localStorage 狀態平行執行多個登入帳號。也適用於腳本化網頁互動和頁面檢查工作。
執行需求
透過 stdio 在本機執行,通常以 npx 啟動,因此需要 Node.js 和網路存取。Camoufox 會自動安裝(約 150MB)。可選擇在使用者設定目錄放置設定檔;代理可透過 PROXY_SERVER、PROXY_USER 和 PROXY_PASS 環境變數提供。未宣告任何身分驗證。
安裝前請注意
此伺服器用於規避機器人偵測並隨機化瀏覽器指紋,可能違反網站服務條款。工作階段檔案以明文 JSON 儲存 Cookie 和 localStorage 權杖,save_session 會將其寫入磁碟,需妥善保護。代理憑證透過環境變數和設定檔傳遞。助理可填寫表單、點擊、送出並修改網路請求,對真實帳號的操作應加以審核。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Camoufox Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

🦊 Camoufox MCP

Anti-detection browser automation for AI agents

[npm version] [npm downloads] [License: MIT] [Node.js]

MCP server for browser automation using Camoufox - an anti-detection Firefox browser.

Installation

bash
npx camoufox-mcp

Claude Desktop Configuration

Add to claude_desktop_config.json:

Basic:

json
{  "mcpServers": {    "camoufox": {      "command": "npx",      "args": ["camoufox-mcp"]    }  }}

With Proxy (via env vars):

json
{  "mcpServers": {    "camoufox": {      "command": "npx",      "args": ["camoufox-mcp"],      "env": {        "PROXY_SERVER": "http://1.2.3.4:8080",        "PROXY_USER": "username",        "PROXY_PASS": "password"      }    }  }}

Then in ~/.config/camoufox-mcp/settings.json:

json
{  "proxy": {    "enabled": true,    "server": "${PROXY_SERVER}",    "username": "${PROXY_USER}",    "password": "${PROXY_PASS}",    "geoip": true  }}

Why Camoufox MCP?

FeatureCamoufox MCPChrome DevTools MCP
Anti-Detection
Bot detection bypass✅ Built-in❌ Detected
Fingerprint randomization✅❌
WebRTC leak protection✅❌
Canvas fingerprint spoofing✅❌
Automation
Humanized cursor movement✅ Realistic paths❌ Instant jumps
Click with human-like delays✅❌
Proxy with GeoIP auto-config✅ Timezone/locale❌ Manual
JavaScript Evaluation
MainWorld eval (__NUXT__, __NEXT_DATA__)✅✅
Isolated eval (async/await)✅✅
Session Management
Isolated browser sessions✅ Multiple contexts❌ Single context
Pre-authenticated sessions✅ Cookie/localStorage injection❌
Session state export✅ Save to JSON❌
Features
Cookie popup auto-dismiss✅ 50+ selectors❌
User action recording✅❌
Network interception✅✅
Console capture✅✅
Performance tracing❌✅
Browser
EngineFirefox (Gecko)Chrome (Chromium)
Auto-install✅ ~150MB✅

Tools

Session Management

Sessions provide isolated browser contexts — each session has its own cookies, localStorage, and cache. Use sessions to run multiple authenticated profiles simultaneously.

ToolDescription
create_sessionCreate a new isolated session, optionally pre-loading cookies/localStorage from a JSON file
list_sessionsList all sessions with their page counts and metadata
save_sessionExport a session's cookies and localStorage to a JSON file
close_sessionClose a session and all its pages
list_context_filesList available context files registered in settings

Page Management

ToolDescription
new_pageCreate a new page, optionally in a specific session
list_pagesList all open pages with their session IDs
select_pageSet a page as active
close_pageClose a page

Navigation & Interaction

ToolDescription
navigate_pageNavigate to URL, back, forward, or reload
clickClick an element by UID
hoverHover over an element
fillFill a form field
fill_formFill multiple form fields at once
press_keyPress a key or key combination
dragDrag an element to another

Inspection

ToolDescription
take_snapshotText snapshot with interactive element UIDs
take_screenshotScreenshot of page or element
get_page_textExtract text content
evaluate_mainworldRun JS in page context (sync only)
evaluate_isolatedRun JS in isolated context (async OK)
get_framework_stateExtract Next.js/Nuxt.js state

Context Injection

ToolDescription
inject_contextInject cookies + localStorage from a JSON file into a session

Monitoring

ToolDescription
start_network_capture / stop_network_captureCapture network requests
get_network_logs / clear_network_logsView/clear captured requests
intercept_network / remove_interceptBlock or modify requests
start_console_capture / stop_console_captureCapture console messages
get_console_logs / clear_console_logsView/clear console messages
start_recording / stop_recording / get_recording_statusRecord user interactions

Utility

ToolDescription
dismiss_popupsAuto-dismiss cookie consent popups
wait_forWait for text or selector
wait_for_navigationWait for navigation to complete
reload_settingsReload settings from config
get_config_pathsShow config file paths
init_user_configInitialize user config directory

Sessions

Sessions enable running multiple authenticated profiles in parallel. Each session is an isolated browser context with its own cookies and localStorage.

Browser (single Camoufox instance)  ├── Session "github" (cookies from github.json)  │     ├── Page: github.com  │     └── Page: github.com/repo  ├── Session "linkedin" (cookies from linkedin.json)  │     └── Page: linkedin.com/feed  └── Session "default" (no pre-loaded state)        └── Page: example.com

Usage Examples

Create a session with pre-loaded authentication:

  1. create_session with contextPath: "github-cookies.json" — returns a sessionId
  2. new_page with url: "https://github.com" and the sessionId — opens GitHub already logged in

Run two accounts simultaneously:

  1. create_session with contextPath: "account1.json" — session A
  2. create_session with contextPath: "account2.json" — session B
  3. new_page in session A — logged in as account 1
  4. new_page in session B — logged in as account 2

Save session state for later:

  1. Log in manually in a session
  2. save_session with outputPath: "my-session.json" — exports cookies + localStorage
  3. Next time, create_session with contextPath: "my-session.json" — restored

Context File Format

Context files use Playwright's storageState format:

json
{  "cookies": [    {      "name": "session_id",      "value": "abc123",      "domain": ".example.com",      "path": "/",      "expires": 1735689600,      "httpOnly": true,      "secure": true,      "sameSite": "Lax"    }  ],  "origins": [    {      "origin": "https://example.com",      "localStorage": [        { "name": "token", "value": "xyz789" }      ]    }  ]}

Registering Context Files in Settings

Add context file paths to settings.json to make them discoverable via list_context_files. Sessions are created lazily on demand — no memory is used until the agent calls create_session:

json
{  "contextPaths": [    "/path/to/github-cookies.json",    "/path/to/linkedin-cookies.json"  ]}

The agent can then call list_context_files to see what's available, and create_session with the desired contextPath to load it when needed.

Settings

Create ~/.config/camoufox-mcp/settings.json:

json
{  "browser": {    "headless": false,    "viewport": [1280, 1080],    "timeout": 30000,    "humanize": 0.5  },  "proxy": {    "enabled": true,    "server": "http://proxy.example.com:8080",    "username": "user",    "password": "pass",    "geoip": true  },  "contextPaths": []}

Proxy Examples

HTTP/HTTPS Proxy:

json
{ "proxy": { "enabled": true, "server": "http://1.2.3.4:8080" } }

SOCKS5 Proxy:

json
{ "proxy": { "enabled": true, "server": "socks5://1.2.3.4:1080" } }

With Authentication (using env vars):

json
{  "proxy": {    "enabled": true,    "server": "${PROXY_SERVER}",    "username": "${PROXY_USER}",    "password": "${PROXY_PASS}",    "geoip": true  }}

geoip: true auto-adjusts browser timezone/locale based on proxy IP location.

See More

License

MIT

來源:README.md,提交 1e44772

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。