@wdio/mcp

MCPcon attestation
v3.14.0io.github.webdriverioMITActualizado hace 20 dnpmGitHub

MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)

Funciona en
ClaudeCursorCopilotGemini

Inferido de los transportes que declara este listado (stdio). Que un cliente no aparezca aquí no significa que se haya descartado: simplemente Forge no puede confirmarlo.

Build con attestation
Una attestation de procedencia verificada vincula este artefacto al repositorio listado. Nadie ha reclamado todavía el listado: esto demuestra dónde se construyó el código, no quién lo respalda.
3kDescargas/sem.
38Estrellas en GitHub
16Forks
hace 20 dÚltima actualización
Paquete
Autorio.github.webdriverio
LicenciaMIT
Versión3.14.0
Fuentenpm+mcp-registry
Estado de confianza
A
85/100Fiable
✓Listado en el índice de Forge+10/10
✓Identidad verificada · build con attestation+20/20
—Firma de publicación Ed25519+0/5
→ Se incluye automáticamente cuando el publicador ejecuta `forge publish`
—Verificación de dominio+0/5
→ Publicador: aloja /.well-known/forge.json en la página del paquete con { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—Coincidencia de maintainer en npm+0/5
→ Publicador: añade el login de GitHub verificado a los maintainers del paquete de npm (npm owner add <login>)
✓Análisis CVE · limpio+30/30
✓Análisis estático · limpio+20/20
Pégalo en Claude Code, Cursor o cualquier asistente de IA para corregir todas las carencias
EstadoIdentidad verificada
PublicadorSin verificar
FirmaSin firmar
Dominio—
Procedencia✓ Verificado con Sigstore · 7da0954
Dependencias✓ 60 resueltas+ · ninguna vulnerable
Superficie de herramientas40 herramientas · 3 privilegiadas
Análisis de seguridad✓ Limpiov4.0.0 · hoy¿Qué tan bien funciona este análisis?
EvaluacionesNinguna
Indexado18 jun 2026

La verificación confirma la identidad del publicador (la propiedad del repo), no la seguridad del código. El análisis de seguridad cubre los CVE conocidos y los scripts de instalación sospechosos.

Herramientas

40 herramientas · 3 privilegiadas
Extraído estáticamente del paquete publicadov4.0.0 · 17h ago

Leído del código que npm publica realmente, en el momento del análisis. El paquete nunca se ejecutó. Las herramientas registradas dinámicamente en tiempo de ejecución, o escondidas en código empaquetado o minificado, pueden pasarse por alto — así que esto es un mínimo de la superficie de herramientas, no un censo completo.

navigateLoads a URL in the current tab and waits for the page load event. Resets page state — DOM, JS runtime, timers, and frame context are destroyed. Use instead of clicking links when the target URL is known.

Loads a URL in the current tab and waits for the page load event. Resets page state — DOM, JS runtime, timers, and frame context are destroyed. Use instead of clicking links when the target URL is known.

No se publicó ningún esquema de entrada para esta herramienta.

click_elementClicks an element. On web pages the result lists what changed (new elements with refs, or the new page). In apps it does not: take a snapshot to see the new screen. Several steps in a row: perform_actions.

Clicks an element. On web pages the result lists what changed (new elements with refs, or the new page). In apps it does not: take a snapshot to see the new screen. Several steps in a row: perform_actions.

No se publicó ningún esquema de entrada para esta herramienta.

set_valueReplaces the text of an input or textarea. On web pages the result lists what changed (new elements with refs, or the new page). In apps it does not: take a snapshot to see the new screen. To fill several fields or fill and then click, use one perform_actions call.

Replaces the text of an input or textarea. On web pages the result lists what changed (new elements with refs, or the new page). In apps it does not: take a snapshot to see the new screen. To fill several fields or fill and then click, use one perform_actions call.

No se publicó ningún esquema de entrada para esta herramienta.

scrollScrolls the page vertically by a pixel amount. Browser-only — for mobile scrolling use swipe. Only supports up/down; no horizontal scrolling.

Scrolls the page vertically by a pixel amount. Browser-only — for mobile scrolling use swipe. Only supports up/down; no horizontal scrolling.

No se publicó ningún esquema de entrada para esta herramienta.

set_cookieSets a browser cookie on the active session. The browser must already be on the target domain — cookies cannot be set cross-domain. Use to inject session tokens or feature flags without login flows.

Sets a browser cookie on the active session. The browser must already be on the target domain — cookies cannot be set cross-domain. Use to inject session tokens or feature flags without login flows.

No se publicó ningún esquema de entrada para esta herramienta.

delete_cookiesprivilegiadaDeletes all cookies or a single cookie by name from the current browser session. Irreversible — deleted cookies cannot be recovered.

Deletes all cookies or a single cookie by name from the current browser session. Irreversible — deleted cookies cannot be recovered.

No se publicó ningún esquema de entrada para esta herramienta.

tap_elementTaps an element (ref from snapshot, or selector) or taps at absolute screen coordinates (x, y). A tap on an element lists what changed on the screen. No scroll-into-view or wait — element must already be visible on screen. Use instead of click_element on iOS where element.click() is ignored. Provid…

Taps an element (ref from snapshot, or selector) or taps at absolute screen coordinates (x, y). A tap on an element lists what changed on the screen. No scroll-into-view or wait — element must already be visible on screen. Use instead of click_element on iOS where element.click() is ignored. Provid…

No se publicó ningún esquema de entrada para esta herramienta.

swipePerforms a full-screen swipe gesture. Direction is content movement — "up" scrolls content upward (finger moves down). For browser scrolling use scroll; for dragging a specific element use drag_and_drop. No error if content cannot scroll further. Mobile-only.

Performs a full-screen swipe gesture. Direction is content movement — "up" scrolls content upward (finger moves down). For browser scrolling use scroll; for dragging a specific element use drag_and_drop. No error if content cannot scroll further. Mobile-only.

No se publicó ningún esquema de entrada para esta herramienta.

drag_and_dropprivilegiadaDrags an element to another element or to relative x/y offsets. x and y are offsets from the source element, not absolute screen coordinates (unlike tap_element). Provide targetSelector OR both x and y. Mobile-only.

Drags an element to another element or to relative x/y offsets. x and y are offsets from the source element, not absolute screen coordinates (unlike tap_element). Provide targetSelector OR both x and y. Mobile-only.

No se publicó ningún esquema de entrada para esta herramienta.

switch_contextSwitches between native and webview automation contexts in a hybrid mobile app. In NATIVE_APP context, use accessibility IDs; in WEBVIEW_* context, use CSS/XPath. Changes persist for all subsequent commands. Accepts context name or 1-based index. Use get_contexts to discover available targets. Mobi…

Switches between native and webview automation contexts in a hybrid mobile app. In NATIVE_APP context, use accessibility IDs; in WEBVIEW_* context, use CSS/XPath. Changes persist for all subsequent commands. Accepts context name or 1-based index. Use get_contexts to discover available targets. Mobi…

No se publicó ningún esquema de entrada para esta herramienta.

hide_keyboardDismisses the on-screen keyboard on mobile. Call after text entry when the keyboard obscures elements. No-op if already hidden. Mobile-only.

Dismisses the on-screen keyboard on mobile. Call after text entry when the keyboard obscures elements. No-op if already hidden. Mobile-only.

No se publicó ningún esquema de entrada para esta herramienta.

rotate_deviceRotates a mobile device to portrait or landscape orientation. Waits for the OS rotation animation to complete. Use to test orientation-dependent layouts. Mobile-only; no effect in browser sessions.

Rotates a mobile device to portrait or landscape orientation. Waits for the OS rotation animation to complete. Use to test orientation-dependent layouts. Mobile-only; no effect in browser sessions.

No se publicó ningún esquema de entrada para esta herramienta.

set_geolocationOverrides GPS coordinates for the session. Affects navigator.geolocation in browsers and location services on mobile. Location permissions must already be granted to the app.

Overrides GPS coordinates for the session. Affects navigator.geolocation in browsers and location services on mobile. Location permissions must already be granted to the app.

No se publicó ningún esquema de entrada para esta herramienta.

execute_scriptRuns JavaScript in the page (`return` a value; string args that match a selector are passed as elements) or, on Appium, a "mobile: <command>" with args. Prefer the dedicated tools for clicks and typing.

Runs JavaScript in the page (`return` a value; string args that match a selector are passed as elements) or, on Appium, a "mobile: <command>" with args. Prefer the dedicated tools for clicks and typing.

No se publicó ningún esquema de entrada para esta herramienta.

get_elementsReturns interactable elements on the current page with selectors, text, and bounding boxes. Supports filtering by element type, viewport visibility, and pagination. Use when the wdio://session/current/elements resource does not return desired elements.

Returns interactable elements on the current page with selectors, text, and bounding boxes. Supports filtering by element type, viewport visibility, and pagination. Use when the wdio://session/current/elements resource does not return desired elements.

No se publicó ningún esquema de entrada para esta herramienta.

launch_chromeLaunches Chrome with remote debugging enabled. Wipes and recreates a temporary profile directory on each call. Mode "newInstance" (default) runs alongside existing Chrome; "freshSession" starts with an empty profile. Set copyProfileFiles to copy cookies/logins from your Default profile — changes do…

Launches Chrome with remote debugging enabled. Wipes and recreates a temporary profile directory on each call. Mode "newInstance" (default) runs alongside existing Chrome; "freshSession" starts with an empty profile. Set copyProfileFiles to copy cookies/logins from your Default profile — changes do…

No se publicó ningún esquema de entrada para esta herramienta.

emulate_deviceEmulates a mobile or tablet device in the current browser session by setting viewport, DPR, user-agent, and touch events. Requires a BiDi-enabled session (start_session with capabilities: { webSocketUrl: true }). Omit device to list available presets. Pass "reset" to restore desktop defaults. Chang…

Emulates a mobile or tablet device in the current browser session by setting viewport, DPR, user-agent, and touch events. Requires a BiDi-enabled session (start_session with capabilities: { webSocketUrl: true }). Omit device to list available presets. Pass "reset" to restore desktop defaults. Chang…

No se publicó ningún esquema de entrada para esta herramienta.

mockSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

get_mock_callsRead current call arguments for a mock in the active session. Use the same target as mock. mockType defaults to browser in WebDriver sessions and is required in Electron sessions. Electron mocks require apiName and funcName; browser mocks require url and accept method. Appium sessions are unsupport…

Read current call arguments for a mock in the active session. Use the same target as mock. mockType defaults to browser in WebDriver sessions and is required in Electron sessions. Electron mocks require apiName and funcName; browser mocks require url and accept method. Appium sessions are unsupport…

No se publicó ningún esquema de entrada para esta herramienta.

manage_mockManage a mock in the active session. mockType defaults to browser in WebDriver sessions and is required in Electron sessions. Electron mocks require apiName and funcName; browser mocks require url and accept method. Appium sessions are unsupported. clear removes call history, reset also removes con…

Manage a mock in the active session. mockType defaults to browser in WebDriver sessions and is required in Electron sessions. Electron mocks require apiName and funcName; browser mocks require url and accept method. Appium sessions are unsupported. clear removes call history, reset also removes con…

No se publicó ningún esquema de entrada para esta herramienta.

enable_toolsSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

start_sessionStarts a browser, Electron app or mobile app session (closes the active one). Browsers run headless at 1280x800 by default; pass navigationUrl to open a page right away. attach: true connects to a running Chrome via CDP.

Starts a browser, Electron app or mobile app session (closes the active one). Browsers run headless at 1280x800 by default; pass navigationUrl to open a page right away. attach: true connects to a running Chrome via CDP.

No se publicó ningún esquema de entrada para esta herramienta.

attach_sessionAttaches to an existing remote WebDriver or Appium session by ID without creating a new session. Only one session can be active at a time. The externally managed session is detached, not terminated, by default on close.

Attaches to an existing remote WebDriver or Appium session by ID without creating a new session. Only one session can be active at a time. The externally managed session is detached, not terminated, by default on close.

No se publicó ningún esquema de entrada para esta herramienta.

close_sessionCloses the session, or with detach: true disconnects and leaves it running. Attached sessions and Appium sessions with noReset are detached unless detach: false.

Closes the session, or with detach: true disconnects and leaves it running. Attached sessions and Appium sessions with noReset are detached unless detach: false.

No se publicó ningún esquema de entrada para esta herramienta.

switch_tabSwitches to a tab by handle or 0-based index (see get_tabs). Later tools act on that tab.

Switches to a tab by handle or 0-based index (see get_tabs). Later tools act on that tab.

No se publicó ningún esquema de entrada para esta herramienta.

switch_frameSwitches into an iframe (ref or selector), or back to the top page when selector is omitted. Later tools act inside the frame until you switch back. Returns the frame's elements.

Switches into an iframe (ref or selector), or back to the top page when selector is omitted. Later tools act inside the frame until you switch back. Returns the frame's elements.

No se publicó ningún esquema de entrada para esta herramienta.

list_appsList apps uploaded to a cloud provider (BrowserStack App Automate, Sauce Labs App Storage, TestMu Real Device Cloud, TestingBot Storage, or Digital.ai Applications). Reads provider-specific credentials from environment.

List apps uploaded to a cloud provider (BrowserStack App Automate, Sauce Labs App Storage, TestMu Real Device Cloud, TestingBot Storage, or Digital.ai Applications). Reads provider-specific credentials from environment.

No se publicó ningún esquema de entrada para esta herramienta.

upload_appprivilegiadaUpload a local .apk or .ipa to a cloud provider (BrowserStack, Sauce Labs, TestMu, TestingBot, or Digital.ai). Returns the app URL for use in start_session.

Upload a local .apk or .ipa to a cloud provider (BrowserStack, Sauce Labs, TestMu, TestingBot, or Digital.ai). Returns the app URL for use in start_session.

No se publicó ningún esquema de entrada para esta herramienta.

query_docsSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

get_screenshotTakes a screenshot of the current page or screen and returns a base64-encoded image, resized and compressed for model context limits.

Takes a screenshot of the current page or screen and returns a base64-encoded image, resized and compressed for model context limits.

No se publicó ningún esquema de entrada para esta herramienta.

snapshotSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

select_optionSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

press_keySin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

perform_actionsSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

get_accessibility_treeSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

get_tabsSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

get_contextsSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

get_app_stateSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

get_cookiesSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

open_web_extensionSin descripción publicada

Esta herramienta no publicó ninguna descripción. Forge no se la inventa.

27 de 40 herramientas publicaron una descripción.

Los nombres y descripciones de las herramientas los escribe el publicador y se muestran literalmente como texto inerte. Son las cadenas que un cliente MCP pasa al modelo, así que Forge las analiza en busca de patrones de inyección de prompts — cualquier hallazgo aparece junto al análisis de seguridad de arriba. «Privilegiada» es una coincidencia de palabra clave en el nombre de la herramienta, no una auditoría de lo que hace: un nombre inofensivo puede hacer cualquier cosa.

Acerca de

MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)

Palabras clave
mcp
Alternativas
Comparando superficies de herramientas…

Árbol de dependencias

Lo que un análisis de Forge resolvió a partir de los metadatos de npm el 2026-10-12: resolución observada, no una declaración del publicador.

60 paquetes resueltos · 16 directos · ninguno con avisos de seguridad La resolución se detiene en la profundidad 4 y en 60 paquetes.

El rastreo se detuvo en el límite de 60 paquetes. El resto del árbol nunca se resolvió.

Hay 36 paquetes resueltos más que no se dibujan aquí (límite de visualización: 24). Toda dependencia con avisos de seguridad se dibuja aunque se supere el límite. Inventario completo (SBOM CycloneDX)

Declaradas pero no resueltas

163 dependencias declaradas nunca llegaron al árbol. Faltan en la resolución de Forge, no en el paquete.

+151 más sin listar. Los recuentos por motivo de arriba las incluyen todas.

No se siguen: optionalDependencies, peerDependencies. Este árbol cubre solo dependencias en tiempo de ejecución, así que lo que estas arrastren nunca se resolvió.