Skip to main content
Glama

Opera DevTools MCP

这是 chrome-devtools-mcp(版权所有 2025 Google LLC)的一个分支,扩展了 Opera Neon AI 功能。

npm opera-devtools-mcp 包

opera-devtools-mcp 让你的编码代理(如 Claude、Cursor 或 Copilot)能够控制和检查实时浏览器。它作为一个模型上下文协议(MCP)服务器,为你的 AI 编码助手提供 DevTools 的全部功能,用于可靠的自动化、深入的调试和性能分析。当连接到 Opera Neon 时,它还提供 Opera 内置的 AI 功能。

工具参考 | 更新日志 | 贡献指南 | 故障排除 | 设计原则

Related MCP server: Chrome DevTools MCP

主要功能

  • Opera Neon AI 工具:直接从你的编码代理与 Opera 内置 AI 交互——聊天、执行页面操作、生成内容和进行研究。

  • 性能洞察:使用 Chrome DevTools 记录跟踪并提取可操作的性能洞察。

  • 高级调试:分析网络请求、截取屏幕截图并检查浏览器控制台消息(带源映射堆栈跟踪)。

  • 可靠自动化:使用 puppeteer 自动化浏览器操作并自动等待操作结果。

Opera Neon AI 工具

这些工具仅在通过 --browser-url 连接到 Opera Neon 时可用。

工具

描述

opera_chat

向 Opera 内置 AI 发送聊天提示并返回响应。

opera_do

指示 Opera 内置 AI 在当前页面上执行操作。

opera_make

让 Opera 内置 AI 创建或生成内容。

opera_research

让 Opera 内置 AI 研究一个主题。支持 localone-minutedeep 研究模式。

免责声明

opera-devtools-mcp 会将浏览器实例的内容暴露给 MCP 客户端,使其能够检查、调试和修改浏览器或 DevTools 中的任何数据。避免分享你不想与 MCP 客户端共享的敏感或个人信息。

性能工具可能会将跟踪 URL 发送到 Google CrUX API 以获取真实用户体验数据。要禁用此功能,请使用 --no-performance-crux 标志运行。

要求

快速开始

将以下配置添加到你的 MCP 客户端:

{
  "mcpServers": {
    "opera-devtools": {
      "command": "npx",
      "args": ["-y", "opera-devtools-mcp@latest"]
    }
  }
}

[!NOTE] 使用 opera-devtools-mcp@latest 可确保你的 MCP 客户端始终使用最新版本的 Opera DevTools MCP 服务器。

连接到 Opera Neon

要使用 Opera Neon AI 工具,请通过远程调试端口启动 Opera Neon,并使用 --browser-url 连接:

{
  "mcpServers": {
    "opera-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "opera-devtools-mcp@latest",
        "--browser-url=http://127.0.0.1:9222"
      ]
    }
  }
}

通过远程调试端口启动 Opera Neon:

# macOS
/Applications/Opera\ Neon.app/Contents/MacOS/Opera\ Neon --remote-debugging-port=9222 --user-data-dir=/tmp/opera-profile

MCP 客户端配置

claude mcp add opera-devtools --scope user npx opera-devtools-mcp@latest

转到 Cursor 设置 -> MCP -> 新建 MCP 服务器。使用上面提供的配置。

按照 VS Code MCP 配置指南 使用上面的标准配置,或使用 CLI:

code --add-mcp '{"name":"opera-devtools","command":"npx","args":["-y","opera-devtools-mcp"],"env":{}}'

你的第一个提示

在 MCP 客户端中输入以下提示以检查一切是否正常:

Check the performance of https://opera.com

你的 MCP 客户端应打开浏览器并记录性能跟踪。

[!NOTE] 一旦 MCP 客户端使用需要运行浏览器实例的工具,MCP 服务器将自动启动浏览器。仅连接到 Opera DevTools MCP 服务器本身不会自动启动浏览器。

工具

如果遇到任何问题,请查看我们的故障排除指南

配置

Opera DevTools MCP 服务器支持以下配置选项:

  • --autoConnect/ --auto-connect 如果指定,则自动连接到本地运行的浏览器(Chrome 144+),该浏览器使用由 channel 参数标识的用户数据目录(默认 channel 为 stable)。要求通过 chrome://inspect/#remote-debugging 在 Chrome 实例中启动远程调试服务器。

    • 类型: boolean

    • 默认值: false

  • --browserUrl/ --browser-url, -u 连接到正在运行且可调试的 Chrome 实例(例如 http://127.0.0.1:9222)。更多详情请参阅:https://github.com/operasoftware/opera-devtools-mcp#connecting-to-a-running-chrome-instance

    • 类型: string

    • 默认值: false

  • --wsEndpoint/ --ws-endpoint, -w 用于连接到正在运行的 Chrome 实例的 WebSocket 端点(例如 ws://127.0.0.1:9222/devtools/browser/)。是 --browserUrl 的替代方案。

    • 类型: string

    • 默认值: false

  • --wsHeaders/ --ws-headers 用于 WebSocket 连接的自定义请求头,JSON 格式(例如 '{"Authorization":"Bearer token"}')。仅与 --wsEndpoint 一起使用。

    • 类型: string

    • 默认值: false

  • --headless 是否以无头(无界面)模式运行。

    • 类型: boolean

    • 默认值: false

  • --executablePath/ --executable-path, -e 自定义 Chrome 可执行文件的路径。

    • 类型: string

    • 默认值: false

  • --isolated 如果指定,则创建一个临时的 user-data-dir,浏览器关闭后会自动清理。默认为 false。

    • 类型: boolean

    • 默认值: false

  • --userDataDir/ --user-data-dir Chrome 用户数据目录的路径。默认为 $HOME/.cache/opera-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE

    • 类型: string

    • 默认值: false

  • --channel 指定要使用的其他 Chrome 渠道。默认为 stable 渠道版本。

    • 类型: string

    • 可选值: canary, dev, beta, stable

    • 默认值: false

  • --logFile/ --log-file 用于写入调试日志的文件路径。将环境变量 DEBUG 设置为 * 以启用详细日志。有助于提交错误报告。

    • 类型: string

    • 默认值: false

  • --viewport 服务器启动的 Chrome 实例的初始视口大小。例如 1280x720。在无头模式下,最大尺寸为 3840x2160px。

    • 类型: string

    • 默认值: false

  • --proxyServer/ --proxy-server Chrome 的代理服务器配置,在启动浏览器时作为 --proxy-server 传入。详情请参阅 https://www.chromium.org/developers/design-documents/network-settings/

    • 类型: string

    • 默认值: false

  • --acceptInsecureCerts/ --accept-insecure-certs 如果启用,则忽略与自签名证书和过期证书相关的错误。请谨慎使用。

    • 类型: boolean

    • 默认值: false

  • --experimentalPageIdRouting/ --experimental-page-id-routing 是否在页面级工具上暴露 pageId,并按页面 ID 路由请求(对于并发代理会话很有用)。

    • 类型: boolean

    • 默认值: false

  • --experimentalDevtools/ --experimental-devtools 是否启用对 DevTools 目标的自动化操作

    • 类型: boolean

    • 默认值: false

  • --experimentalVision/ --experimental-vision 是否启用基于坐标的工具,例如 click_at(x,y)。通常需要一个能够通过查看截图生成准确坐标的 computer-use 模型。

    • 类型: boolean

    • 默认值: false

  • --memoryDebugging/ --memory-debugging, -experimentalMemory 是否启用内存调试工具。

    • 类型: boolean

    • 默认值: false

  • --experimentalStructuredContent/ --experimental-structured-content 是否输出结构化格式的内容。

    • 类型: boolean

    • 默认值: false

  • --experimentalIncludeAllPages/ --experimental-include-all-pages 是否将所有类型的页面(如 webviews 或后台页面)都作为页面包含在内。

    • 类型: boolean

    • 默认值: false

  • --experimentalScreencast/ --experimental-screencast 公开实验性的屏幕录制(screencast)工具(需要 ffmpeg)。安装 ffmpeg https://www.ffmpeg.org/download.html,并确保它在 MCP 服务器的 PATH 中可用。

    • 类型: boolean

    • 默认值: false

  • --experimentalFfmpegPath/ --experimental-ffmpeg-path 用于屏幕录制(screencast)的 ffmpeg 可执行文件路径。

    • 类型: string

    • 默认值: false

  • --categoryExperimentalWebmcp/ --category-experimental-webmcp 设置为 true 以启用调试 WebMCP 工具。需要 Chrome 150+ 并带有以下标志:--enable-features=WebMCP

    • 类型: boolean

    • 默认值: false

  • --chromeArg/ --chrome-arg Chrome 的附加参数。仅在 Chrome 由 opera-devtools-mcp 启动时适用。

    • 类型: array

    • 默认值: false

  • --blockedUrlPattern/ --blocked-url-pattern 通过阻止指定的 URL 模式来限制浏览器的网络访问(使用 https://urlpattern.spec.whatwg.org/)。连接时会静默地从具有被阻止 URL 的目标上分离,并阻止运行时请求(包括导航和子资源)。接受一个模式数组。

    • 类型: array

    • 默认值: false

  • --allowedUrlPattern/ --allowed-url-pattern 通过仅允许指定的 URL 模式来限制浏览器的网络访问(使用 https://urlpattern.spec.whatwg.org/)。需要 Chrome 149+。连接时会静默地从具有不允许 URL 的目标上分离,并阻止运行时请求(包括导航和子资源)。接受一个模式数组。

    • 类型: array

    • 默认值: false

  • --ignoreDefaultChromeArg/ --ignore-default-chrome-arg 显式禁用 Chrome 的默认参数。仅在 Chrome 由 opera-devtools-mcp 启动时适用。

    • 类型: array

    • 默认值: false

  • --categoryEmulation/ --category-emulation 设置为 false 以排除与模拟(emulation)相关的工具。

    • 类型: boolean

    • 默认值: true

  • --categoryPerformance/ --category-performance 设置为 false 以排除与性能(performance)相关的工具。

    • 类型: boolean

    • 默认值: true

  • --categoryNetwork/ --category-network 设置为 false 以排除与网络(network)相关的工具。

    • 类型: boolean

    • 默认值: true

  • --categoryExtensions/ --category-extensions 设置为 true 以包含与扩展(extensions)相关的工具。注意:此功能目前仅支持管道连接。在 149 发布之前,此功能不支持 autoConnect、browserUrl 和 wsEndpoint。

    • 类型: boolean

    • 默认值: false

  • --categoryExperimentalThirdParty/ --category-experimental-third-party 设置为 true 以启用由被检查页面本身公开的第三方开发者工具

    • 类型: boolean

    • 默认值: false

  • --categoryPwa/ --category-pwa 设置为 true 以包含用于自动化渐进式 Web 应用(Progressive Web Apps,安装、启动、卸载和操作系统状态)的工具。此功能仅支持管道连接;不支持 autoConnect、browserUrl 和 wsEndpoint。

    • 类型: boolean

    • 默认值: false

  • --performanceCrux/ --performance-crux 设置为 true 以启用将性能跟踪中的 URL 发送到 CrUX API,以获取实际性能数据。

    • 类型: boolean

    • 默认值: false

  • --usageStatistics/ --usage-statistics 设置为 true 以选择加入使用统计信息收集。Google 会收集使用数据以改进该工具,这些数据根据 Google 隐私政策(https://policies.google.com/privacy)处理。这与 Chrome 浏览器指标无关。如果设置了 OPERA_DEVTOOLS_NO_USAGE_STATISTICSCI 环境变量,则禁用。

    • 类型: boolean

    • 默认值: false

  • --screenshotFormat/ --screenshot-format 当调用方未指定格式时,覆盖 take_screenshot 使用的默认输出格式。JPEG 和 WebP 比 PNG 小约 3-5 倍,有助于减少 AI 对话中的上下文大小。未设置时保留现有默认值("png")。

    • 类型: string

    • 可选值: jpeg, png, webp

    • 默认值: false

  • --screenshotQuality/ --screenshot-quality 当调用方未指定时,覆盖 take_screenshot 用于 JPEG 和 WebP 的默认压缩质量(0-100)。值越低表示文件越小。对 PNG 无效。未设置时保留 Puppeteer 默认值。

    • 类型: number

    • 默认值: false

  • --screenshotMaxWidth/ --screenshot-max-width 截图的最大宽度(像素)。如果捕获的图像更宽,则在返回前会按比例缩小(保持宽高比)。可减少 AI 对话中的上下文大小。未设置表示不调整大小。

    • 类型: number

    • 默认值: false

  • --screenshotMaxHeight/ --screenshot-max-height 截图的最大高度(像素)。如果捕获的图像更高,则在返回前会按比例缩小(保持宽高比)。可与 --screenshot-max-width 结合使用;较小的缩放系数生效。未设置表示不调整大小。

    • 类型: number

    • 默认值: false

  • --slim 公开一组“精简”(slim)工具,仅包含 3 个工具,涵盖导航、脚本执行和截图。适用于基本浏览器任务。

    • 类型: boolean

    • 默认值: false

  • --redactNetworkHeaders/ --redact-network-headers 如果为 true,则在返回给客户端之前,对部分被视为敏感的网络请求头进行脱敏处理。

    • 类型: boolean

    • 默认值: false

  • --allowUnrestrictedPaths/ --allow-unrestricted-paths 如果设置,则禁用默认的路径限制,该限制在 MCP 客户端未协商 roots 能力时生效。默认情况下,当未配置 roots 时,文件写入工具被限制在操作系统临时目录内。仅在连接可信的本地客户端时使用此选项,该客户端未实现 MCP roots 且需要访问临时目录之外的路径。

    • 类型: boolean

    • 默认值: false

通过 JSON 配置中的 args 属性传递它们。例如:

{
  "mcpServers": {
    "opera-devtools": {
      "command": "npx",
      "args": [
        "opera-devtools-mcp@latest",
        "--headless=true",
        "--isolated=true"
      ]
    }
  }
}

通过带自定义请求头的 WebSocket 连接

{
  "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\"}"
      ]
    }
  }
}

概念

用户数据目录

opera-devtools-mcp 使用以下用户数据目录启动浏览器实例:

  • Linux / macOS: $HOME/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL

  • Windows: %HOMEPATH%/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL

用户数据目录在每次运行之间不会被清除。将 isolated 选项设置为 true 以改用临时用户数据目录,该目录会在浏览器关闭后自动清除。

连接到正在运行的浏览器实例

默认情况下,服务器会使用专用配置文件启动一个新的 Chrome 实例。您也可以通过 --browser-url 连接到正在运行的实例:

{
  "mcpServers": {
    "opera-devtools": {
      "command": "npx",
      "args": [
        "opera-devtools-mcp@latest",
        "--browser-url=http://127.0.0.1:9222"
      ]
    }
  }
}

在启用远程调试端口的情况下启动浏览器:

macOS (Chrome)

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable

macOS (Opera Neon)

/Applications/Opera\ Neon.app/Contents/MacOS/Opera\ Neon --remote-debugging-port=9222 --user-data-dir=/tmp/opera-profile

Linux

/usr/bin/google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable

Windows

"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="%TEMP%\chrome-profile-stable"

[!WARNING] 启用远程调试端口会在正在运行的浏览器实例上打开一个调试端口。您机器上的任何应用程序都可以连接到该端口并控制浏览器。请确保在调试端口打开期间不要浏览任何敏感网站。

在 Android 上调试 Chrome

请参阅这些说明

已知限制

请参阅故障排除

许可证

Apache 2.0。请参阅 LICENSENOTICE

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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,104
    Apache 2.0
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables 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.

View all related MCP servers

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,

View all MCP Connectors

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/operasoftware/opera-devtools-mcp'

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