WaveXisMCP
PYPI · WAVEXIS-MCP · SCANNED SEP 20
220 browser automation tools for Chrome, Edge, and Firefox via CDP + BiDi. 100% Python.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 3 of 40 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 33 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability81
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 7936 tokens (~110/item across 72 items; 72 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety91
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 5 of 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "wavexis_eval" implies "eval" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 73 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the WaveXisMCP MCP server?
WaveXisMCP runs locally as a PyPI package, launched with uvx wavexis-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · wavexis-mcp
claude mcp add mathiaspaulenko-wavexis-mcp -- uvx wavexis-mcp
{
"mcpServers": {
"mathiaspaulenko-wavexis-mcp": {
"command": "uvx",
"args": [
"wavexis-mcp"
]
}
}
} {
"servers": {
"mathiaspaulenko-wavexis-mcp": {
"command": "uvx",
"args": [
"wavexis-mcp"
]
}
}
} codex mcp add mathiaspaulenko-wavexis-mcp -- uvx wavexis-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mathiaspaulenko-wavexis-mcp": {
"type": "local",
"command": [
"uvx",
"wavexis-mcp"
],
"enabled": true
}
}
} openclaw mcp add mathiaspaulenko-wavexis-mcp --command uvx --arg wavexis-mcp
mcp_servers:
mathiaspaulenko-wavexis-mcp:
command: "uvx"
args: ["wavexis-mcp"] {
"McpServers": {
"mathiaspaulenko-wavexis-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"wavexis-mcp"
]
}
}
} assistant mcp add mathiaspaulenko-wavexis-mcp -t stdio -c uvx -a wavexis-mcp
{
"mcpServers": {
"mathiaspaulenko-wavexis-mcp": {
"command": "uvx",
"args": [
"wavexis-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 −2
- Stability: pass → 0.80 functional
- 17 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- Stability: 0.97 → pass security
- 16 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 15 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 14 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/wavexis-mcp@1.6.24
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 40 packages
| Packages resolved | 40 |
|---|---|
| Stale | 3 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
wavexis_act ~95
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_activate_tab ~93
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_annotated_screenshot ~181
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), 'base64' (str) or 'path' (str), 'size_bytes' (int), 'labels' (dict[str, str]).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_back ~85
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_backends ~89
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]).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_browser_version ~99
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_check ~124
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_click ~125
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_close_page ~96
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_close_tab ~95
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_console_clear ~83
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_cookie_get ~88
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_cookie_list ~89
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_cookies_clear ~92
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_cookies_delete ~104
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_cookies_get ~114
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_cookies_set ~101
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_dom_focus ~79
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_dom_get ~89
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_dom_get_attr ~87
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_dom_query ~100
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_dom_remove ~85
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_dom_remove_attr ~79
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_dom_scroll ~75
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_dom_set_attr ~76
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_dom_snapshot ~85
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_double_click ~120
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_drag ~120
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_drop ~160
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_eval ~129
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_fill ~121
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_fill_form ~131
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_find ~100
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_find_by_text ~145
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_forward ~90
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_get_config ~107
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_hover ~111
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_iframe_click ~75
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_iframe_eval ~88
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_iframe_fill ~79
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_invoke ~181
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), or 'path' (str) depending on output.
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_key_down ~96
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_key_press ~115
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_key_up ~102
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_list_tabs ~103
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_mouse_drag_xy ~100
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').
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_navigate ~116
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_new_tab ~108
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_nl_click ~119
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
wavexis_nl_fill ~127
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).
| Name | Type | Req | Description |
|---|---|---|---|
| input | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the WaveXisMCP MCP server?
WaveXisMCP is an MCP server listed in the public MCP registry as io.github.MathiasPaulenko/wavexis-mcp. 220 browser automation tools for Chrome, Edge, and Firefox via CDP + BiDi. 100% Python. This page covers its PyPI package (wavexis-mcp).
Is the WaveXisMCP MCP server safe to use?
WaveXisMCP scores 67 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the WaveXisMCP MCP server expose?
WaveXisMCP exposes 72 tools: wavexis_session_open, wavexis_session_close, wavexis_session_info, wavexis_navigate, wavexis_back, and 67 more. Their descriptions and schemas cost roughly 7,859 tokens of context every time the server is loaded.
Is the WaveXisMCP MCP server still maintained?
WaveXisMCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the WaveXisMCP MCP server under?
WaveXisMCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.