Skip to Content
MCP Tools

MCP Tools

VulpineOS provides a Model Context Protocol  (MCP) server that exposes browser automation as tool calls. Each AI browser agent uses these tools to browse — every action goes through the anti-detect browser engine (Camoufox). OpenClaw agents call these tools directly for all browser automation tasks.

./vulpineos --mcp-server

Available Tools (36)

Core Browser Control

ToolDescription
vulpine_navigateNavigate a session to a URL
vulpine_snapshotToken-optimized semantic DOM with @ref identifiers
vulpine_clickClick at page coordinates
vulpine_typeType into the focused element
vulpine_screenshotCapture a base64 PNG screenshot
vulpine_scrollScroll by pixel delta
vulpine_new_contextCreate an isolated browser context and page
vulpine_close_contextClose a browser context
vulpine_get_ax_treeRead the injection-filtered accessibility tree
vulpine_click_refClick by @ref from vulpine_snapshot
vulpine_type_refFocus and type by @ref
vulpine_hover_refHover by @ref

vulpine_snapshot is the primary page-reading tool. It returns compressed DOM with element refs:

{ "name": "vulpine_snapshot", "arguments": { "sessionId": "sess-1", "viewportOnly": true } }
{"v":1,"title":"Example","url":"https://example.com","nodes":[ [0,"doc","Example"], [1,"a","Home",{"hr":"/"},"@0"], [1,"btn","Sign Up",null,"@1"] ]}

Reliability And Interaction

ToolDescription
vulpine_waitWait for an element, text, network idle, stable DOM, or URL substring
vulpine_findSearch interactive elements by text, label, placeholder, or role
vulpine_verifyCheck state after an action: exists, visible, checked, value, text, URL, title
vulpine_screenshot_diffCompare screenshot checkpoints for visual changes
vulpine_page_settledWait for ready state, DOM stability, and pending images
vulpine_select_optionSelect dropdown options by value or visible text
vulpine_fill_formFill multiple form fields in one call
vulpine_page_infoSummarize page URL, title, scroll, forms, buttons, links, and modals
vulpine_press_keyPress keys and shortcuts with modifiers
vulpine_clear_inputClear focused or selected input text
vulpine_get_form_errorsExtract HTML5, CSS, and ARIA form validation errors

Human Realism

ToolDescription
vulpine_human_clickMove and click with natural timing, curves, and jitter
vulpine_human_typeType with variable human-like cadence
vulpine_human_scrollScroll with inertial timing

Extension Surfaces

These tools expose stable VulpineOS feature surfaces. Open-source builds return graceful unavailable errors when a provider is not present; commercial/private builds can attach their own providers without exposing implementation source.

ToolDescription
vulpine_annotated_screenshotScreenshot with durable @N labels for interactive elements
vulpine_click_labelClick an element from the latest annotated screenshot by label
vulpine_get_credentialReturn stored credential metadata for a site, never plaintext
vulpine_autofillAsk the credential provider to fill username and password fields
vulpine_start_audio_captureStart an audio capture session
vulpine_stop_audio_captureStop an audio capture session
vulpine_read_audio_chunkRead base64 audio bytes from a capture session
vulpine_list_mobile_devicesList mobile devices visible to the bridge provider
vulpine_connect_mobile_deviceStart a local CDP bridge to an Android device and return an endpoint
vulpine_disconnect_mobile_deviceStop a mobile bridge session
{ "name": "vulpine_connect_mobile_device", "arguments": { "udid": "R58N12ABCDE" } }

Ref-Based Workflow

The recommended agent workflow:

  1. Call vulpine_snapshot to get the page DOM with @ref identifiers
  2. Agent reads the snapshot and decides which element to interact with
  3. Call vulpine_click_ref or vulpine_type_ref with the @ref — no coordinates needed
  4. Call vulpine_snapshot again to see the result

This is more reliable than coordinate-based clicking because refs resolve to the actual DOM element, scroll it into view, and compute the center point automatically.

OpenClaw Integration

VulpineOS auto-generates ~/.openclaw-vulpine/openclaw.json. When foxbridge is available, it sets browser.cdpUrl so OpenClaw uses its native CDP browser tools through Camoufox:

{ "browser": { "enabled": true, "cdpUrl": "ws://localhost:9222" } }

See also

Last updated on