Skip to main content
Glama

mcp-helm

Controla tu sesión real de Chrome desde Claude: modo copiloto, con reconocimiento de transferencia.

La mayoría de los servidores MCP de automatización de navegadores inician un Chromium de Playwright nuevo. Eso es inútil cuando el trabajo consiste en "iniciar sesión en Stripe y hacer clic en 5 cosas": no tienes tus cookies, tu 2FA, tus marcadores. mcp-helm se conecta a TU Chrome, el que ya tienes abierto, y permite que Claude ejecute un pequeño conjunto de herramientas en la pestaña activa.

También sabe cuándo dar un paso atrás: cuando la página muestra un aviso de 2FA, un captcha, una confirmación de pago o una solicitud biométrica, la herramienta de captura de pantalla lo marca y Claude puede llamar a handoff() para esperar a que tú lo hagas.

Por qué existe esto

El problema de los ojos y las manos: Claude te dice "haz clic en Ajustes → Acceso a API" y tú haces clic en Ajustes y no hay acceso a API, así que le envías una captura de pantalla a Claude, que vuelve a adivinar. Eso son 5 minutos de idas y vueltas para una tarea de 5 segundos, y sucede en cada configuración de Stripe / Apple / Play Console / Cloudflare / Vercel.

mcp-helm corta ese bucle. Claude ve la página real, elige elementos del árbol de accesibilidad (sin adivinar coordenadas) y se detiene cuando debería hacer algo que no debe.

Instalación

npm install -g mcp-helm

Añádelo a ~/.claude.json (o a la configuración de tu cliente MCP):

{
  "mcpServers": {
    "helm": {
      "command": "mcp-helm"
    }
  }
}

Uso

1. Iniciar un Chrome controlable

Añade este alias a tu shell rc:

alias chrome-pilot='open -a "Google Chrome" --args --remote-debugging-port=9222 --user-data-dir=$HOME/.chrome-pilot'

Ejecútalo una vez: chrome-pilot. Se abrirá un perfil de Chrome independiente. Inicia sesión en todo lo que quieras que Claude controle (Play Console, Stripe, etc.). Las cookies persisten entre lanzamientos: solo inicias sesión una vez por servicio.

¿Por qué un perfil separado? Tu Chrome principal no puede iniciarse en modo de depuración remota mientras ya se está ejecutando. El perfil dedicado vive en ~/.chrome-pilot y permanece separado de tu navegación diaria.

2. Desde Claude

You: Upload the AAB at <path> to Play Store internal testing.
Claude: [calls helm.attach] → [helm.navigate to play.google.com/console]
        [helm.screenshot] → sees the dashboard
        [helm.click "Personalized AI Portfolio Bot"]
        ... etc

Si aparece un aviso de 2FA, screenshot devuelve handoffTriggers: ["2FA prompt"] y Claude llama a handoff para esperar.

Herramientas

Herramienta

Propósito

attach

Conectar a Chrome en el puerto 9222. Llámalo siempre primero.

list_tabs

Listar todas las pestañas abiertas.

focus_tab

Cambiar la pestaña activa por índice o subcadena de URL.

screenshot

PNG + URL + título + activadores de transferencia detectados.

inspect

Lista numerada de elementos interactivos (árbol a11y).

click

Hacer clic por ID (desde inspect), texto o selector CSS. Devuelve changed: bool de la diferencia de captura de pantalla.

type

Escribir en un campo. submit: true presiona Enter después.

navigate

Ir a una URL.

wait_for

Esperar por texto o selector.

handoff

Pausar y pedir al humano que tome el control.

Decisiones de diseño

  • Árbol de accesibilidad, no coordenadas. El clic basado en visión (uso de computadora de Anthropic) es genial pero inestable en pantallas Retina y escalado de alto DPR. El árbol a11y proporciona IDs estables y semánticos, y es lo que usan los lectores de pantalla.

  • Diferencia de captura de pantalla después de cada clic. Si changed: false, el clic no hizo nada. Evita que Claude informe alegremente de un éxito.

  • La detección de transferencia se basa en regex, no en LLM. Barato, rápido, sin falsos positivos en frases comunes de inicio de sesión.

  • Sin heurísticas de gestión de pestañas. attach elige la primera pestaña no vacía; usa list_tabs + focus_tab para ser preciso. Lo predecible es mejor que lo ingenioso.

Estado

v0.1: funciona para flujos simples (Play Console, panel de Stripe, Vercel, Cloudflare). Casos extremos que aún no maneja:

  • Componentes Shadow DOM (algunos sitios con muchos componentes web)

  • iframes (necesita implementar el cambio de marco)

  • Carga de archivos desde el disco

  • Atajos de teclado más allá de Enter

Licencia

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/flying-pisces/mcp-helm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server