Skip to content
Agentmart
Submit a tool

WaveXisMCP

220 browser automation tools for Chrome, Edge, and Firefox via CDP + BiDi.

Connector by MathiasPaulenko · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 3
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/mathiaspaulenko-wavexis-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

220 browser automation tools for Chrome, Edge, and Firefox via CDP + BiDi. 100% Python.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
80 read · 87 write · 53 delete
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 220

Read from the source code; the running server may list different tools.

Read 80 · Look things up without changing anything.

  • wavexis_a11y_ancestors
  • wavexis_a11y_node
  • wavexis_a11y_snapshot
  • wavexis_animation_list
  • wavexis_annotated_screenshot
  • wavexis_assert_list
  • wavexis_assert_text_visible
  • wavexis_assert_url
  • wavexis_assert_value
  • wavexis_assert_visible
  • wavexis_axe_audit
  • wavexis_backends
Show 68 more tools
  • wavexis_bluetooth_device_list
  • wavexis_browser_context_list
  • wavexis_browser_logs
  • wavexis_browser_version
  • wavexis_cache_storage_entries
  • wavexis_cache_storage_list
  • wavexis_capture_har
  • wavexis_cast_list
  • wavexis_console_messages
  • wavexis_cookie_get
  • wavexis_cookie_list
  • wavexis_cookies_get
  • wavexis_core_web_vitals
  • wavexis_crawl
  • wavexis_css_get_computed
  • wavexis_css_get_rules
  • wavexis_css_get_styles
  • wavexis_css_get_stylesheets
  • wavexis_debug_get_listeners
  • wavexis_dom_get
  • wavexis_dom_get_attr
  • wavexis_dom_query
  • wavexis_dom_snapshot
  • wavexis_extension_list
  • wavexis_extract
  • wavexis_find
  • wavexis_find_by_text
  • wavexis_generate_locator
  • wavexis_get_config
  • wavexis_get_pref
  • wavexis_get_request_body
  • wavexis_get_response_body
  • wavexis_get_security_state
  • wavexis_get_window_bounds
  • wavexis_indexeddb_get_data
  • wavexis_indexeddb_list
  • wavexis_intercept_download
  • wavexis_lighthouse
  • wavexis_list_tabs
  • wavexis_localstorage_get
  • wavexis_localstorage_list
  • wavexis_media_get_messages
  • wavexis_media_get_players
  • wavexis_network_request
  • wavexis_network_requests
  • wavexis_page_pdf
  • wavexis_page_snapshot
  • wavexis_pdf
  • wavexis_perf_coverage
  • wavexis_perf_css_coverage
  • wavexis_perf_heap_snapshot
  • wavexis_perf_metrics
  • wavexis_perf_profile
  • wavexis_perf_trace
  • wavexis_route_list
  • wavexis_scrape
  • wavexis_screencast
  • wavexis_screenshot
  • wavexis_service_worker_list
  • wavexis_session_info
  • wavexis_sessionstorage_get
  • wavexis_sessionstorage_list
  • wavexis_stop_combined_trace
  • wavexis_storage_state_save
  • wavexis_visual_diff
  • wavexis_wait
  • wavexis_webaudio_capture
  • wavexis_webauthn_get_credential

Write 87 · Create, change, send or run things.

  • wavexis_act
  • wavexis_activate_tab
  • wavexis_animation_pause
  • wavexis_animation_play
  • wavexis_animation_set_rate
  • wavexis_back
  • wavexis_bluetooth_adapter_state
  • wavexis_bluetooth_device_connect
  • wavexis_browser_context_create
  • wavexis_cast_start
  • wavexis_cast_stop
  • wavexis_cookies_set
Show 75 more tools
  • wavexis_debug_pause
  • wavexis_debug_resume
  • wavexis_debug_set_breakpoint
  • wavexis_debug_set_breakpoint_function
  • wavexis_debug_step_into
  • wavexis_debug_step_out
  • wavexis_debug_step_over
  • wavexis_dialog_accept
  • wavexis_dialog_dismiss
  • wavexis_dom_focus
  • wavexis_dom_scroll
  • wavexis_dom_set_attr
  • wavexis_emulate_device
  • wavexis_eval
  • wavexis_forward
  • wavexis_grant_permission
  • wavexis_hover
  • wavexis_iframe_eval
  • wavexis_key_down
  • wavexis_key_press
  • wavexis_key_up
  • wavexis_localstorage_set
  • wavexis_media_player_pause
  • wavexis_media_player_play
  • wavexis_media_player_seek
  • wavexis_modify_request
  • wavexis_modify_response
  • wavexis_mouse_move
  • wavexis_mouse_move_xy
  • wavexis_mouse_wheel
  • wavexis_multi_action
  • wavexis_navigate
  • wavexis_new_tab
  • wavexis_overlay_highlight
  • wavexis_press_keys
  • wavexis_raw_bidi
  • wavexis_raw_cdp
  • wavexis_record
  • wavexis_reload
  • wavexis_replay_har
  • wavexis_route
  • wavexis_service_worker_emulate
  • wavexis_service_worker_update
  • wavexis_session_open
  • wavexis_sessionstorage_set
  • wavexis_set_cache_disabled
  • wavexis_set_cpu_throttle
  • wavexis_set_dark_mode
  • wavexis_set_geolocation
  • wavexis_set_headers
  • wavexis_set_locale
  • wavexis_set_network_state
  • wavexis_set_pref
  • wavexis_set_sensors
  • wavexis_set_timezone
  • wavexis_set_touch_emulation
  • wavexis_set_user_agent
  • wavexis_set_viewport
  • wavexis_set_window_bounds
  • wavexis_shadow_eval
  • wavexis_start_combined_trace
  • wavexis_stop
  • wavexis_storage_state_restore
  • wavexis_subscribe_events
  • wavexis_tap
  • wavexis_throttle_network
  • wavexis_unsubscribe_events
  • wavexis_video_action_overlay
  • wavexis_video_add_chapter
  • wavexis_video_record
  • wavexis_video_stop
  • wavexis_webaudio_stop_capture
  • wavexis_webauthn_add_authenticator
  • wavexis_webauthn_add_credential
  • wavexis_websocket_intercept

Delete 53 · Delete, drop, revoke or wipe things.

  • wavexis_block_requests
  • wavexis_bluetooth_device_disconnect
  • wavexis_browser_context_close
  • wavexis_cache_storage_delete
  • wavexis_check
  • wavexis_click
  • wavexis_close_page
  • wavexis_close_tab
  • wavexis_console_clear
  • wavexis_cookies_clear
  • wavexis_cookies_delete
  • wavexis_debug_remove_breakpoint
Show 41 more tools
  • wavexis_dom_remove
  • wavexis_dom_remove_attr
  • wavexis_double_click
  • wavexis_drag
  • wavexis_drop
  • wavexis_extension_install
  • wavexis_extension_uninstall
  • wavexis_fill
  • wavexis_fill_form
  • wavexis_iframe_click
  • wavexis_iframe_fill
  • wavexis_ignore_cert_errors
  • wavexis_indexeddb_clear
  • wavexis_intercept_requests
  • wavexis_invoke
  • wavexis_localstorage_clear
  • wavexis_localstorage_delete
  • wavexis_mock_response
  • wavexis_mouse_click_xy
  • wavexis_mouse_double_click_xy
  • wavexis_mouse_down
  • wavexis_mouse_drag_xy
  • wavexis_mouse_up
  • wavexis_network_clear
  • wavexis_nl_click
  • wavexis_nl_fill
  • wavexis_overlay_clear
  • wavexis_reset_permissions
  • wavexis_right_click
  • wavexis_select_option
  • wavexis_service_worker_unregister
  • wavexis_session_close
  • wavexis_sessionstorage_clear
  • wavexis_sessionstorage_delete
  • wavexis_set_files
  • wavexis_shadow_click
  • wavexis_shadow_fill
  • wavexis_type
  • wavexis_uncheck
  • wavexis_unroute
  • wavexis_webauthn_remove_credential

Network hosts it talks to 3

  • github.com · found in code
  • glama.ai · found in code
  • mathiaspaulenko.github.io · found in code

Tools (220)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • wavexis_a11y_ancestorsread-only

    Get the ancestor chain for a node. Args: input: Ancestor lookup parameters. Returns: JSON string with ``ancestors`` list and ``count``.

  • wavexis_a11y_noderead-only

    Get a specific accessibility node by ID. Args: input: Node lookup parameters. Returns: JSON string with the node data.

  • wavexis_a11y_snapshotread-only

    Get the full accessibility tree as LLM-friendly text with element refs. Args: input: Snapshot parameters including optional URL and session. Returns: JSON string with ``snapshot``, ``text``, and ``element_count``.

  • wavexis_act

    Execute a natural language instruction on the current page (M1). Takes an a11y snapshot, matches the instruction to an element, and performs the detected action (click, type, fill, hover). Args: input: Act parameters (instruction, session_id, max_retries). Returns: JSON string with ``action``, ``element``, ``score``, ``status``.

  • wavexis_activate_tab

    Focus (bring to front) a browser tab by its ID. Use to switch the active tab before running navigation or interaction tools; use wavexis_list_tabs to obtain tab IDs first. Side effects: Changes the browser's active tab; subsequent tool calls operate on the newly focused tab. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_animation_listread-only

    List all active animations on the page. Args: input: List parameters (session_id). Returns: JSON string with ``animations`` list and ``count``.

  • wavexis_animation_pause

    Pause an animation by ID. Args: input: Animation pause parameters (session_id, animation_id). Returns: JSON string with status ``"ok"``.

  • wavexis_animation_play

    Play/resume an animation by ID. Args: input: Animation play parameters (session_id, animation_id). Returns: JSON string with status ``"ok"``.

  • wavexis_animation_set_rate

    Set the playback rate of an animation. Args: input: Animation rate parameters (session_id, animation_id, playback_rate). Returns: JSON string with status ``"ok"`` and ``playback_rate``.

  • wavexis_annotated_screenshotread-only

    Capture a screenshot with numbered labels overlaid on elements. Injects overlay divs with labels @e1, @e2, ... on each element matching the provided selectors, captures a screenshot, removes the overlays, and returns the image plus a label-to-selector map. Use ``wavexis_screenshot`` for plain captures, or this tool when visual element identification is needed for follow-up actions. Side effects: uses an existing session backend, injects and removes temporary overlay DOM nodes; writes to ``output_path`` when given. Returns: JSON string with keys: 'status' ('ok'/'error'), 'format' (str), 'bas…

  • wavexis_assert_listread-only

    Assert that all expected text items are visible inside a list element. Args: input: Assertion parameters (selector, items, timeout). Returns: JSON string with ``passed``, ``items``, ``missing``, and ``message``.

  • wavexis_assert_text_visibleread-only

    Assert that specific text is visible on the page. Args: input: Assertion parameters (text, timeout). Returns: JSON string with ``passed``, ``text``, and ``message``.

  • wavexis_assert_urlread-only

    Assert the current URL contains a substring (case-insensitive). Args: input: Assertion parameters (url_pattern — substring to match). Returns: JSON string with ``passed``, ``url``, and ``pattern``.

  • wavexis_assert_valueread-only

    Assert that a form element has the expected value. Args: input: Assertion parameters (selector, value, timeout). Returns: JSON string with ``passed``, ``value``, and ``message``.

  • wavexis_assert_visibleread-only

    Assert that an element is visible on the page. Args: input: Assertion parameters (selector, timeout). Returns: JSON string with ``passed``, ``selector``, and ``message``.

Show 205 more tools
  • wavexis_axe_auditread-only

    Run an axe-core accessibility audit on the current page (W9). Injects axe-core and returns violations, passes, incomplete, and inapplicable results. Args: input: Audit parameters (optional URL, session_id). Returns: JSON string with ``violations``, ``passes``, ``incomplete``, ``inapplicable``.

  • wavexis_back

    Navigate backward one step in the browser history. Use for history navigation instead of wavexis_navigate when the target is the previous page. Side effects: Changes the active page to the previous history entry; may trigger network requests if that page was not cached. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_backendsread-only

    List installed browser backends and their versions without launching a browser. Use ``wavexis_browser_version`` instead when you need the version of a specific running session's backend. Side effects: None; queries the local filesystem only. Returns: JSON string with keys: 'status' ('ok'/'error'), 'backends' (dict), 'available' (list[str]).

  • wavexis_block_requestscan change or delete data

    Block requests matching URL patterns. Args: input: Block parameters (patterns). Returns: JSON string with status ``"ok"`` and ``blocked_patterns``.

  • wavexis_bluetooth_adapter_state

    Set Bluetooth adapter state (powered on/off). Args: input: Adapter state parameters (session_id, state). Returns: JSON string with status ``"ok"`` and ``state``.

  • wavexis_bluetooth_device_connect

    Emulate a Bluetooth device connection. Args: input: Device connect parameters (session_id, name, address). Returns: JSON string with status ``"ok"`` and device info.

  • wavexis_bluetooth_device_disconnectcan change or delete data

    Stop Bluetooth emulation. Args: input: Disconnect parameters (session_id). Returns: JSON string with status ``"ok"``.

  • wavexis_bluetooth_device_listread-only

    List Bluetooth devices emulated in this session. Devices are tracked from ``wavexis_bluetooth_device_connect`` calls; CDP does not expose a command to enumerate emulated peripherals. Args: input: List parameters (session_id). Returns: JSON string with ``devices`` list and ``count``.

  • wavexis_browser_context_closecan change or delete data

    Close an isolated browser context. Args: input: Context close parameters (session_id, context_id). Returns: JSON string with status ``"ok"``.

  • wavexis_browser_context_create

    Create an isolated browser context within a session. Args: input: Context creation parameters (session_id). Returns: JSON string with ``context_id``.

  • wavexis_browser_context_listread-only

    List all browser contexts in a session. Args: input: List contexts parameters (session_id). Returns: JSON string with ``contexts`` list and ``count``.

  • wavexis_browser_logsread-only

    Get browser-level log entries. Args: input: Session reference parameters. Returns: JSON string with ``logs`` list and ``count``.

  • wavexis_browser_versionread-only

    Query the active browser's version string via the selected backend. Use ``wavexis_backends`` instead when you need a list of all installed backends without launching a browser. Side effects: Acquires (and may launch) a browser backend, then releases it. Returns: JSON string with keys: 'status' ('ok'/'error'), 'version' (str), 'backend' (str).

  • wavexis_cache_storage_deletecan change or delete data

    Delete a Cache Storage cache. Args: input: Cache deletion parameters (cache_name). Returns: JSON string with status ``"ok"`` and ``cache_name``.

  • wavexis_cache_storage_entriesread-only

    List entries in a Cache Storage cache. Args: input: Cache entries parameters (cache_name). Returns: JSON string with ``cache_name``, ``entries``, and ``count``.

  • wavexis_cache_storage_listread-only

    List all Cache Storage cache names. Args: input: Session reference parameters. Returns: JSON string with ``caches`` list and ``count``.

  • wavexis_capture_harread-only

    Capture HAR (HTTP Archive) data for a page load. Args: input: HAR capture parameters (URL, wait, filter). Returns: JSON string with ``har`` data and ``entries`` count.

  • wavexis_cast_listread-only

    List available cast sinks. Args: input: List parameters (session_id). Returns: JSON string with ``sinks`` list and ``count``.

  • wavexis_cast_start

    Start tab mirroring to a cast sink. Args: input: Cast start parameters (session_id, sink_name). Returns: JSON string with status ``"ok"``.

  • wavexis_cast_stop

    Stop active cast mirroring. Args: input: Cast stop parameters (session_id). Returns: JSON string with status ``"ok"``.

  • wavexis_checkcan change or delete data

    Check a checkbox or radio button matching a CSS selector. Use wavexis_uncheck to uncheck a checkbox or wavexis_click for generic element activation. Side effects: Clicks the target checkbox/radio, toggling its checked state and firing change events. Returns: JSON string with keys: 'status' ('ok'/'error'), 'checked' (bool, the element's checked state after the action). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_clickcan change or delete data

    Click an element matching a CSS selector. Use wavexis_double_click for double clicks, wavexis_right_click for context menus, or wavexis_nl_click when you only have a text description. Side effects: Triggers a click event on the target element, which may submit forms, toggle controls, or navigate the page. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_close_pagecan change or delete data

    Close a browser page/tab by target id, or the current page if omitted. This tool mirrors Playwright's API for compatibility; use it to free resources. The session itself remains active for other tabs. Side effects: Closes the specified browser target; destructive and irreversible. Returns: JSON string with keys: 'status' ('ok'/'error'), 'closed' (str).

  • wavexis_close_tabcan change or delete data

    Close a browser tab by its ID. Use to clean up tabs created with wavexis_new_tab; use wavexis_session_close to terminate the entire session instead. Side effects: Closes the specified tab and discards its page state. Destructive — unsaved data in that tab is lost. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_console_clearcan change or delete data

    Clear all buffered console messages for the session. This tool mirrors Playwright's API for compatibility; use it before capturing a fresh set of console logs to avoid stale entries. Side effects: Resets the session's in-memory console message buffer. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_console_messagesread-only

    Get console messages with pagination. Args: input: Console messages parameters (level, pagination). Returns: JSON string with paginated ``messages``, ``count``, and ``total``.

  • wavexis_cookie_getread-only

    Retrieve a single cookie by name (and optional domain/path) from the browser. Use ``wavexis_cookie_list`` instead when you need multiple cookies or broad filtering. Side effects: None; reads cookie state from the browser session. Returns: JSON string with keys: 'status' ('ok'/'error'), 'cookie' (dict|null).

  • wavexis_cookie_listread-only

    List browser cookies with optional name, domain, and path filters. Use ``wavexis_cookie_get`` instead when you need a single named cookie. Side effects: None; reads cookie state from the browser session. Returns: JSON string with keys: 'status' ('ok'/'error'), 'cookies' (list[dict]), 'count' (int).

  • wavexis_cookies_clearcan change or delete data

    Clear all cookies from the browser session. Use ``wavexis_cookies_delete`` to remove a specific cookie, or ``wavexis_cookies_get`` to inspect cookies before clearing. Side effects: uses an existing session backend, destructively removes all cookies from the browser. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_cookies_deletecan change or delete data

    Delete cookies matching a name and domain in the browser. Use ``wavexis_cookies_clear`` to remove all cookies, or ``wavexis_cookies_set`` to add a new cookie. Side effects: launches/acquires a browser backend, navigates to ``url`` if provided, destructively removes matching cookies from browser state. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_cookies_getread-only

    Retrieve all cookies for the current page context. Use ``wavexis_cookies_set`` to add a cookie, or ``wavexis_cookies_clear`` to remove all cookies at once. Side effects: launches/acquires a browser backend, navigates to ``url`` if provided; read-only with respect to browser state. Returns: JSON string with keys: 'status' ('ok'/'error'), 'cookies' (list[dict]), 'count' (int).

  • wavexis_cookies_set

    Set a single cookie in the browser for the current page. Use ``wavexis_cookies_get`` to read cookies, or ``wavexis_cookies_delete`` to remove a specific cookie. Side effects: launches/acquires a browser backend, navigates to ``url`` if provided, mutates browser cookie state. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_core_web_vitalsread-only

    Measure Core Web Vitals (LCP, CLS, INP) with ratings and score. Args: input: CWV parameters (url, observe_ms, budgets). Returns: JSON string with ``metrics``, ``ratings``, ``score``, and optional ``budgets``.

  • wavexis_crawlread-only

    Crawl a website starting from a URL. Args: input: Crawl parameters (start_url, max_depth, max_pages). Returns: JSON string with ``pages`` list and counts.

  • wavexis_css_get_computedread-only

    Get computed styles for an element. Args: input: Computed styles parameters (selector). Returns: JSON string with ``computed`` styles.

  • wavexis_css_get_rulesread-only

    Get CSS rules from a specific stylesheet. Args: input: CSS rules parameters (stylesheet_id). Returns: JSON string with ``stylesheet_id``, ``rules``, and ``count``.

  • wavexis_css_get_stylesread-only

    Get inline and matched CSS styles for an element. Args: input: CSS styles parameters (selector). Returns: JSON string with ``styles`` data.

  • wavexis_css_get_stylesheetsread-only

    List all stylesheets loaded by the page. Args: input: Session reference parameters. Returns: JSON string with ``stylesheets`` list and ``count``.

  • wavexis_debug_get_listenersread-only

    Get event listeners attached to an element. Args: input: Event listener parameters (selector). Returns: JSON string with ``listeners`` list and ``count``.

  • wavexis_debug_pause

    Pause script execution. Args: input: Session reference parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_debug_remove_breakpointcan change or delete data

    Remove a breakpoint by ID. Args: input: Breakpoint removal parameters (breakpoint_id). Returns: JSON string with status ``"ok"``.

  • wavexis_debug_resume

    Resume script execution. Args: input: Session reference parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_debug_set_breakpoint

    Set a breakpoint by URL and line number. Args: input: Breakpoint parameters (url, line, condition). Returns: JSON string with ``breakpoint_id``.

  • wavexis_debug_set_breakpoint_function

    Set a breakpoint by function name. Args: input: Breakpoint parameters (function_name). Returns: JSON string with ``breakpoint_id``.

  • wavexis_debug_step_into

    Step into in the debugger. Args: input: Session reference parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_debug_step_out

    Step out in the debugger. Args: input: Session reference parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_debug_step_over

    Step over in the debugger. Args: input: Session reference parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_dialog_accept

    Accept a JavaScript dialog (alert, confirm, prompt). Args: input: Dialog accept parameters (prompt_text). Returns: JSON string with status ``"ok"``.

  • wavexis_dialog_dismiss

    Dismiss a JavaScript dialog. Args: input: Dialog dismiss parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_dom_focus

    Focus an element matching a CSS selector. Use wavexis_click instead when the intent is to activate a control rather than focus it. Side effects: Mutates DOM focus state; may trigger focus event handlers on the element. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_dom_getread-only

    Retrieve the HTML of an element matching a CSS selector. Use wavexis_dom_query instead when you need element metadata rather than raw HTML. Side effects: None; read-only. May navigate to ``url`` if provided. Returns: JSON string with keys: 'status' ('ok'/'error'), 'html' (str), 'selector' (str).

  • wavexis_dom_get_attrread-only

    Read an attribute value from an element matching a CSS selector. Use wavexis_dom_set_attr to write an attribute value. Side effects: None; read-only. Returns: JSON string with keys: 'status' ('ok'/'error'), 'value' (str|None), 'selector' (str), 'name' (str).

  • wavexis_dom_queryread-only

    Query elements by CSS selector and return paginated metadata. Use wavexis_dom_get instead when you only need the raw HTML of a single element. Side effects: None; read-only. May navigate to ``url`` if provided. Returns: JSON string with keys: 'status' ('ok'/'error'), 'elements' (list[dict]), 'count' (int), 'total' (int).

  • wavexis_dom_removecan change or delete data

    Remove an element matching a CSS selector from the DOM. Use wavexis_dom_set_attr to hide an element (e.g. ``display:none``) instead of deleting it. Side effects: Destructive; permanently removes the matched element from the live DOM. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_dom_remove_attrcan change or delete data

    Remove an attribute from an element matching a CSS selector. Use wavexis_dom_set_attr to restore or change an attribute instead of removing it. Side effects: Mutates the DOM by deleting the attribute from the matched element. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_dom_scroll

    Scroll to an element or by a pixel offset. Use wavexis_dom_get to inspect an element's position before scrolling by offset. Side effects: Changes the page scroll position; may trigger scroll event listeners. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_dom_set_attr

    Set an attribute on an element matching a CSS selector. Use wavexis_dom_get_attr to read the current value before setting. Side effects: Mutates the DOM by writing the attribute on the matched element. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_dom_snapshotread-only

    Capture a full DOM snapshot of the page including iframes and shadow roots. Use wavexis_dom_query for lightweight element metadata instead of a full snapshot. Side effects: None; read-only. Returns: JSON string with keys: 'status' ('ok'/'error'), 'snapshot' (dict), 'documents' (int).

  • wavexis_double_clickcan change or delete data

    Double-click an element matching a CSS selector. Use wavexis_click for single clicks or wavexis_nl_click when you only have a natural language description of the element. Side effects: Fires two rapid click events on the element, which may open files, edit cells, or trigger application-specific actions. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_dragcan change or delete data

    Drag an element from a source selector to a target selector. Use wavexis_drop when you need to drop arbitrary MIME data or files onto an element rather than dragging an existing DOM element. Side effects: Performs a drag-and-drop operation between two elements, firing drag/dragstart/dragend and drop events. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_dropcan change or delete data

    Drop files or MIME-typed data onto an element via drag events. Use wavexis_set_files for standard ``<input type="file">`` uploads or wavexis_drag for dragging an existing DOM element to another element. Side effects: Dispatches dragEnter, dragOver, and drop events with the supplied data and files onto the target element's coordinates. Returns: JSON string with keys: 'status' ('ok'/'error'), 'selector' (str), 'x' (float), 'y' (float), 'data_types' (list[str]), 'files' (list[str]). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_emulate_device

    Emulate a specific device (iphone-15, pixel-8, etc.). Args: input: Device emulation parameters. Returns: JSON string with status ``"ok"`` and ``device``.

  • wavexis_eval

    Evaluate a JavaScript expression in the browser context and return the result. Use ``wavexis_scrape`` when the same expression must run across many pages, or ``wavexis_act`` for natural-language interaction instead of raw JS. Side effects: launches/acquires a browser backend, navigates to ``url`` if provided, executes arbitrary JS in the page (may trigger network requests or DOM mutations). Returns: JSON string with keys: 'status' ('ok'/'error'), 'result' (Any), 'type' (str).

  • wavexis_extension_installcan change or delete data

    Install a browser extension from a .crx or unpacked directory. Args: input: Extension install parameters (path). Returns: JSON string with ``extension_id``.

  • wavexis_extension_listread-only

    List installed browser extensions. Args: input: Session reference parameters. Returns: JSON string with ``extensions`` list and ``count``.

  • wavexis_extension_uninstallcan change or delete data

    Uninstall a browser extension by ID. Args: input: Extension uninstall parameters (extension_id). Returns: JSON string with status ``"ok"``.

  • wavexis_extractread-only

    Extract structured data from a page using a CSS selector schema. Args: input: Extraction parameters (url, schema, selector). Returns: JSON string with ``data`` list and ``rows`` count.

  • wavexis_fillcan change or delete data

    Fill an input element with a value, replacing existing content. Use wavexis_type for character-by-character typing with key events, or wavexis_fill_form when filling multiple fields in one call. Side effects: Clears the target input/textarea and sets its value to the provided string, firing a single input event. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_fill_formcan change or delete data

    Fill multiple form fields in one call (convenience composite tool). Use wavexis_fill for a single field or wavexis_type when per-keystroke events are required. Side effects: Clears and sets the value of each field in the provided list, firing input events on every targeted element. Returns: JSON string with keys: 'status' ('ok'/'error'), 'fields_filled' (int, number of fields successfully filled). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_findread-only

    Search the accessibility snapshot for nodes matching text or a regex pattern. Use ``wavexis_act`` instead for natural-language element interaction; this tool mirrors Playwright's snapshot search for compatibility. Side effects: None; fetches and searches the a11y tree read-only. Returns: JSON string with keys: 'status' ('ok'/'error'), 'matches' (list[dict]), 'count' (int).

  • wavexis_find_by_textread-only

    Find element selector(s) by visible text content without interacting. Use this to locate elements before calling wavexis_click or wavexis_fill when you know the visible text but not the CSS selector. Side effects: None — this is a read-only lookup that does not modify the page or interact with any element. Returns: JSON string with keys: 'selector' (str, first match) when all=False, or 'selectors' (list[str]) and 'count' (int) when all=True. On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_forward

    Navigate forward one step in the browser history. Use after wavexis_back to restore a page; use wavexis_navigate for direct URL navigation instead. Side effects: Changes the active page to the next history entry; may trigger network requests if that page was not cached. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_generate_locatorread-only

    Generate a robust CSS selector for an element. Uses the backend's ``suggest_locator`` method to produce optimal selectors in priority order: id > data-testid > aria-label > text > tag.classes > nth-of-type chain. Args: input: Locator parameters (selector, description). Returns: JSON string with ``locator`` and ``alternative``.

  • wavexis_get_configread-only

    Return wavexis-mcp server configuration and available browser backends. Use ``wavexis_backends`` instead when you only need the backend list; this tool additionally exposes the server name for introspection. Side effects: None; queries the local filesystem only. Returns: JSON string with keys: 'status' ('ok'/'error'), 'name' (str), 'available_backends' (list[str]), 'backend_versions' (dict).

  • wavexis_get_prefread-only

    Get a browser preference value by key. Args: input: Preference parameters (key). Returns: JSON string with ``key`` and ``value``.

  • wavexis_get_request_bodyread-only

    Get the body of a network request by ID (W3). Args: input: Request body parameters (session_id, request_id). Returns: JSON string with ``body`` or ``error`` if not available.

  • wavexis_get_response_bodyread-only

    Get the body of a network response by ID (W3). Args: input: Response body parameters (session_id, request_id). Returns: JSON string with ``body`` or ``error`` if not available.

  • wavexis_get_security_stateread-only

    Get the page security state. Args: input: Session reference parameters. Returns: JSON string with ``state`` data.

  • wavexis_get_window_boundsread-only

    Get the browser window bounds. Args: input: Session reference parameters. Returns: JSON string with window bounds (width, height, x, y).

  • wavexis_grant_permission

    Grant a browser permission (geolocation, notifications, etc.). Args: input: Permission parameters. Returns: JSON string with status ``"ok"`` and ``permission``.

  • wavexis_hover

    Hover over an element matching a CSS selector. Use wavexis_click to actually activate an element; hover only moves the cursor without clicking. Side effects: Moves the mouse cursor over the target element, firing mouseover/mouseenter events that may reveal tooltips or menus. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_iframe_clickcan change or delete data

    Click an element inside an iframe. Use wavexis_iframe_eval only for custom JS that click/fill cannot express. Side effects: Triggers click handlers and may navigate or mutate the iframe DOM. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_iframe_eval

    Evaluate a JavaScript expression inside an iframe. Use wavexis_iframe_click or wavexis_iframe_fill for standard interactions instead of raw JS. Side effects: Arbitrary; executes user-supplied JavaScript within the iframe context. Returns: JSON string with keys: 'status' ('ok'/'error'), 'result' (any).

  • wavexis_iframe_fillcan change or delete data

    Fill an input element inside an iframe with a value. Use wavexis_iframe_click to submit or activate the field after filling. Side effects: Mutates the input value within the iframe; may trigger input/change events. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_ignore_cert_errorscan change or delete data

    Enable or disable certificate error ignoring. Args: input: Certificate error parameters (ignore). Returns: JSON string with status ``"ok"`` and ``ignore``.

  • wavexis_indexeddb_clearcan change or delete data

    Clear an IndexedDB object store. Args: input: IndexedDB clear parameters (database, store). Returns: JSON string with status ``"ok"``.

  • wavexis_indexeddb_get_dataread-only

    Get data from an IndexedDB object store. Args: input: IndexedDB query parameters (database, store, key). Returns: JSON string with ``database``, ``store``, and ``data``.

  • wavexis_indexeddb_listread-only

    List all IndexedDB databases and their object stores. Args: input: Session reference parameters. Returns: JSON string with ``databases`` list and ``count``.

  • wavexis_intercept_downloadread-only

    Intercept a download matching a URL pattern. Args: input: Download interception parameters (pattern, output_path). Returns: JSON string with file path or base64 data and size.

  • wavexis_intercept_requestscan change or delete data

    Register a request interception pattern. Args: input: Interception parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_invokecan change or delete data

    Invoke any wavexis backend method by name, the ultimate escape hatch. Use a dedicated MCP tool (e.g. ``wavexis_act``, ``wavexis_navigate``) instead when one exists for the desired action; this tool exposes the full ``AbstractBackend`` API (e.g. ``page_print_to_pdf``, ``perf_trace``, ``runtime_evaluate``, ``pwa_install``) for methods without a wrapper. Side effects: May launch an ephemeral browser, navigate to a URL, and execute arbitrary backend methods; potentially destructive. Returns: JSON string with keys: 'status' ('ok'/'error'), 'type' (str), and either 'result' (any), 'base64' (str), …

  • wavexis_key_down

    Dispatch a raw keyDown event to the active page via CDP. This tool mirrors Playwright's API for compatibility; use ``wavexis_press_keys`` for typing text and ``wavexis_act`` for natural-language interaction. Side effects: Sends a key-down input event to the browser page. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_key_press

    Press a single keyboard key on the focused element. Use wavexis_type for typing full strings or wavexis_fill for setting field values without individual key events. Side effects: Dispatches a keydown/keypress/keyup sequence for the given key on whatever element currently has focus. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_key_up

    Dispatch a raw keyUp event to the active page via CDP. This tool mirrors Playwright's API for compatibility; pair with ``wavexis_key_down`` for low-level key control, or use ``wavexis_press_keys`` for simple text entry. Side effects: Sends a key-up input event to the browser page. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_lighthouseread-only

    Run a Lighthouse-style audit on a URL. Args: input: Audit parameters (url, categories). Returns: JSON string with ``categories`` dict containing scores per category.

  • wavexis_list_tabsread-only

    List all open browser tabs in the session. Use to discover tab IDs before calling wavexis_activate_tab or wavexis_close_tab; use wavexis_session_info for session-level metadata instead. Side effects: None — read-only query of the browser's tab list. Returns: JSON string with keys: 'status' ('ok'/'error'), 'tabs' (list[dict]), 'count' (int).

  • wavexis_localstorage_clearcan change or delete data

    Clear all localStorage entries. Args: input: Session reference parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_localstorage_deletecan change or delete data

    Delete a localStorage key. Args: input: LocalStorage delete parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_localstorage_getread-only

    Get a localStorage value by key. Args: input: LocalStorage get parameters. Returns: JSON string with ``key`` and ``value``.

  • wavexis_localstorage_listread-only

    List all localStorage entries. Args: input: Session reference parameters. Returns: JSON string with ``entries`` dict and ``count``.

  • wavexis_localstorage_set

    Set a localStorage key/value pair. Args: input: LocalStorage set parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_media_get_messagesread-only

    Get messages for a specific media player. Args: input: Message parameters (session_id, player_id). Returns: JSON string with ``messages`` list and ``count``.

  • wavexis_media_get_playersread-only

    List all media players on the page. Args: input: List parameters (session_id). Returns: JSON string with ``players`` list and ``count``.

  • wavexis_media_player_pause

    Pause a media player by ID. Args: input: Pause parameters (session_id, player_id). Returns: JSON string with status ``"ok"``.

  • wavexis_media_player_play

    Play a media player by ID. Args: input: Play parameters (session_id, player_id). Returns: JSON string with status ``"ok"``.

  • wavexis_media_player_seek

    Seek a media player to a specific time. Args: input: Seek parameters (session_id, player_id, time_ms). Returns: JSON string with status ``"ok"`` and ``time_ms``.

  • wavexis_mock_responsecan change or delete data

    Register a mock response for a URL pattern. Args: input: Mock response parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_modify_request

    Intercept and modify requests matching a pattern in-flight (W6). Args: input: Modification parameters (pattern, modifications). Returns: JSON string with status ``"ok"``.

  • wavexis_modify_response

    Intercept and modify responses matching a pattern in-flight. Args: input: Modification parameters (pattern, modifications). Returns: JSON string with status ``"ok"``.

  • wavexis_mouse_click_xycan change or delete data

    Click at absolute pixel coordinates (press + release). Args: input: Click parameters (x, y, button, click_count). Returns: JSON string with status ``"ok"`` and coordinates.

  • wavexis_mouse_double_click_xycan change or delete data

    Double-click at absolute pixel coordinates. Args: input: Double-click parameters (x, y, button). Returns: JSON string with status ``"ok"`` and coordinates.

  • wavexis_mouse_downcan change or delete data

    Press a mouse button at the given coordinates. Args: input: Mouse down parameters (button, x, y). Returns: JSON string with status ``"ok"``.

  • wavexis_mouse_drag_xycan change or delete data

    Drag the mouse from one screen coordinate to another via CDP mouse events. This tool mirrors Playwright's API for compatibility; use ``wavexis_act`` instead for natural-language drag interactions. Side effects: Dispatches mouseMoved, mousePressed, and mouseReleased events to the browser page; may trigger page interactions. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_mouse_move

    Move the mouse to an element matching a CSS selector. Args: input: Mouse move parameters (selector). Returns: JSON string with status ``"ok"`` and ``selector``.

  • wavexis_mouse_move_xy

    Move the mouse to absolute pixel coordinates. Args: input: Mouse move parameters (x, y). Returns: JSON string with status ``"ok"`` and coordinates.

  • wavexis_mouse_upcan change or delete data

    Release a mouse button at the given coordinates. Args: input: Mouse up parameters (button, x, y). Returns: JSON string with status ``"ok"``.

  • wavexis_mouse_wheel

    Simulate a mouse wheel (scroll) event at the given coordinates. Args: input: Mouse wheel parameters (x, y, delta_x, delta_y). Returns: JSON string with status ``"ok"`` and scroll amounts.

  • wavexis_multi_action

    Execute multiple actions from a YAML config sequentially. Args: input: Multi-action parameters (YAML config, continue_on_error). Returns: JSON string with ``actions`` count, ``results``, and ``errors``.

  • wavexis_navigate

    Navigate the browser to a URL with a configurable wait strategy. Use for direct URL navigation; use wavexis_back/wavexis_forward for history navigation, or wavexis_act for natural-language interaction instead. Side effects: Issues a network request to the target URL and replaces the current page content; may auto-create a stateless session if session_id is omitted. Returns: JSON string with keys: 'status' ('ok'/'error'), 'url' (str).

  • wavexis_network_clearcan change or delete data

    Clear the network event log.

  • wavexis_network_requestread-only

    Return full details for a single network request by index. Use the index from ``wavexis_network_requests`` with ``mode="events"``.

  • wavexis_network_requestsread-only

    List network requests since page load with pagination. Args: input: Request listing parameters (filter, pagination, mode). Returns: JSON string with paginated ``requests``, ``count``, and ``total``.

  • wavexis_new_tab

    Create a new browser tab, optionally navigating to a URL. Use to open a parallel page without losing the current tab; use wavexis_navigate to change the current tab's URL instead. Side effects: Opens a new browser tab; if a URL is provided, issues a network request to it. Returns: JSON string with keys: 'status' ('ok'/'error'), 'tab_id' (str), 'url' (str).

  • wavexis_nl_clickcan change or delete data

    Click an element described in natural language. Use wavexis_click when you already know the CSS selector, or wavexis_nl_fill to fill a field described in natural language. Side effects: Locates the best-matching element via text/semantic matching and triggers a click event on it. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_nl_fillcan change or delete data

    Fill an element described in natural language with a value. Use wavexis_fill when you already know the CSS selector, or wavexis_nl_click to click an element described in natural language. Side effects: Locates the best-matching element via text/semantic matching, clears it, and sets its value to the provided string. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_overlay_clearcan change or delete data

    Clear all overlay highlights. Args: input: Session reference parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_overlay_highlight

    Highlight an element with a colored overlay. Args: input: Highlight parameters (selector, color). Returns: JSON string with status ``"ok"`` and ``selector``.

  • wavexis_page_pdfread-only

    Generate a PDF via the low-level Page.printToPDF CDP method. Offers pixel-level control over paper size, margins, and print options beyond ``wavexis_pdf``. Use ``wavexis_pdf`` for simpler high-level PDF generation. Side effects: launches/acquires a browser backend, navigates to ``url`` if provided; writes to ``output_path`` when given. Returns: JSON string with keys: 'status' ('ok'/'error'), 'type' ('pdf'), 'base64' (str) or 'path' (str), 'size_bytes' (int).

  • wavexis_page_snapshotread-only

    Capture the page as MHTML or a plain text document. Use ``wavexis_scrape`` for structured data extraction, or this tool when a full page archive (MHTML) or text dump is required. Side effects: launches/acquires a browser backend, navigates to ``url`` if provided; writes to ``output_path`` when given. Returns: JSON string with keys: 'status' ('ok'/'error'), 'format' (str), 'content' (str) or 'path' (str), 'size_bytes' (int).

  • wavexis_pdfread-only

    Generate a PDF document from a web page. Use ``wavexis_screenshot`` for image capture, or ``wavexis_page_pdf`` when pixel-level control over paper size and margins is required. Side effects: launches/acquires a browser backend, navigates to ``url`` if provided, optionally evaluates ``js``; writes to ``output_path`` when given. Returns: JSON string with keys: 'status' ('ok'/'error'), 'base64' (str) or 'path' (str), 'size_bytes' (int).

  • wavexis_perf_coverageread-only

    Get JavaScript code coverage. Args: input: Session reference parameters. Returns: JSON string with ``coverage`` data and ``scripts`` count.

  • wavexis_perf_css_coverageread-only

    Get CSS code coverage. Args: input: Session reference parameters. Returns: JSON string with ``coverage`` data.

  • wavexis_perf_heap_snapshotread-only

    Capture a heap snapshot. Args: input: Heap snapshot parameters (output_path). Returns: JSON string with ``snapshot`` data or file ``path``.

  • wavexis_perf_metricsread-only

    Get performance metrics (LCP, FCP, CLS, TTFB, DOMNodes, etc.). Args: input: Session reference parameters. Returns: JSON string with ``metrics`` dict.

  • wavexis_perf_profileread-only

    Capture a CPU profile. Args: input: Profile parameters (duration_ms, output_path). Returns: JSON string with ``profile`` data or file ``path``.

  • wavexis_perf_traceread-only

    Capture a performance trace. Args: input: Trace parameters (duration_ms, output_path). Returns: JSON string with ``trace`` data or file ``path``.

  • wavexis_press_keys

    Type a sequence of characters at the page level without targeting an element. Use ``wavexis_key_down``/``wavexis_key_up`` instead for individual modifier-key control, or ``wavexis_act`` for natural-language typing. Side effects: Dispatches keyDown/keyUp pairs to the browser page; no network requests. Returns: JSON string with keys: 'status' ('ok'/'error'), 'typed' (str).

  • wavexis_raw_bidi

    Send a raw BiDi command (escape hatch). Args: input: Raw BiDi parameters (method, params). Returns: JSON string with raw ``result`` from the BiDi command.

  • wavexis_raw_cdp

    Send a raw CDP command (escape hatch). Args: input: Raw CDP parameters (method, params). Returns: JSON string with raw ``result`` from the CDP command.

  • wavexis_record

    Record browser interactions and generate a YAML workflow. Delegates to ``wavexis.actions.record.record_events`` to inject a recording script that captures user interactions (clicks, input, navigation, scroll, keypress) and then converts the captured events to a multi-action YAML workflow using ``wavexis.actions.record.events_to_yaml``. Args: input: Recording parameters (url, duration, headless). Returns: JSON string with ``yaml``, ``events_captured``, and ``duration_s``.

  • wavexis_reload

    Reload the current page, optionally bypassing the cache. Use to refresh stale content or retry a failed load; use wavexis_navigate to go to a different URL instead. Side effects: Re-issues network requests for the current page and its resources; discards in-memory page state. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_replay_har

    Replay network requests from a HAR file (W7). Args: input: HAR replay parameters (har_path, url_filter, url). Returns: JSON string with status ``"ok"``.

  • wavexis_reset_permissionscan change or delete data

    Reset all granted permissions. Args: input: Session reference parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_right_clickcan change or delete data

    Right-click an element matching a CSS selector. Use wavexis_click for standard left clicks or wavexis_double_click for double clicks. Side effects: Fires a contextmenu event on the element, typically opening a context menu in the browser. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_route

    Add a network route/mock or header modification rule. If ``status`` or ``body`` is provided, matching requests are fulfilled with a mocked response. Otherwise the request is continued with the supplied header changes.

  • wavexis_route_listread-only

    List all active network routes/mocks.

  • wavexis_scraperead-only

    Scrape data from multiple URLs by evaluating a JS expression on each. Use ``wavexis_eval`` for single-page evaluation, or ``wavexis_scrape`` when the same expression must run across many pages with pagination. Side effects: launches/acquires a browser backend, navigates to each URL in ``urls`` sequentially, evaluates ``expression`` in every page context. Returns: JSON string with keys: 'status' ('ok'/'error'), 'results' (list[dict[str, Any]]), 'format' (str), 'count' (int), 'total' (int).

  • wavexis_screencastread-only

    Capture a frame-by-frame screenshot sequence over a duration. Use ``wavexis_screenshot`` for a single still image, or ``wavexis_screencast`` when animation or time-series capture is needed. Side effects: launches/acquires a browser backend, navigates to ``url`` if provided, captures frames for ``duration``; writes frame files to ``output_dir`` when given. Returns: JSON string with keys: 'status' ('ok'/'error'), 'frames' (list[str]) or 'dir' (str), 'count' (int).

  • wavexis_screenshotread-only

    Capture a screenshot of a web page or matched element. Use ``wavexis_pdf`` when a print-ready document is needed, or ``wavexis_annotated_screenshot`` when labelled element markers are required. Side effects: launches/acquires a browser backend, navigates to ``url`` if provided, optionally evaluates ``js``; writes to ``output_path`` when given. Returns: JSON string with keys: 'status' ('ok'/'error'), 'format' (str), 'base64' (str) or 'path' (str), 'size_bytes' (int).

  • wavexis_select_optioncan change or delete data

    Select an option in a ``<select>`` element by value. Use wavexis_fill for text inputs or wavexis_click for custom dropdown widgets that are not native ``<select>`` elements. Side effects: Changes the selected option of the ``<select>`` element, firing change and input events. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_service_worker_emulate

    Emulate a service worker with a script URL. Args: input: Emulate parameters (session_id, script_url). Returns: JSON string with status ``"ok"``.

  • wavexis_service_worker_listread-only

    List registered service workers. Args: input: List parameters (session_id). Returns: JSON string with ``workers`` list and ``count``.

  • wavexis_service_worker_unregistercan change or delete data

    Unregister a service worker. Args: input: Unregister parameters (session_id, registration_id). Returns: JSON string with status ``"ok"``.

  • wavexis_service_worker_update

    Trigger an update for a service worker registration. Args: input: Update parameters (session_id, registration_id). Returns: JSON string with status ``"ok"``.

  • wavexis_session_closecan change or delete data

    Close a browser session and release all associated resources. Call when the session is no longer needed to free memory and browser processes; use wavexis_close_tab to close individual tabs instead. Side effects: Terminates the browser process (or disconnects from a remote one) and frees session state. Destructive — all unsaved page state is lost. Returns: JSON string with keys: 'status' ('ok'/'error'), 'session_id' (str).

  • wavexis_session_inforead-only

    Query metadata and current URL of an active browser session. Use to inspect session health or retrieve the current page URL; use wavexis_list_tabs for tab-level details instead. Side effects: None — read-only; queries in-memory session state and the browser's current URL. Returns: JSON string with keys: 'status' ('ok'/'error'), 'session_id' (str), 'backend' (str), 'created_at' (str), 'current_url' (str).

  • wavexis_session_open

    Launch a persistent browser session for multi-step workflows. Call once at the start of a task and reuse the returned session_id for all subsequent calls; use wavexis_navigate with session_id omitted for one-off page fetches instead. Side effects: Launches a browser process (or connects to an existing one) and allocates server-side session state; may open network connections to remote/cloud browsers. Returns: JSON string with keys: 'status' ('ok'/'error'), 'session_id' (str), 'backend' (str).

  • wavexis_sessionstorage_clearcan change or delete data

    Clear all sessionStorage entries. Args: input: Session reference parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_sessionstorage_deletecan change or delete data

    Delete a sessionStorage key. Args: input: SessionStorage delete parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_sessionstorage_getread-only

    Get a sessionStorage value by key. Args: input: SessionStorage get parameters. Returns: JSON string with ``key`` and ``value``.

  • wavexis_sessionstorage_listread-only

    List all sessionStorage entries. Args: input: Session reference parameters. Returns: JSON string with ``entries`` dict and ``count``.

  • wavexis_sessionstorage_set

    Set a sessionStorage key/value pair. Args: input: SessionStorage set parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_set_cache_disabled

    Enable or disable browser cache. Args: input: Cache disable parameters. Returns: JSON string with status ``"ok"`` and ``cache_disabled``.

  • wavexis_set_cpu_throttle

    Enable CPU throttling at a given multiplier. Args: input: CPU throttle parameters (rate). Returns: JSON string with status ``"ok"`` and ``rate``.

  • wavexis_set_dark_mode

    Enable or disable dark mode emulation. Args: input: Dark mode parameters. Returns: JSON string with status ``"ok"`` and ``dark_mode``.

  • wavexis_set_filescan change or delete data

    Upload files to a file input element (``<input type="file">``). Use wavexis_drop when you need to simulate drag-and-drop of files or MIME data onto a non-file-input element. Side effects: Sets the selected files on the target file input element, firing change events that typically trigger upload logic. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_set_geolocation

    Override the browser geolocation. Args: input: Geolocation parameters (latitude, longitude, accuracy). Returns: JSON string with status ``"ok"`` and coordinates.

  • wavexis_set_headers

    Set extra HTTP headers for all subsequent requests. Args: input: Headers parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_set_locale

    Override the browser locale. Args: input: Locale parameters. Returns: JSON string with status ``"ok"`` and ``locale``.

  • wavexis_set_network_state

    Override the browser network state to online or offline. Args: input: Network state parameters. Returns: JSON string with status ``"ok"`` and ``"state"``.

  • wavexis_set_pref

    Set a browser preference value. Args: input: Preference parameters (key, value). Returns: JSON string with status ``"ok"``.

  • wavexis_set_sensors

    Override sensor values (orientation, motion, light, proximity). Args: input: Sensor parameters (sensor_type, values). Returns: JSON string with status ``"ok"``, ``sensor_type``, and ``values``.

  • wavexis_set_timezone

    Override the browser timezone. Args: input: Timezone parameters. Returns: JSON string with status ``"ok"`` and ``timezone``.

  • wavexis_set_touch_emulation

    Enable or disable touch event emulation. Args: input: Touch emulation parameters. Returns: JSON string with status ``"ok"`` and ``touch_emulation``.

  • wavexis_set_user_agent

    Set a custom User-Agent string for all subsequent requests. Args: input: User agent parameters. Returns: JSON string with status ``"ok"``.

  • wavexis_set_viewport

    Set a custom viewport size and scale factor. Args: input: Viewport parameters (width, height, scale factor). Returns: JSON string with status ``"ok"`` and viewport dimensions.

  • wavexis_set_window_bounds

    Set the browser window bounds. Args: input: Window bounds parameters (width, height, x, y). Returns: JSON string with status ``"ok"`` and bounds values.

  • wavexis_shadow_clickcan change or delete data

    Click an element inside a shadow DOM tree. Pierces shadow boundaries using the provided selector chain. Use wavexis_shadow_eval only for custom JS that click/fill cannot express. Side effects: Triggers click handlers and may navigate or mutate the shadow DOM. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_shadow_eval

    Evaluate a JavaScript expression inside a shadow DOM tree. Pierces shadow boundaries using the provided selector chain: ``selectors[0]`` is in the main document, ``selectors[1]`` in ``selectors[0].shadowRoot``, and so on. Use wavexis_shadow_click or wavexis_shadow_fill for standard interactions instead of raw JS. Side effects: Arbitrary; executes user-supplied JavaScript within the shadow DOM context. Returns: JSON string with keys: 'status' ('ok'/'error'), 'result' (any).

  • wavexis_shadow_fillcan change or delete data

    Fill an input element inside a shadow DOM tree with a value. Pierces shadow boundaries using the provided selector chain. Use wavexis_shadow_click to submit or activate the field after filling. Side effects: Mutates the input value within the shadow DOM; may trigger input/change events. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_start_combined_trace

    Start a combined trace capturing screenshots, network, and console (W8). Args: input: Combined trace start parameters. Returns: JSON string with ``trace_id``.

  • wavexis_stop

    Stop all pending navigations and resource loads in the session. Use when a page load is hanging or no longer needed; use wavexis_wait to wait for a load to complete instead. Side effects: Aborts in-flight network requests and pending navigations; the page is left in its current partial state. Returns: JSON string with keys: 'status' ('ok'/'error').

  • wavexis_stop_combined_traceread-only

    Stop a combined trace and return collected data (W8). Args: input: Combined trace stop parameters (trace_id). Returns: JSON string with ``trace`` data including events, screenshots, network, console.

  • wavexis_storage_state_restore

    Restore cookies + localStorage + sessionStorage from a JSON file. Args: input: Restore parameters (input_path). Returns: JSON string with status ``"ok"`` and restored entry counts.

  • wavexis_storage_state_saveread-only

    Save cookies + localStorage + sessionStorage to a JSON file. Args: input: Save parameters (output_path). Returns: JSON string with ``path`` and entry counts.

  • wavexis_subscribe_events

    Subscribe to real-time browser events (W10). Event types: console, network_request, network_response, dom_mutation, dialog, navigation. Events are buffered per session (last 500) and returned by ``wavexis_unsubscribe_events``. Args: input: Subscription parameters (event_types). Returns: JSON string with ``subscription_id``.

  • wavexis_tap

    Tap an element matching a CSS selector (touch-emulated click). Use wavexis_click for mouse-based clicking on desktop contexts or wavexis_nl_click when you only have a natural language description. Side effects: Dispatches a touch tap on the target element, which may toggle controls or trigger navigation on mobile-optimised pages. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_throttle_network

    Throttle network speed to emulate slow connections. Args: input: Throttle parameters (preset or custom values). Returns: JSON string with status ``"ok"``.

  • wavexis_typecan change or delete data

    Type text into an element character by character with optional delay. Use wavexis_fill instead when you want to set a field's value instantly without per-keystroke delays, or wavexis_fill_form for multiple fields. Side effects: Appends characters to the target input/textarea element, firing keydown/keypress/input/keyup events per character. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_uncheckcan change or delete data

    Uncheck a checkbox matching a CSS selector by clicking it. Use wavexis_check to check a checkbox or wavexis_click for generic element activation. Side effects: Clicks the target checkbox to toggle it to unchecked, firing change events. Returns: JSON string with keys: 'status' ('ok'/'error'). On error also 'error', 'tool', 'type', 'message', 'suggestion' (all str).

  • wavexis_unroutecan change or delete data

    Remove network routes matching a pattern, or all routes.

  • wavexis_unsubscribe_events

    Unsubscribe from browser events by subscription ID (W10). Args: input: Unsubscribe parameters (subscription_id). Returns: JSON string with status ``"ok"``.

  • wavexis_video_action_overlay

    Enable or disable the on-page action overlay for recordings. When enabled, a small fixed badge is injected into the page that flashes the last user action (click, keypress, input) so it is visible in captured screencast frames. Args: input: Overlay parameters (show). Returns: JSON string with status ``"ok"`` and ``show``.

  • wavexis_video_add_chapter

    Add a chapter marker to an active recording. Args: input: Chapter parameters (recording_id, title, timestamp_ms). Returns: JSON string with ``status`` and ``chapter`` info.

  • wavexis_video_record

    Start recording a video of the page. Args: input: Recording parameters (output_path, width, height). Returns: JSON string with ``recording_id`` and ``status``.

  • wavexis_video_stop

    Stop recording and return the captured frames as an MJPEG stream. The output is a Motion JPEG stream (concatenated JPEG frames) — a format playable by VLC/ffmpeg and encodable to mp4/webm. It is not a containerized mp4/webm. Args: input: Stop parameters (recording_id, output_path). Returns: JSON string with ``base64`` MJPEG data or file ``path``, plus ``duration_ms``, ``size_bytes``, ``frames``, ``format`` and ``chapters``.

  • wavexis_visual_diffread-only

    Compare a screenshot against a baseline image. Args: input: Visual diff parameters (url, baseline_path, threshold). Returns: JSON string with ``diff_percentage``, ``diff_pixels``, and ``passed``.

  • wavexis_waitread-only

    Block until a page condition (load, selector, URL, network idle) is met. Use after wavexis_navigate when the wait strategy was 'none', or to wait for dynamic content; use wavexis_stop to cancel a load instead. Side effects: None — read-only polling with no page mutations; blocks the tool call up to the configured timeout. Returns: JSON string with keys: 'status' ('ok'/'error'), 'elapsed_ms' (int).

  • wavexis_webaudio_captureread-only

    Capture WebAudio context data. Args: input: Capture parameters (session_id, context_id). Returns: JSON string with ``contexts`` list.

  • wavexis_webaudio_stop_capture

    Stop WebAudio capture. Args: input: Stop parameters (session_id). Returns: JSON string with status ``"ok"``.

  • wavexis_webauthn_add_authenticator

    Add a virtual WebAuthn authenticator for testing. Args: input: Authenticator parameters (session_id, protocol, transport). Returns: JSON string with ``authenticator_id``.

  • wavexis_webauthn_add_credential

    Add a credential to a virtual authenticator. Args: input: Add credential parameters (session_id, authenticator_id, credential). Returns: JSON string with status ``"ok"``.

  • wavexis_webauthn_get_credentialread-only

    Get credentials from a virtual authenticator. Args: input: Get credentials parameters (session_id, authenticator_id). Returns: JSON string with ``credentials`` list.

  • wavexis_webauthn_remove_credentialcan change or delete data

    Remove a virtual authenticator. Args: input: Remove authenticator parameters (session_id, authenticator_id). Returns: JSON string with status ``"ok"``.

  • wavexis_websocket_intercept

    Capture WebSocket frames on a page. Args: input: WebSocket intercept parameters (url, duration_ms). Returns: JSON string with ``sent``, ``received``, and frame counts.

Signals

Stars
3
Forks
1
Open issues
6
Weekly downloads
92
Last commit
Oct 13, 2026 (16 days ago)
Last release
Oct 7, 2026 (22 days ago)
Last package publish
Oct 7, 2026 (22 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.MathiasPaulenko/wavexis-mcp
Version
1.6.24
Auth
No auth
Packages
pypi wavexis-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from MathiasPaulenko

Cite this page

WaveXisMCP MCP server. Agent Mart. https://agentmart.dev/connectors/mathiaspaulenko-wavexis-mcp (last updated 2026-10-24)