MCP Browser Extension (chrome-mcp)

Permite que Claude, Cursor o cualquier cliente MCP funcione en el Chrome en el que ya has iniciado sesión. Lista de dominios permitidos con denegación por defecto.

Documentación

La extensión de navegador MCP para el Chrome en el que ya has iniciado sesión.

Deja que Claude Code, Cursor o cualquier agente MCP use tu Chrome real, no un navegador nuevo que saluda a cada sitio como un desconocido. Tus sesiones, tu 2FA ya hecho. Un servidor MCP de navegador más una extensión, 40 herramientas, denegar-todo hasta que digas lo contrario.

claude mcp add chrome-mcp -s user -- \
  npx -y @mehmoodqureshi/chrome-mcp \
  --allow-domain example.com --enable-mutations --persist-token

ejecución emparejada/grabada, 9 oct 2026history.jsonl

  1. lote { ops: [tab_new x3] }
  2. 3 pestañas en segundo plano abiertas news.ycombinator.com, github.com, modelcontextprotocol.io en 149 ms
  3. lote { ops: [read_as_markdown x3] }
  4. 3 páginas como markdown 10 KB, 31 KB y 3 KB, leídas en paralelo en 179 ms
  5. instantánea { interactiveOnly: true }
  6. enlace "Hacker News" ref=e2 enlace "new" ref=e3, en 7 ms
  7. captura de pantalla { tab: github.com/Mehmoodqureshi/chrome-mcp }
  8. PNG de 1710 x 946 en 867 ms sesión iniciada: el repositorio muestra Configuración y Desanclar

Por qué una extensión de navegador MCP, no un navegador sin interfaz

La mayoría de los servidores MCP de navegador lanzan su propio Chromium y entregan a tu agente una ventana sin sesión iniciada. MCP Browser Extension hace lo contrario. Cómo usa Claude tu Chrome con sesión iniciada.

Tus sesiones, no las de un desconocido

Impulsa el Chrome que ya tienes abierto. Los paneles con sesión iniciada, los paneles de administración y los CRM funcionan sin credenciales en ningún archivo de configuración y sin tener que rehacer el 2FA.

Denegar-todo por defecto

Lista de dominios permitidos vacía, eval desactivado, descargas desactivadas, mutaciones desactivadas. Tú nombras los dominios y las capacidades; todo lo demás se rechaza antes de que llegue a la página.

Concurrencia real de múltiples pestañas

Una sola llamada por lotes se distribuye entre pestañas, en paralelo o en serie, con serialización por pestaña para que nada compita. El tiempo de pared es la pestaña más lenta, no la suma.

Instantáneas sobre las que el modelo puede actuar

Una instantánea de accesibilidad con referencias estables, o un diff de lo que cambió desde la última. Apunta a elementos por rol y nombre sin adivinar selectores CSS.

Ve por qué se rompió una página

La salida de consola, las solicitudes de red y los diálogos nativos se capturan, para que el agente aprenda qué ocurrió en lugar de solo cómo se ve la página después.

Un rastro de auditoría que puedes leer

Cada llamada se registra en history.jsonl con la URL, el veredicto de la política, la duración, los bytes devueltos y los secretos eliminados. Los valores de contraseña siempre se enmascaran.

Una ejecución real, no un carrete de demostración

Una carpeta de tarea, diez sitios de revisión, treinta pestañas a la vez. Cada página que lee termina en results/ con su URL, cada acción termina en el registro, y nada se escribió a mano. Grabado en una ventana normal de Chrome con la extensión emparejada.

Lee las guías

Treinta pestañas, una llamada

Abre las páginas en segundo plano y luego léelas todas a la vez. Cada suboperación pasa por la misma puerta de política, límite de velocidad y envoltura de errores que una llamada directa. Las operaciones paralelas deben nombrar su pestaña, para que nada se enrute mal.

Lee la guía de lotes

{ "name": "batch", "arguments": { "ops": [
  { "tool": "tab_new", "args": { "url": "https://a.example/p" } },
  { "tool": "tab_new", "args": { "url": "https://b.example/p" } },
  { "tool": "tab_new", "args": { "url": "https://c.example/p" } }
]}}

{ "name": "batch", "arguments": { "ops": [
  { "tool": "read_as_markdown", "args": { "tabId": "<a>" } },
  { "tool": "read_as_markdown", "args": { "tabId": "<b>" } },
  { "tool": "read_as_markdown", "args": { "tabId": "<c>" } }
]}}

Configura el servidor MCP de Chrome en tres pasos

  1. 01

    Registra el servidor

    Un comando en Claude Code, o un bloque JSON de cinco líneas en cualquier otro host MCP. npx obtiene el paquete; no hay nada más que instalar.
  2. 02

    Añade la extensión

    Carga la carpeta simple que el servidor deja en tu directorio de inicio a través de chrome://extensions, o instálala desde Chrome Web Store.
  3. 03

    Empareja una vez

    La carpeta incluida se empareja sola: el servidor escribe un archivo de emparejamiento 0600 en ella y la insignia se vuelve verde. Una instalación desde Web Store se empareja una vez desde su página de Opciones.
MCP host (Claude Code / Desktop / Cursor)
    |  JSON-RPC over stdio
    v
npx @mehmoodqureshi/chrome-mcp        policy gate, rate limit, audit log
    |  localhost WebSocket, per-boot 256-bit token
    v
MV3 extension                            chrome.scripting / chrome.tabs
    |
    v
your Chrome, your sessions

40 herramientas MCP de navegador, generadas desde el código fuente

La referencia se construye desde el mismo catálogo que anuncia el servidor, por lo que no puede desviarse de lo que ve tu agente.

Referencia completa

  • Pestañas

    Abre, lista, enfoca y cierra pestañas en la ventana real de Chrome. tabs_list tab_new tab_select tab_close
  • Navegación

    Mueve una pestaña entre páginas y espera a que la página se asiente. navigate back forward reload wait_for
  • Interacción

    Haz clic, escribe, selecciona y desplázate. Apunta por selector CSS, referencia de instantánea, o rol y nombre accesible. click type select_option press hover scroll fill_form upload_file
  • Lectura

    Obtén la página como texto, markdown, HTML, una instantánea de accesibilidad, una captura de pantalla o un PDF. snapshot get_text read_as_markdown get_html extract_links screenshot print_pdf frames_list
  • Estado y scripting

    Cookies, almacenamiento, descargas y evaluación de JavaScript. get_cookies storage download_file eval
  • Observadores

    Salida de consola, solicitudes de red y diálogos nativos. Requiere --enable-observers. console_logs network_log dialogs
  • Sesión y artefactos

    Estado del backend, detección de muro de inicio de sesión, y dónde se almacenan descargas, resultados y capturas de pantalla. chrome_status auth_check profile_use task_new tasks_list task_status
  • Lote

    Ejecuta muchas llamadas de herramientas en una sola solicitud, en paralelo o en serie. batch
  • Otros

    Herramientas aún no categorizadas. profile_rename

Nada está permitido hasta que tú lo permitas

La lista de permitidos decide qué páginas pueden leerse. Los valores de contraseña siempre se enmascaran. --redact elimina JWT, claves de nube y tokens de portador antes del límite de salida, para que una lectura truncada no pueda filtrar lo que una completa ocultaría. El token de emparejamiento es 0600 en disco y el servidor falla de forma segura si no lo es.

  • Lista de dominios permitidos vacía hasta que añadas una
  • Los valores de contraseña siempre se enmascaran
  • --redact elimina JWT, claves de nube y tokens de portador
  • El token de emparejamiento es 0600 y el servidor falla de forma segura

Desde el blog

Guías de configuración para cada agente, y cómo se comparan los servidores MCP de navegador.

Todas las publicaciones

Preguntas que hace la gente

¿Qué es una extensión de navegador MCP?

Un servidor MCP más una extensión de Chrome. Tu agente habla con el servidor a través de MCP, y la extensión lleva a cabo cada llamada dentro del Chrome que ya tienes abierto, para que el agente vea los sitios en los que has iniciado sesión.

¿Con qué herramientas de IA funciona?

Claude Code, Claude Desktop, Cursor, Windsurf y cualquier otro host MCP que pueda iniciar un servidor con npx.

¿Es seguro darle a un agente mi navegador con sesión iniciada?

Empieza con denegar-todo: una lista de dominios permitidos vacía, con eval, descargas y mutaciones desactivadas hasta que las actives. Los valores de contraseña siempre se enmascaran y cada llamada se escribe en un registro de auditoría.

¿Es seguro un MCP de navegador?

Depende de los valores predeterminados. Este empieza con denegar-todo: sin dominios, sin eval, sin descargas y sin clics ni escritura hasta que los permitas, y las lecturas están controladas por la misma lista de dominios permitidos que los clics. Los valores de los campos de contraseña nunca se devuelven, --redact elimina cadenas con forma de secreto antes del límite de salida, y cada llamada se registra en history.jsonl con la URL y el veredicto de permitir o denegar.

¿Necesito un navegador separado o un Chromium sin interfaz?

No. Impulsa el Chrome que ya usas, con tus cookies y tu 2FA ya hecho. Si quieres un navegador limpio sin sesión iniciada para pruebas, un servidor MCP sin interfaz como Playwright MCP encaja mejor.

¿Es gratis?

Sí. Es de código abierto bajo la licencia MIT, en npm como @mehmoodqureshi/chrome-mcp, con la extensión en Chrome Web Store.