Opera DevTools MCP
OfficialOpera DevTools MCP
Esta es una bifurcación de chrome-devtools-mcp (Copyright 2025 Google LLC), ampliada con funciones de IA de Opera Neon.
opera-devtools-mcp permite que tu agente de codificación (como Claude, Cursor o Copilot) controle e inspeccione un navegador en vivo. Actúa como un servidor del Protocolo de Contexto de Modelo (MCP, por sus siglas en inglés), brindando a tu asistente de codificación con IA acceso a todo el poder de DevTools para una automatización fiable, depuración en profundidad y análisis de rendimiento. Cuando está conectado a Opera Neon, también expone las capacidades de IA integradas de Opera.
Referencia de herramientas | Registro de cambios | Contribuir | Solución de problemas | Principios de diseño
Related MCP server: Chrome DevTools MCP
Características principales
Herramientas de IA de Opera Neon: interactúa con la IA integrada de Opera directamente desde tu agente de codificación: chatea, realiza acciones en la página, genera contenido y ejecuta investigaciones.
Obtén información de rendimiento: utiliza Chrome DevTools para grabar trazas y extraer información de rendimiento procesable.
Depuración avanzada del navegador: analiza solicitudes de red, toma capturas de pantalla y consulta los mensajes de la consola del navegador (con seguimientos de pila con mapas de origen).
Automatización fiable: utiliza puppeteer para automatizar acciones en el navegador y esperar automáticamente los resultados de las acciones.
Herramientas de IA de Opera Neon
Estas herramientas solo están disponibles cuando se conecta a Opera Neon mediante --browser-url.
Herramienta | Descripción |
| Envía un mensaje de chat a la IA integrada de Opera y devuelve la respuesta. |
| Indica a la IA integrada de Opera que realice una acción en la página actual. |
| Pide a la IA integrada de Opera que cree o genere contenido. |
| Pide a la IA integrada de Opera que investigue un tema. Admite los modos de investigación |
Avisos legales
opera-devtools-mcp expone el contenido de la instancia del navegador a los clientes MCP, lo que les permite inspeccionar, depurar y modificar cualquier dato del navegador o de DevTools. Evita compartir información confidencial o personal que no desees compartir con los clientes MCP.
Las herramientas de rendimiento pueden enviar URL de seguimiento a la API de Google CrUX para obtener datos de experiencia de usuario reales. Para deshabilitar esto, ejecuta con el indicador --no-performance-crux.
Requisitos
Node.js v20.19 o una versión más reciente de mantenimiento LTS más reciente.
Un navegador basado en Chromium (Chrome u Opera Neon).
Primeros pasos
Añade la siguiente configuración a tu cliente MCP:
{
"mcpServers": {
"opera-devtools": {
"command": "npx",
"args": ["-y", "opera-devtools-mcp@latest"]
}
}
}[!NOTA] El uso de
opera-devtools-mcp@latestgarantiza que tu cliente MCP utilice siempre la versión más reciente del servidor Opera DevTools MCP.
Conexión a Opera Neon
Para usar las herramientas de IA de Opera Neon, inicia Opera Neon con la depuración remota habilitada y conéctate mediante --browser-url:
{
"mcpServers": {
"opera-devtools": {
"command": "npx",
"args": [
"-y",
"opera-devtools-mcp@latest",
"--browser-url=http://127.0.0.1:9222"
]
}
}
}Inicia Opera Neon con el puerto de depuración remota:
# macOS
/Applications/Opera\ Neon.app/Contents/MacOS/Opera\ Neon --remote-debugging-port=9222 --user-data-dir=/tmp/opera-profileConfiguración del cliente MCP
claude mcp add opera-devtools --scope user npx opera-devtools-mcp@latestVe a Configuración de Cursor -> MCP -> Nuevo servidor MCP. Usa la configuración proporcionada anteriormente.
Sigue la guía de configuración de MCP de VS Code usando la configuración estándar anterior, o usa la CLI:
code --add-mcp '{"name":"opera-devtools","command":"npx","args":["-y","opera-devtools-mcp"],"env":{}}'Tu primer mensaje
Introduce el siguiente mensaje en tu cliente MCP para comprobar que todo funciona:
Check the performance of https://opera.comTu cliente MCP debería abrir el navegador y grabar un seguimiento de rendimiento.
[!NOTA] El servidor MCP iniciará el navegador automáticamente cuando el cliente MCP utilice una herramienta que requiera una instancia del navegador en ejecución. Conectarse al servidor Opera DevTools MCP por sí solo no iniciará el navegador automáticamente.
Herramientas
Si tienes algún problema, consulta nuestra guía de solución de problemas.
Automatización de entrada (10 herramientas)
Automatización de navegación (6 herramientas)
Emulación (2 herramientas)
Rendimiento (3 herramientas)
Red (2 herramientas)
Depuración (8 herramientas)
Memoria (12 herramientas)
Opera (8 herramientas)
Extensiones (5 herramientas)
Terceros (2 herramientas)
WebMCP (2 herramientas)
Aplicaciones web progresivas (4 herramientas)
Configuración
El servidor Opera DevTools MCP admite las siguientes opciones de configuración:
--autoConnect/--auto-connectSi se especifica, se conecta automáticamente a un navegador (Chrome 144+) que se ejecuta localmente desde el directorio de datos de usuario identificado por el parámetro de canal (el canal predeterminado es stable). Requiere que el servidor de depuración remota se inicie en la instancia de Chrome mediante chrome://inspect/#remote-debugging.Tipo: boolean
Predeterminado:
false
--browserUrl/--browser-url,-uConéctate a una instancia de Chrome en ejecución y depurable (p. ej.,http://127.0.0.1:9222). Para más detalles, consulta: https://github.com/operasoftware/opera-devtools-mcp#connecting-to-a-running-chrome-instance.Tipo: string
Predeterminado:
false
--wsEndpoint/--ws-endpoint,-wPunto de conexión WebSocket para conectarse a una instancia de Chrome en ejecución (p. ej., ws://127.0.0.1:9222/devtools/browser/). Alternativa a --browserUrl.Tipo: string
Predeterminado:
false
--wsHeaders/--ws-headersCabeceras personalizadas para la conexión WebSocket en formato JSON (p. ej., '{"Authorization":"Bearer token"}'). Solo funciona con --wsEndpoint.Tipo: string
Predeterminado:
false
--headlessIndica si se debe ejecutar en modo headless (sin interfaz de usuario).Tipo: boolean
Predeterminado:
false
--executablePath/--executable-path,-eRuta al ejecutable personalizado de Chrome.Tipo: string
Predeterminado:
false
--isolatedSi se especifica, crea un directorio de datos de usuario temporal que se limpia automáticamente al cerrar el navegador. El valor predeterminado es false.Tipo: boolean
Predeterminado:
false
--userDataDir/--user-data-dirRuta al directorio de datos de usuario para Chrome. El valor predeterminado es $HOME/.cache/opera-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLETipo: string
Predeterminado:
false
--channelEspecifica un canal de Chrome diferente que se deba usar. El valor predeterminado es la versión del canal stable.Tipo: string
Opciones:
canary,dev,beta,stablePredeterminado:
false
--logFile/--log-fileRuta a un archivo en el que escribir los registros de depuración. Establece la variable de entornoDEBUGen*para habilitar el registro detallado. Útil para enviar informes de errores.Tipo: string
Predeterminado:
false
--viewportTamaño de viewport inicial para las instancias de Chrome iniciadas por el servidor. Por ejemplo,1280x720. En modo headless, el tamaño máximo es 3840x2160px.Tipo: string
Predeterminado:
false
--proxyServer/--proxy-serverConfiguración del servidor proxy para Chrome que se pasa como --proxy-server al iniciar el navegador. Consulta https://www.chromium.org/developers/design-documents/network-settings/ para obtener más detalles.Tipo: string
Predeterminado:
false
--acceptInsecureCerts/--accept-insecure-certsSi está habilitado, ignora los errores relativos a los certificados autofirmados y caducados. Úsalo con precaución.Tipo: boolean
Predeterminado:
false
--experimentalPageIdRouting/--experimental-page-id-routingIndica si se debe exponer pageId en las herramientas de ámbito de página y enrutar las solicitudes por ID de página (útil para sesiones de agente concurrentes).Tipo: boolean
Predeterminado:
false
--experimentalDevtools/--experimental-devtoolsIndica si se debe habilitar la automatización sobre los objetivos de DevTools.Tipo: boolean
Predeterminado:
false
--experimentalVision/--experimental-visionIndica si se deben habilitar las herramientas basadas en coordenadas, como click_at(x,y). Normalmente requiere un modelo de uso de ordenador capaz de producir coordenadas precisas a partir de capturas de pantalla.Tipo: boolean
Predeterminado:
false
--memoryDebugging/--memory-debugging,-experimentalMemoryIndica si se deben habilitar las herramientas de depuración de memoria.Tipo: boolean
Predeterminado:
false
--experimentalStructuredContent/--experimental-structured-contentIndica si se debe generar contenido con formato estructurado.Tipo: boolean
Predeterminado:
false
--experimentalIncludeAllPages/--experimental-include-all-pagesIndica si se deben incluir todos los tipos de páginas, como webviews o páginas en segundo plano, como páginas.Tipo: boolean
Predeterminado:
false
--experimentalScreencast/--experimental-screencastExpone herramientas experimentales de screencast (requiere ffmpeg). Instala ffmpeg https://www.ffmpeg.org/download.html y asegúrate de que esté disponible en el PATH del servidor MCP.Tipo: boolean
Predeterminado:
false
--experimentalFfmpegPath/--experimental-ffmpeg-pathRuta al ejecutable de ffmpeg para la grabación de screencast.Tipo: string
Predeterminado:
false
--categoryExperimentalWebmcp/--category-experimental-webmcpEstablécelo en true para habilitar las herramientas de depuración de WebMCP. Requiere Chrome 150+ con la siguiente marca:--enable-features=WebMCPTipo: boolean
Predeterminado:
false
--chromeArg/--chrome-argArgumentos adicionales para Chrome. Solo se aplica cuando Chrome es iniciado por opera-devtools-mcp.Tipo: array
Predeterminado:
false
--blockedUrlPattern/--blocked-url-patternRestringe el acceso de red del navegador bloqueando los patrones de URL especificados (usa https://urlpattern.spec.whatwg.org/). Se desconecta silenciosamente de los objetivos con URL bloqueadas al conectar y bloquea las solicitudes en tiempo de ejecución (incluidas las navegaciones y los subrecursos). Acepta una matriz de patrones.Tipo: array
Predeterminado:
false
--allowedUrlPattern/--allowed-url-patternRestringe el acceso de red del navegador permitiendo únicamente los patrones de URL especificados (usa https://urlpattern.spec.whatwg.org/). Requiere Chrome 149+. Se desconecta silenciosamente de los objetivos con URL no permitidas al conectar y bloquea las solicitudes en tiempo de ejecución (incluidas las navegaciones y los subrecursos). Acepta una matriz de patrones.Tipo: array
Predeterminado:
false
--ignoreDefaultChromeArg/--ignore-default-chrome-argDesactiva explícitamente los argumentos predeterminados para Chrome. Solo se aplica cuando Chrome es iniciado por opera-devtools-mcp.Tipo: array
Predeterminado:
false
--categoryEmulation/--category-emulationEstablécelo en false para excluir las herramientas relacionadas con la emulación.Tipo: boolean
Predeterminado:
true
--categoryPerformance/--category-performanceEstablécelo en false para excluir las herramientas relacionadas con el rendimiento.Tipo: boolean
Predeterminado:
true
--categoryNetwork/--category-networkEstablécelo en false para excluir las herramientas relacionadas con la red.Tipo: boolean
Predeterminado:
true
--categoryExtensions/--category-extensionsEstablécelo en true para incluir las herramientas relacionadas con las extensiones. Nota: esta función actualmente solo es compatible con una conexión por pipe. autoConnect, browserUrl y wsEndpoint no son compatibles con esta función hasta que se publique la 149.Tipo: boolean
Predeterminado:
false
--categoryExperimentalThirdParty/--category-experimental-third-partyEstablécelo en true para habilitar las herramientas de desarrollador de terceros expuestas por la propia página inspeccionada.Tipo: boolean
Predeterminado:
false
--categoryPwa/--category-pwaEstablécelo en true para incluir herramientas para automatizar aplicaciones web progresivas (instalación, inicio, desinstalación y estado del sistema operativo). Esta función solo es compatible con una conexión por pipe; autoConnect, browserUrl y wsEndpoint no son compatibles.Tipo: boolean
Predeterminado:
false
--performanceCrux/--performance-cruxEstablécelo en true para habilitar el envío de URLs de las trazas de rendimiento a la API de CrUX y obtener datos de rendimiento de campo.Tipo: boolean
Predeterminado:
false
--usageStatistics/--usage-statisticsEstablécelo en true para aceptar la recopilación de estadísticas de uso. Google recopila datos de uso para mejorar la herramienta, gestionados según la Política de Privacidad de Google (https://policies.google.com/privacy). Esto es independiente de las métricas del navegador Chrome. Se deshabilita si las variables de entornoOPERA_DEVTOOLS_NO_USAGE_STATISTICSoCIestán definidas.Tipo: boolean
Predeterminado:
false
--screenshotFormat/--screenshot-formatSobrescribe el formato de salida predeterminado que usa take_screenshot cuando quien lo llama no especifica uno. JPEG y WebP son ~3-5 veces más pequeños que PNG, lo que ayuda a reducir el tamaño del contexto en conversaciones de IA. Si no se define, se conserva el valor predeterminado actual ("png").Tipo: string
Opciones:
jpeg,png,webpPredeterminado:
false
--screenshotQuality/--screenshot-qualitySobrescribe la calidad de compresión predeterminada (0-100) que usa take_screenshot para JPEG y WebP cuando quien lo llama no especifica una. Los valores más bajos significan archivos más pequeños. Se ignora para PNG. Si no se define, se conserva el valor predeterminado de Puppeteer.Tipo: number
Predeterminado:
false
--screenshotMaxWidth/--screenshot-max-widthAnchura máxima en píxeles para las capturas de pantalla. Si la imagen capturada es más ancha, se reduce su tamaño (conservando la relación de aspecto) antes de devolverse. Reduce el tamaño del contexto en conversaciones de IA. Si no se define, no se realiza ningún redimensionamiento.Tipo: number
Predeterminado:
false
--screenshotMaxHeight/--screenshot-max-heightAltura máxima en píxeles para las capturas de pantalla. Si la imagen capturada es más alta, se reduce su tamaño (conservando la relación de aspecto) antes de devolverse. Se puede combinar con --screenshot-max-width; el factor de escala menor es el que prevalece. Si no se define, no se realiza ningún redimensionamiento.Tipo: number
Predeterminado:
false
--slimExpone un conjunto "slim" de 3 herramientas que cubren únicamente la navegación, la ejecución de scripts y las capturas de pantalla. Útil para tareas básicas del navegador.Tipo: boolean
Predeterminado:
false
--redactNetworkHeaders/--redact-network-headersSi es true, censura algunas de las cabeceras de red consideradas sensibles antes de devolverlas al cliente.Tipo: boolean
Predeterminado:
false
--allowUnrestrictedPaths/--allow-unrestricted-pathsSi se define, desactiva la restricción de rutas predeterminada que se aplica cuando el cliente MCP no negocia la capacidad de roots. De forma predeterminada, las herramientas de escritura de archivos están restringidas al directorio temporal del sistema operativo cuando no se configuran roots. Úsalo solo al conectar un cliente local de confianza que no implemente roots de MCP y que requiera acceso a rutas fuera del directorio temporal.Tipo: boolean
Predeterminado:
false
Pásalos mediante la propiedad args en la configuración JSON. Por ejemplo:
{
"mcpServers": {
"opera-devtools": {
"command": "npx",
"args": [
"opera-devtools-mcp@latest",
"--headless=true",
"--isolated=true"
]
}
}
}Conexión mediante WebSocket con cabeceras personalizadas
{
"mcpServers": {
"opera-devtools": {
"command": "npx",
"args": [
"opera-devtools-mcp@latest",
"--wsEndpoint=ws://127.0.0.1:9222/devtools/browser/<id>",
"--wsHeaders={\"Authorization\":\"Bearer YOUR_TOKEN\"}"
]
}
}
}Conceptos
Directorio de datos de usuario
opera-devtools-mcp inicia una instancia del navegador usando el siguiente directorio de datos de usuario:
Linux / macOS:
$HOME/.cache/chrome-devtools-mcp/chrome-profile-$CHANNELWindows:
%HOMEPATH%/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL
El directorio de datos de usuario no se borra entre ejecuciones. Establece la opción isolated en true para usar en su lugar un directorio de datos de usuario temporal que se borrará automáticamente después de cerrar el navegador.
Conexión a una instancia de navegador en ejecución
De forma predeterminada, el servidor iniciará una nueva instancia de Chrome con un perfil dedicado. En su lugar, puedes conectarte a una instancia en ejecución mediante --browser-url:
{
"mcpServers": {
"opera-devtools": {
"command": "npx",
"args": [
"opera-devtools-mcp@latest",
"--browser-url=http://127.0.0.1:9222"
]
}
}
}Inicia el navegador con el puerto de depuración remota habilitado:
macOS (Chrome)
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stablemacOS (Opera Neon)
/Applications/Opera\ Neon.app/Contents/MacOS/Opera\ Neon --remote-debugging-port=9222 --user-data-dir=/tmp/opera-profileLinux
/usr/bin/google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stableWindows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="%TEMP%\chrome-profile-stable"[!WARNING] Habilitar el puerto de depuración remota abre un puerto de depuración en la instancia del navegador en ejecución. Cualquier aplicación de tu máquina puede conectarse a este puerto y controlar el navegador. Asegúrate de no estar navegando por ningún sitio web sensible mientras el puerto de depuración esté abierto.
Depuración de Chrome en Android
Consulta estas instrucciones.
Limitaciones conocidas
Consulta Solución de problemas.
Licencia
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI coding assistants to control and inspect a live Chrome browser through Chrome DevTools. Provides browser automation, performance analysis, debugging capabilities, and network request monitoring.2,211,10449,605Apache 2.0
- AlicenseAqualityCmaintenanceEnables AI coding assistants to control and inspect a live Chrome browser for automation, debugging, performance analysis, and screenshot capture through Chrome DevTools.262,211,1043Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI coding assistants to control and inspect a live Chrome browser for automation, debugging, performance analysis, network monitoring, and DOM interaction through Chrome DevTools Protocol.2,211,104Apache 2.0
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI coding assistants to control and inspect a live Chrome browser for automated debugging, performance analysis, and web interaction. It leverages Puppeteer and Chrome DevTools to provide capabilities like network monitoring, console logging, and automated browser actions.
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/operasoftware/opera-devtools-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server