MCP Chrome Integration

Controla el navegador Chrome para automatización web usando un modelo de IA. Requiere la extensión MCP Chrome.

Documentación

MCP Chrome Integration

smithery badge Buy Me A Coffee

Un protocolo que permite a los modelos de IA controlar el navegador Chrome y realizar automatización web.

Instalación

Requisitos previos

  • Python 3.12
  • Extensión del navegador Google Chrome instalada (cliente websocket)
  • uv (instalador de paquetes de Python) o Docker

Instalación mediante Smithery

Para instalar Chrome Browser Automation Server para Claude Desktop automáticamente mediante Smithery:

npx -y @smithery/cli install @dlwjdtn535/mcp-chrome-integration --client claude

Configuración

Elija uno de los siguientes métodos de configuración según su entorno:

1. Usando uv (Recomendado)

Configuración en Windows:

{
  "mcpServers": {
    "mcp-chrome-integration": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "%LOCALAPPDATA%\\Programs\\mcp-chrome-integration\\src",
        "mcp-server"
      ],
      "env": {
        "WEBSOCKET_PORT": "8012"
      }
    }
  }
}

Configuración en macOS:

{
  "mcpServers": {
    "mcp-chrome-integration": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/usr/local/bin/mcp-chrome-integration/src",
        "mcp-server"
      ],
      "env": {
        "WEBSOCKET_PORT": "8012"
      }
    }
  }
}

Configuración en Linux:

{
  "mcpServers": {
    "mcp-chrome-integration": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/usr/local/bin/mcp-chrome-integration/src",
        "mcp-server"
      ],
      "env": {
        "WEBSOCKET_PORT": "8012"
      }
    }
  }
}

Características principales

1. Navegación e interacción con páginas

  • Navegación por URL
  • Clic en elementos
  • Entrada de texto
  • Relleno de formularios
  • Desplazamiento de página
  • Extracción de datos de tablas
  • Ejecución de código JavaScript

2. Manipulación de elementos

  • Obtener información de elementos (dimensiones, estilos, visibilidad)
  • Esperar elementos
  • Cambiar colores de fondo
  • Obtener estado y contenido de la página

3. Análisis de páginas

  • Obtener contenido HTML
  • Contar enlaces
  • Extraer metaetiquetas
  • Obtener información de imágenes
  • Análisis de formularios
  • Transmisión de contenido de página

4. Funciones del navegador

  • Gestión de marcadores
  • Acceder al historial del navegador
  • Gestionar descargas
  • Mostrar notificaciones
  • Gestión del portapapeles
  • Manejo de cookies

5. Integración con el sistema

  • Obtener información del sistema
  • Acceder a la geolocalización
  • Monitorear estado de energía/batería
  • Tomar capturas de pantalla

Ejemplos de uso

# Navigate to URL
tool_navigate_to(url="https://example.com", tab_id="your_tab_id")

# Click Element
tool_click_element(selector="#submit-button", tab_id="your_tab_id")

# Type Text
tool_type_text(selector="#search", text="query", tab_id="your_tab_id")

# Check Page State
tool_state(tab_id="your_tab_id")

# Execute JavaScript
tool_execute_script(script="console.log('Hello')", tab_id="your_tab_id")

# Extract Table Data
tool_extract_table(selector=".data-table", tab_id="your_tab_id")

# Get Element Info
tool_get_element_info(selector=".my-element", tab_id="your_tab_id")

Notas importantes

1. Restricciones de seguridad de Chrome

  • No funciona en URLs chrome://
  • Solo funciona en sitios web normales (http:// o https://)
  • La Política de Seguridad de Contenido (CSP) de algunos sitios web puede restringir ciertas operaciones
  • Considere la CSP del sitio web al ejecutar JavaScript

2. Gestión de pestañas

  • Se requiere tab_id para todas las operaciones
  • Use tool_tab_list() para verificar las pestañas disponibles
  • Verifique el estado de la pestaña antes de las operaciones

3. Manejo de errores

  • Verifique los valores de retorno para el estado de éxito/error
  • Maneje los tiempos de espera para operaciones de espera
  • Considere el estado de carga del sitio web

Instalación y configuración

1. Instalación y configuración de la extensión de Chrome

  1. Prepare la extensión

    # Navigate to extension directory
    cd mcp-client
    
  2. Instale en el navegador Chrome

    • Abra el navegador Chrome
    • Ingrese chrome://extensions/ en la barra de direcciones
    • Active el interruptor "Modo desarrollador" en la esquina superior derecha
    • Haga clic en el botón "Cargar descomprimida" en la esquina superior izquierda
    • Seleccione el directorio mcp-client
  3. Configure la extensión

    • Haga clic en el icono de la extensión MCP en la barra de herramientas de Chrome
    • Ingrese la URL del servidor (predeterminada: ws://localhost:8012)
    • Haga clic en el botón "Conectar" para conectarse al servidor
    • El estado de la conexión debería cambiar a "Conectado"
  4. Uso de la extensión

    • Funciona automáticamente en las pestañas conectadas
    • Para nuevas pestañas, haga clic en el icono de la extensión y conéctese
    • Monitoree las operaciones en la ventana de registro
    • Haga clic en "Desconectar" para finalizar la conexión

2. Configuración del servidor

# Navigate to server directory
cd mcp-server

# Install dependencies
pip install -r requirements.txt

# Start server
python src/server.py

Funciones de la extensión

1. Interfaz emergente

  • Configuración de la URL del servidor
  • Botón Conectar/Desconectar
  • Estado de la pestaña actual
  • Visor de mensajes de registro

2. Funciones en segundo plano

  • Gestión de pestañas
  • Mantenimiento de la conexión WebSocket
  • Reconexión automática
  • Recuperación de errores

3. Funciones de seguridad

  • Soporte HTTPS
  • Cumplimiento de CSP
  • Ejecución segura de scripts
  • Gestión de permisos

4. Depuración

  • Visualización de registros en las herramientas de desarrollador
  • Mensajes de error detallados
  • Monitoreo de comunicación de red
  • Seguimiento del estado de ejecución

Solución de problemas

1. Problemas de conexión

  • Verifique la URL del servidor
  • Verifique el estado del servidor
  • Verifique la configuración del firewall
  • Verifique la disponibilidad del puerto WebSocket (8012)

2. Errores de ejecución

  • Verifique las restricciones de CSP
  • Otorgue los permisos necesarios
  • Revise los mensajes de error de la consola
  • Valide los ID de pestañas

3. Problemas de rendimiento

  • Monitoree el uso de memoria
  • Desconecte las pestañas no utilizadas
  • Ajuste la frecuencia de actualización de estado
  • Optimice el procesamiento de grandes volúmenes de datos

Licencia

MIT