Opera DevTools MCP
OfficialOpera DevTools MCP
이것은 chrome-devtools-mcp의 포크이며 (Copyright 2025 Google LLC), Opera Neon AI 기능이 추가되었습니다.
opera-devtools-mcp는 코딩 에이전트(예: Claude, Cursor, Copilot)가 실행 중인 브라우저를 제어하고 검사할 수 있게 해줍니다. 이는 Model-Context-Protocol(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의 내장 AI에 채팅 프롬프트를 보내고 응답을 반환합니다. |
| Opera의 내장 AI에게 현재 페이지에서 작업을 수행하도록 지시합니다. |
| Opera의 내장 AI에게 콘텐츠를 만들거나 생성하도록 요청합니다. |
| Opera의 내장 AI에게 주제를 조사하도록 요청합니다. |
면책 조항
opera-devtools-mcp는 브라우저 인스턴스의 콘텐츠를 MCP 클라이언트에 노출하여 브라우저 또는 DevTools의 데이터를 검사, 디버깅, 수정할 수 있게 합니다. MCP 클라이언트와 공유하고 싶지 않은 민감하거나 개인적인 정보는 공유하지 마세요.
성능 도구는 실제 사용자 경험 데이터를 가져오기 위해 트레이스 URL을 Google CrUX API로 보낼 수 있습니다. 이를 비활성화하려면 --no-performance-crux 플래그를 사용하여 실행하세요.
요구 사항
Node.js v20.19 또는 더 새로운 최신 유지 관리 LTS 버전.
Chromium 기반 브라우저(Chrome 또는 Opera Neon).
시작하기
다음 구성을 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-profileMCP 클라이언트 구성
claude mcp add opera-devtools --scope user npx opera-devtools-mcp@latestCursor Settings -> MCP -> New MCP Server로 이동하세요. 위에서 제공된 구성을 사용하세요.
위의 표준 구성을 사용하여 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.comMCP 클라이언트는 브라우저를 열고 성능 트레이스를 기록할 것입니다.
[!NOTE] MCP 서버는 MCP 클라이언트가 실행 중인 브라우저 인스턴스가 필요한 도구를 사용할 때 자동으로 브라우저를 시작합니다. Opera DevTools MCP 서버에 단독으로 연결하는 것만으로는 브라우저가 자동으로 시작되지 않습니다.
도구
문제가 발생하면 문제 해결 가이드를 확인하세요.
입력 자동화 (10개 도구)
탐색 자동화 (6개 도구)
에뮬레이션 (2개 도구)
성능 (3개 도구)
네트워크 (2개 도구)
디버깅 (8개 도구)
메모리 (12개 도구)
Opera (8개 도구)
확장 프로그램 (5개 도구)
타사 (2개 도구)
WebMCP (2개 도구)
프로그레시브 웹 앱 (4개 도구)
구성
Opera DevTools MCP 서버는 다음 구성 옵션을 지원합니다:
--autoConnect/--auto-connect지정하면 channel 매개변수로 식별되는 사용자 데이터 디렉터리에서 로컬로 실행 중인 브라우저(Chrome 144+)에 자동으로 연결합니다. 기본 채널은 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-headersWebSocket 연결을 위한 사용자 지정 헤더를 JSON 형식으로 지정합니다(예: '{"Authorization":"Bearer token"}'). --wsEndpoint와 함께만 작동합니다.유형: string
기본값:
false
--headless헤드리스(UI 없음) 모드로 실행할지 여부입니다.유형: boolean
기본값:
false
--executablePath/--executable-path,-e사용자 지정 Chrome 실행 파일의 경로입니다.유형: string
기본값:
false
--isolated지정하면 브라우저가 닫힌 후 자동으로 정리되는 임시 user-data-dir이 생성됩니다. 기본값은 false입니다.유형: boolean
기본값:
false
--userDataDir/--user-data-dirChrome의 사용자 데이터 디렉터리 경로입니다. 기본값은 $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브라우저를 시작할 때 --proxy-server로 전달되는 Chrome용 프록시 서버 구성입니다. 자세한 내용은 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-devtoolsDevTools 타깃에 대한 자동화를 활성화할지 여부입니다.유형: boolean
기본값:
false
--experimentalVision/--experimental-visionclick_at(x,y)와 같은 좌표 기반 도구를 활성화할지 여부입니다. 일반적으로 스크린샷을 보고 정확한 좌표를 생성할 수 있는 computer-use 모델이 필요합니다.유형: boolean
기본값:
false
--memoryDebugging/--memory-debugging,-experimentalMemory메모리 디버깅 도구를 활성화할지 여부입니다.유형: boolean
기본값:
false
--experimentalStructuredContent/--experimental-structured-content구조화된 형식의 콘텐츠를 출력할지 여부입니다.유형: boolean
기본값:
false
--experimentalIncludeAllPages/--experimental-include-all-pageswebviews나 background pages와 같은 모든 종류의 페이지를 페이지로 포함할지 여부입니다.유형: boolean
기본값:
false
--experimentalScreencast/--experimental-screencast실험적 screencast 도구를 노출합니다(ffmpeg 필요). ffmpeg https://www.ffmpeg.org/download.html을 설치하고 MCP 서버 PATH에서 사용할 수 있는지 확인하세요.유형: boolean
기본값:
false
--experimentalFfmpegPath/--experimental-ffmpeg-pathscreencast 녹화용 ffmpeg 실행 파일의 경로입니다.유형: string
기본값:
false
--categoryExperimentalWebmcp/--category-experimental-webmcptrue로 설정하면 WebMCP 디버깅 도구가 활성화됩니다. 다음 플래그와 함께 Chrome 150+가 필요합니다:--enable-features=WebMCP유형: boolean
기본값:
false
--chromeArg/--chrome-argChrome용 추가 인수입니다. 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-argChrome의 기본 인수를 명시적으로 비활성화합니다. Chrome이 opera-devtools-mcp에 의해 실행될 때만 적용됩니다.유형: array
기본값:
false
--categoryEmulation/--category-emulationfalse로 설정하면 에뮬레이션 관련 도구가 제외됩니다.유형: boolean
기본값:
true
--categoryPerformance/--category-performancefalse로 설정하면 성능 관련 도구가 제외됩니다.유형: boolean
기본값:
true
--categoryNetwork/--category-networkfalse로 설정하면 네트워크 관련 도구가 제외됩니다.유형: boolean
기본값:
true
--categoryExtensions/--category-extensionstrue로 설정하면 확장 프로그램 관련 도구가 포함됩니다. 참고: 이 기능은 현재 파이프 연결에서만 지원됩니다. 149가 출시될 때까지 autoConnect, browserUrl, wsEndpoint는 이 기능과 함께 지원되지 않습니다.유형: boolean
기본값:
false
--categoryExperimentalThirdParty/--category-experimental-third-partytrue로 설정하면 검사 중인 페이지 자체가 노출하는 타사 개발자 도구가 활성화됩니다.유형: boolean
기본값:
false
--categoryPwa/--category-pwatrue로 설정하면 프로그레시브 웹 앱 자동화 도구(설치, 실행, 제거 및 OS 상태)가 포함됩니다. 이 기능은 파이프 연결에서만 지원됩니다. autoConnect, browserUrl, wsEndpoint는 지원되지 않습니다.유형: boolean
기본값:
false
--performanceCrux/--performance-cruxtrue로 설정하면 성능 추적의 URL을 CrUX API로 전송하여 현장 성능 데이터를 얻을 수 있습니다.유형: boolean
기본값:
false
--usageStatistics/--usage-statisticstrue로 설정하면 사용 통계 수집에 동의하게 됩니다. Google은 도구 개선을 위해 사용 데이터를 수집하며, 이는 Google 개인정보처리방침(https://policies.google.com/privacy)에 따라 처리됩니다. 이는 Chrome 브라우저 메트릭과는 별개입니다.OPERA_DEVTOOLS_NO_USAGE_STATISTICS또는CI환경 변수가 설정된 경우 비활성화됩니다.유형: 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탐색, 스크립트 실행, 스크린샷만 다루는 3가지 도구로 구성된 "슬림" 세트를 노출합니다. 기본적인 브라우저 작업에 유용합니다.유형: boolean
기본값:
false
--redactNetworkHeaders/--redact-network-headerstrue이면 클라이언트에 반환하기 전에 민감한 것으로 간주되는 일부 네트워크 헤더를 편집합니다.유형: boolean
기본값:
false
--allowUnrestrictedPaths/--allow-unrestricted-paths설정하면 MCP 클라이언트가 roots 기능을 협상하지 않을 때 적용되는 기본 경로 제한이 비활성화됩니다. 기본적으로 roots가 구성되지 않은 경우 파일 쓰기 도구는 OS 임시 디렉터리로 제한됩니다. 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-$CHANNELWindows:
%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-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] 원격 디버깅 포트를 활성화하면 실행 중인 브라우저 인스턴스에 디버깅 포트가 열립니다. 사용자 머신의 모든 애플리케이션이 이 포트에 연결하여 브라우저를 제어할 수 있습니다. 디버깅 포트가 열려 있는 동안에는 민감한 웹사이트를 탐색하지 않도록 하세요.
Android에서 Chrome 디버깅
이 지침을 참조하세요.
알려진 제한 사항
문제 해결을 참조하세요.
라이선스
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