Chrome Debug MCP Server

by robertheadley
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Uses Puppeteer for Chrome automation, allowing page interaction, tab management, and browser control

Depuración de Chrome MCP Playwright

Una implementación del Protocolo de Contexto de Modelo (MCP) para la automatización del navegador usando Playwright, con soporte completo de la API de Greasemonkey.

Características

Características principales del navegador

  • Inicio y gestión del navegador
  • Compatibilidad con múltiples pestañas con capacidades de crear, cambiar y cerrar
  • Navegación e interacción de la página
  • Captura de pantalla

Compatibilidad con la API de Greasemonkey

  • GM_addStyle para inyección CSS
  • GM_getValue/GM_setValue para almacenamiento de datos
  • GM_deleteValue para la limpieza del almacenamiento
  • GM_notification para notificaciones de escritorio
  • GM_setClipboard para operaciones del portapapeles
  • GM_xmlhttpRequest para solicitudes de origen cruzado

Gestión de recursos

  • Interceptación de solicitudes de red
  • Bloqueo, modificación y registro de solicitudes
  • Filtrado de tipos de recursos

Funciones de depuración

  • Sistema de registro detallado
  • Organización de archivos de registro
  • Salida de interfaz limpia

Instalación

npm install chrome-debug-mcp-playwright

Inicio rápido

// Launch browser tool browser launch_browser --url "https://example.com" --browserType "chromium" // Use GM functions tool browser gm_setValue --key "setting" --value "test" tool browser gm_getValue --key "setting" // Intercept requests tool browser intercept_requests --patterns ["*.jpg", "*.css"] --action "block"

Documentación

  • Comandos : documentación detallada de comandos con ejemplos
  • Lista completa de comandos con ejemplos de uso disponibles en COMMANDS.md

Características principales

Administración del navegador

// Launch browser tool browser launch_browser --url "https://example.com" // Create new tab tool browser create_tab --url "https://example.com" // Switch between tabs tool browser switch_tab --index 1

API de Greasemonkey

// Add custom styles tool browser gm_addStyle --css "body { background: #f0f0f0; }" // Store data tool browser gm_setValue --key "setting" --value "test" // Make cross-origin requests tool browser gm_xmlhttpRequest --url "https://api.example.com/data" --method "GET"

Interceptación de recursos

// Block image loading tool browser intercept_requests --patterns ["*.jpg", "*.png"] --action "block" // Log all CSS requests tool browser intercept_requests --patterns ["*.css"] --action "log"

Detalles de implementación

Sistema de registro

  • Toda la salida de depuración se redirige a los archivos de registro
  • Entradas con marca de tiempo
  • Organizado en el directorio de registros
  • Salida de interfaz limpia

Manejo de errores

  • Registro detallado de errores
  • Limpieza adecuada de errores
  • Gestión de recursos

Dependencias

  • Dramaturgo: Automatización del navegador
  • @modelcontextprotocol/sdk: Implementación de MCP

Desarrollo

Prerrequisitos

  • Node.js 16 o superior
  • npm 7 o superior

Configuración

git clone https://github.com/yourusername/chrome-debug-mcp-playwright.git cd chrome-debug-mcp-playwright npm install

Licencia

Licencia MIT: consulte el archivo LICENCIA para obtener más detalles.

Contribuyendo

¡Agradecemos sus contribuciones! Consulte nuestra Guía de Contribución para más detalles.

Expresiones de gratitud

Basado en el chrome-debug-mcp original de Robert Headley.

=======

padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga)

Servidor MCP de depuración de Chrome

Un servidor de Protocolo de contexto de modelo (MCP) para controlar Chrome con capacidades de depuración, inyección de scripts de usuario y soporte de extensiones.

<<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA

=======

padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga)

<<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA

padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga)

Características

Control de cromo

  • Iniciar Chrome con configuraciones personalizadas
  • Compatibilidad con rutas ejecutables personalizadas de Chrome
  • Gestión de perfiles de usuario (directorio de datos de usuario predeterminado o personalizado)
  • Soporte y gestión de extensiones
  • Desactivar el banner "Control de automatización" de Chrome

<<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA

=======

padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga)

Automatización de páginas

  • Haga clic, escriba e interactúe con los elementos de la página
  • Manejar menús desplegables y entradas de formulario
  • Pase el cursor y espere los elementos
  • Tomar capturas de pantalla de páginas completas o elementos
  • Navegar entre páginas
  • Establecer el tamaño de la ventana gráfica y la emulación del dispositivo
  • Extraer texto y atributos de los elementos

Gestión de pestañas

  • Enumere todas las pestañas abiertas con sus ID y URL
  • Abrir nuevas pestañas con URL específicas
  • Cerrar pestañas por ID
  • Cambiar entre pestañas
  • Realizar un seguimiento y administrar múltiples estados de pestañas

<<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA

padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga)

Capacidades de depuración

  • Depuración remota mediante el protocolo Chrome DevTools (CDP)
  • Captura y monitorización de registros de la consola
  • Evaluación de JavaScript en el contexto de la página
  • Transmisión de salida de consola en tiempo real

Soporte de scripts de usuario

  • Inyectar scripts de usuario en páginas web
  • Compatibilidad con API de estilo Greasemonkey:
    • GM_setValue / GM_getValue para almacenamiento persistente
    • GM_addStyle para inyección CSS
    • GM_xmlhttpRequest para solicitudes de origen cruzado
    • GM_openInTab para la creación de una nueva pestaña
    • GM_registerMenuCommand para comandos de menú

Integración de extensiones

  • Cargar extensiones descomprimidas
  • Mantener estados y configuraciones de extensión
  • Compatibilidad con extensiones de perfil predeterminadas de Chrome
  • Habilitación/deshabilitación de extensión selectiva

Instalación

Prerrequisitos

Instalación de la extensión Roo Code

  1. Abrir Visual Studio Code
  2. Vaya a Extensiones (Ctrl+Shift+X)
  3. Buscar "Código Roo"
  4. Haga clic en Instalar

Configuración del servidor MCP de depuración de Chrome

  1. Clonar este repositorio:
    git clone https://github.com/yourusername/chrome-debug-mcp.git cd chrome-debug-mcp
  2. Instalar dependencias:
    npm install
  3. Construir el proyecto:
    npm run build
  4. Configurar en Roo Code: Agregar a cline_mcp_settings.json :
    { "mcpServers": { "chrome-debug": { "command": "node", "args": ["path/to/chrome-debug-mcp/build/index.js"], "disabled": false, "alwaysAllow": [] } } }

Uso

<<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA

Para obtener una referencia completa de todos los comandos, herramientas y funciones disponibles, consulte COMMANDS.md .

padre de 64acbb3 (Agregar archivos mediante carga) ======= Para obtener una referencia completa de todos los comandos, herramientas y funciones disponibles, consulte COMMANDS.md .

padre de 64acbb3 (Agregar archivos mediante carga) ======= Para obtener una referencia completa de todos los comandos, herramientas y funciones disponibles, consulte COMMANDS.md .

padre de 64acbb3 (Agregar archivos mediante carga) ======= Para obtener una referencia completa de todos los comandos, herramientas y funciones disponibles, consulte COMMANDS.md .

padre de 64acbb3 (Agregar archivos mediante carga) ======= Para obtener una referencia completa de todos los comandos, herramientas y funciones disponibles, consulte COMMANDS.md .

padre de 64acbb3 (Agregar archivos mediante carga) ======= Para obtener una referencia completa de todos los comandos, herramientas y funciones disponibles, consulte COMMANDS.md .

padre de 64acbb3 (Agregar archivos mediante carga) ======= Para obtener una referencia completa de todos los comandos, herramientas y funciones disponibles, consulte COMMANDS.md .

padre de 64acbb3 (Agregar archivos mediante carga)

Inicio básico de Chrome

use_mcp_tool({ server_name: "chrome-debug", tool_name: "launch_chrome", arguments: { executablePath: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe", url: "https://example.com" } })

Lanzamiento con perfil personalizado

use_mcp_tool({ server_name: "chrome-debug", tool_name: "launch_chrome", arguments: { executablePath: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe", userDataDir: "path/to/chrome/profile", disableAutomationControlled: true } })

Inyectar script de usuario

use_mcp_tool({ server_name: "chrome-debug", tool_name: "launch_chrome", arguments: { url: "https://example.com", userscriptPath: "path/to/userscript.js" } })

Evaluar JavaScript

use_mcp_tool({ server_name: "chrome-debug", tool_name: "evaluate", arguments: { expression: "document.title" } })

Obtener registros de la consola

use_mcp_tool({ server_name: "chrome-debug", tool_name: "get_console_logs", arguments: { clear: true } })

<<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA

=======

padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga)

Ejemplos de interacción de páginas

Haga clic en un elemento

use_mcp_tool({ server_name: "chrome-debug", tool_name: "click", arguments: { selector: "#submit-button", delay: 500 } })

Escriba en la entrada

use_mcp_tool({ server_name: "chrome-debug", tool_name: "type", arguments: { selector: "#search-input", text: "search query", delay: 100 } })

Seleccione del menú desplegable

use_mcp_tool({ server_name: "chrome-debug", tool_name: "select", arguments: { selector: "#country-select", value: "US" } })

Esperar a Element

use_mcp_tool({ server_name: "chrome-debug", tool_name: "wait_for_selector", arguments: { selector: ".loading-complete", visible: true, timeout: 5000 } })

Tomar captura de pantalla

use_mcp_tool({ server_name: "chrome-debug", tool_name: "screenshot", arguments: { path: "screenshot.png", fullPage: true } })

Establecer el tamaño de la ventana gráfica

use_mcp_tool({ server_name: "chrome-debug", tool_name: "set_viewport", arguments: { width: 1920, height: 1080, deviceScaleFactor: 1 } })

Ejemplos de gestión de pestañas

Listar todas las pestañas

use_mcp_tool({ server_name: "chrome-debug", tool_name: "list_tabs", arguments: {} })

Abrir nueva pestaña

use_mcp_tool({ server_name: "chrome-debug", tool_name: "new_tab", arguments: { url: "https://example.com" } })

Cambiar a pestaña

use_mcp_tool({ server_name: "chrome-debug", tool_name: "switch_tab", arguments: { tabId: "tab-id-from-list-tabs" } })

Cerrar pestaña

use_mcp_tool({ server_name: "chrome-debug", tool_name: "close_tab", arguments: { tabId: "tab-id-from-list-tabs" } })

<<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA <<<<<<< CABEZA

padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga) ======= padre de 64acbb3 (Agregar archivos mediante carga)

Dependencias

Este proyecto utiliza los siguientes paquetes de código abierto:

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Contribuyendo

Consulte nuestra Guía de contribuciones para obtener detalles sobre cómo realizar contribuciones.

Expresiones de gratitud

padre de 8a57443 (Fusionar solicitud de extracción n.° 4 de robertheadley/feature/puppeteer-commands) =======

padre de 64acbb3 (Agregar archivos mediante carga) =======

padre de 64acbb3 (Agregar archivos mediante carga) =======

padre de 64acbb3 (Agregar archivos mediante carga) =======

padre de 64acbb3 (Agregar archivos mediante carga) =======

padre de 64acbb3 (Agregar archivos mediante carga) =======

padre de 64acbb3 (Agregar archivos mediante carga) =======

padre de 64acbb3 (Agregar archivos mediante carga)

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Controla el navegador Chrome con capacidades de depuración, lo que permite la automatización de páginas, la gestión de extensiones y la inyección de scripts de usuario a través del Protocolo de contexto de modelo.

  1. Features
    1. Core Browser Features
    2. Greasemonkey API Support
    3. Resource Management
    4. Debug Features
  2. Installation
    1. Quick Start
      1. Documentation
        1. Core Features
          1. Browser Management
          2. Greasemonkey API
          3. Resource Interception
        2. Implementation Details
          1. Logging System
          2. Error Handling
        3. Dependencies
          1. Development
            1. Prerequisites
            2. Setup
          2. License
            1. Contributing
              1. Acknowledgments
                1. Based on the original chrome-debug-mcp by Robert Headley.
                  1. Chrome Debug MCP Server
                    1. <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
                      1. Features
                    2. <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
                      1. Page Automation
                      2. Tab Management
                      3. Debugging Capabilities
                      4. Userscript Support
                      5. Extension Integration
                      6. Installation
                      7. Usage
                    3. <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
                      1. Basic Chrome Launch
                      2. Launch with Custom Profile
                      3. Inject Userscript
                      4. Evaluate JavaScript
                      5. Get Console Logs
                    4. <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
                      1. Page Interaction Examples
                      2. Tab Management Examples
                      3. Dependencies
                      4. License
                      5. Contributing
                      6. Acknowledgments
                    ID: nguhnsghor