WaveXisMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| wavexis_session_openA | 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_session_closeA | 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_infoA | 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_navigateA | 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_backA | 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_forwardA | 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_reloadA | 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_stopA | 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_waitA | 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_screenshotA | Capture a screenshot of a web page or matched element. Use Side effects: launches/acquires a browser backend, navigates to |
| wavexis_pdfA | Generate a PDF document from a web page. Use Side effects: launches/acquires a browser backend, navigates to |
| wavexis_scrapeA | Scrape data from multiple URLs by evaluating a JS expression on each. Use Side effects: launches/acquires a browser backend, navigates to each
URL in |
| wavexis_screencastA | Capture a frame-by-frame screenshot sequence over a duration. Use Side effects: launches/acquires a browser backend, navigates to |
| wavexis_annotated_screenshotA | 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 Side effects: uses an existing session backend, injects and removes
temporary overlay DOM nodes; writes to |
| wavexis_page_pdfA | Generate a PDF via the low-level Page.printToPDF CDP method. Offers pixel-level control over paper size, margins, and print
options beyond Side effects: launches/acquires a browser backend, navigates to |
| wavexis_page_snapshotA | Capture the page as MHTML or a plain text document. Use Side effects: launches/acquires a browser backend, navigates to |
| wavexis_evalA | Evaluate a JavaScript expression in the browser context and return the result. Use Side effects: launches/acquires a browser backend, navigates to |
| wavexis_dom_getA | 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 |
| wavexis_dom_queryA | 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 |
| wavexis_dom_set_attrA | 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_get_attrA | 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_remove_attrA | 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_removeA | Remove an element matching a CSS selector from the DOM. Use wavexis_dom_set_attr to hide an element (e.g. Side effects: Destructive; permanently removes the matched element from the live DOM. Returns: JSON string with keys: 'status' ('ok'/'error'). |
| wavexis_dom_focusA | Focus an element matching a CSS selector. Use wavexis_dom_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_scrollA | 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_snapshotA | 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_iframe_evalA | 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_clickA | 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_fillA | 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_shadow_evalA | Evaluate a JavaScript expression inside a shadow DOM tree. Pierces shadow boundaries using the provided selector chain: Side effects: Arbitrary; executes user-supplied JavaScript within the shadow DOM context. Returns: JSON string with keys: 'status' ('ok'/'error'), 'result' (any). |
| wavexis_shadow_clickA | 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_fillA | 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_clickA | 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_double_clickA | 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_right_clickA | 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_typeA | 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_fillA | 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_formA | 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_select_optionA | Select an option in a Use wavexis_fill for text inputs or wavexis_click for custom dropdown
widgets that are not native Side effects: Changes the selected option of the |
| wavexis_hoverA | 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_key_pressA | 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_dragA | 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_tapA | 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_set_filesA | Upload files to a file input element ( 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_dropA | Drop files or MIME-typed data onto an element via drag events. Use wavexis_set_files for standard 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_checkA | 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_uncheckA | 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_find_by_textA | 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_nl_clickA | 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_fillA | 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_cookies_getA | Retrieve all cookies for the current page context. Use Side effects: launches/acquires a browser backend, navigates to |
| wavexis_cookies_setA | Set a single cookie in the browser for the current page. Use Side effects: launches/acquires a browser backend, navigates to |
| wavexis_cookies_deleteA | Delete cookies matching a name and domain in the browser. Use Side effects: launches/acquires a browser backend, navigates to |
| wavexis_cookies_clearA | Clear all cookies from the browser session. Use Side effects: uses an existing session backend, destructively removes all cookies from the browser. Returns: JSON string with keys: 'status' ('ok'/'error'). |
| wavexis_list_tabsA | 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_new_tabA | 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_close_tabA | 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_activate_tabA | 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_browser_versionA | Query the active browser's version string via the selected backend. Use 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_backendsA | List installed browser backends and their versions without launching a browser. Use Side effects: None; queries the local filesystem only. Returns: JSON string with keys: 'status' ('ok'/'error'), 'backends' (dict), 'available' (list[str]). |
| wavexis_invokeA | Invoke any wavexis backend method by name, the ultimate escape hatch. Use a dedicated MCP tool (e.g. 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), or 'path' (str) depending on output. |
| wavexis_key_downA | Dispatch a raw keyDown event to the active page via CDP. This tool mirrors Playwright's API for compatibility; use
Side effects: Sends a key-down input event to the browser page. Returns: JSON string with keys: 'status' ('ok'/'error'). |
| wavexis_key_upA | Dispatch a raw keyUp event to the active page via CDP. This tool mirrors Playwright's API for compatibility; pair with
Side effects: Sends a key-up input event to the browser page. Returns: JSON string with keys: 'status' ('ok'/'error'). |
| wavexis_press_keysA | Type a sequence of characters at the page level without targeting an element. Use Side effects: Dispatches keyDown/keyUp pairs to the browser page; no network requests. Returns: JSON string with keys: 'status' ('ok'/'error'), 'typed' (str). |
| wavexis_mouse_drag_xyA | Drag the mouse from one screen coordinate to another via CDP mouse events. This tool mirrors Playwright's API for compatibility; use 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_console_clearA | 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_cookie_getA | Retrieve a single cookie by name (and optional domain/path) from the browser. Use Side effects: None; reads cookie state from the browser session. Returns: JSON string with keys: 'status' ('ok'/'error'), 'cookie' (dict|null). |
| wavexis_cookie_listA | List browser cookies with optional name, domain, and path filters. Use Side effects: None; reads cookie state from the browser session. Returns: JSON string with keys: 'status' ('ok'/'error'), 'cookies' (list[dict]), 'count' (int). |
| wavexis_close_pageA | 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_findA | Search the accessibility snapshot for nodes matching text or a regex pattern. Use 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_get_configA | Return wavexis-mcp server configuration and available browser backends. Use 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_actA | 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 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| scrape_page | Scrape a page and extract content. Args: url: The URL to scrape. selector: CSS selector for the content to extract. Returns: A prompt string guiding the LLM through the scraping workflow. |
| audit_page | Run a full audit on a page (a11y + performance). Args: url: The URL to audit. Returns: A prompt string guiding the LLM through the audit workflow. |
| fill_form | Fill a form on a page. Args: url: The URL with the form. fields: Comma-separated field descriptions (e.g. "name=John, email=john@example.com"). Returns: A prompt string guiding the LLM through the form-filling workflow. |
| debug_page | Debug a page (console, network, performance). Args: url: The URL to debug. Returns: A prompt string guiding the LLM through the debugging workflow. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MathiasPaulenko/wavexis-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server