opera-gx
Allows Claude to control Opera GX, including GX Control limiters, sidebar and tab bar settings, themes, presets, and tab/page automation.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@opera-gxput Opera in gaming mode"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Opera GX Control for Claude
Give Claude control of Opera GX. It can switch GX Control limiters, the sidebar, tab bar settings and themes, apply one-click presets, and drive tabs and pages.
Install the VS Code extension and click Connect. Claude Code and Claude Desktop can then take requests like "put Opera in gaming mode", "hide the sidebar and switch to the After Eight theme" or "summarize the tab I have open".
Unofficial. Not affiliated with or endorsed by Opera. It works through Opera's local DevTools port and undocumented settings APIs, so an Opera update can break parts of it. Read Security before installing.
What's included
Piece | What it does |
VS Code extension | Bundles everything below. Connects Claude Code and Claude Desktop in one click, restarts Opera GX with access turned on, and adds presets and toggles to the command palette and status bar. No Node.js install needed. |
MCP server ( | The tools Claude uses: 13 for settings, 9 for tabs and pages. |
Opera toolbar extension ( | Optional popup and sidebar panel with presets, toggles and keyboard shortcuts, inside Opera itself. |
CLI ( | The same controls from a terminal or script. |
Related MCP server: PC-Control MCP Server
Install
With VS Code (recommended)
Install Opera GX Control for Claude from the VS Code Marketplace. Or download the
.vsixfrom Releases, then in VS Code open Extensions → ⋯ → Install from VSIX….When VS Code asks "Connect Claude Code and Claude Desktop to Opera GX?", click Connect. You can also run Opera GX: Connect Claude from the command palette later.
Run Opera GX: Restart Opera GX with Claude Access. Opera closes and reopens with its DevTools port open. Choose Restart and Keep Access On to make that stick for future launches (Windows).
Start a new Claude Code session, or quit and reopen Claude Desktop, then ask Claude to do something in Opera GX.
The status bar shows GX with any active limits. Click it for the control menu.
Without VS Code
Requires Node.js 22 or newer.
git clone https://github.com/trifactorscalingllc/opera-gx-control
cd opera-gx-control
npm install --omit=devConnect Claude Code:
claude mcp add --scope user opera-gx -- node /absolute/path/to/opera-gx-control/mcp/server.mjsConnect Claude Desktop: add this to claude_desktop_config.json
(Settings → Developer → Edit Config), then restart Claude Desktop:
{
"mcpServers": {
"opera-gx": {
"command": "node",
"args": ["/absolute/path/to/opera-gx-control/mcp/server.mjs"]
}
}
}Start Opera GX with access. On Windows, from the repo folder:
.\scripts\launch-opera-gx.ps1 -Restart # this launch only
.\scripts\launch-opera-gx.ps1 -UpdateShortcuts # also every launch from the Desktop/Start Menu shortcutsOn macOS (implemented, not yet tested), quit Opera GX, then:
open -na "Opera GX" --args --remote-debugging-port=9222 --remote-allow-origins=chrome-extension://jhcegjnggmmdpoipdgfhfgppnefojmehWhat Claude can do
Settings
Tool | Does |
| Limiters, sidebar, tab bar, dark mode, theme and active preset at a glance |
| RAM (MB), CPU (%) or network limiter on/off, with an optional limit |
| Show/hide the sidebar, auto-hide on/off |
| List sidebar items; show or hide one (Player, Discord, Twitch, workspaces…) |
| List color themes; switch theme |
| Apply a preset; undo back to the settings from before it |
| Any of Opera's ~570 exposed settings, type-checked |
Tabs and pages
Tool | Does |
| List open tabs |
| Open, close, focus |
| Load a URL in a tab and wait for it |
| A tab's title, URL and visible text |
| Run JavaScript in a page |
| PNG of a tab |
| Any Chrome DevTools Protocol command, for everything else |
Presets
Preset | Changes |
Gaming | RAM limiter at 2 GB, CPU limiter at 25%, network limiter on, sidebar hidden |
Focus | Sidebar, tab previews and hover cards hidden; inactive tabs snoozed; reduced motion |
Battery saver | RAM limiter at 4 GB, CPU limiter at 50%; inactive tabs snoozed; reduced motion |
Applying a preset saves the values it replaces, and restore puts them back. Stacked presets restore to where you were before the first one. The restore point lives in Opera, so the VS Code menu, the toolbar popup, the shortcuts, the CLI and Claude all share it.
Opera toolbar extension (optional)
Adds a popup and an Opera sidebar panel with presets, an undo button, the limiter/sidebar/tab bar/theme toggles, and shortcuts.
In VS Code, run Opera GX: Set Up the Opera Toolbar Extension. It copies the extension to
~/.opera-gx-control/opera-extensionand copies that path. Without VS Code, use theopera-extensionfolder from a release zip or this repo.In Opera GX, open
opera://extensions, turn on Developer mode, click Load unpacked, and choose the folder.Make sure Opera runs with Claude access (above). The
--remote-allow-originsflag is what lets this extension connect; its ID is fixed atjhcegjnggmmdpoipdgfhfgppnefojmeh.
Shortcut | Does |
Alt+Shift+G | Gaming preset |
Alt+Shift+R | Undo the preset |
Alt+Shift+S | Show/hide sidebar |
Alt+Shift+L | RAM limiter on/off |
(unassigned) | Focus preset, Battery saver preset, CPU limiter, network limiter |
Change or assign them at opera://extensions/shortcuts.
Security
The DevTools port is full remote control of your browser. While Opera
runs with --remote-debugging-port, any program on your computer can read
every page, act inside logged-in sites and read cookies. The port listens on
127.0.0.1 only, so other devices can't reach it, but local software can. Only
turn it on when you trust what runs on your machine.
Claude gets the same reach. The browser tools can read and act on any site
you're signed in to. Web pages can contain text written to mislead an AI.
Claude Code asks before each tool call by default. Keep asking on for
browser_evaluate, browser_cdp and browser_navigate, rather than
allowlisting them.
Never launch Opera with
--remote-allow-origins=*. That lets web pages use the port too.To turn access off, quit Opera and start it normally. If you used Keep Access On, run
scripts\launch-opera-gx.ps1 -RemoveFromShortcutsfirst.To disconnect Claude, run Opera GX: Disconnect Claude, or
claude mcp remove --scope user opera-gx.
How it works
Opera gates its settings APIs (chrome.settingsPrivate,
opr.themesPrivate, opr.browserSidebarPrivate) to its own internal pages and
built-in extensions, so an ordinary extension can't toggle GX Control. The
DevTools port can attach to one of those internal pages
(chrome://easy-setup-gx/) and make the call from inside it. For tabs and
pages it uses the DevTools Protocol directly.
All four pieces share one client:
opera-extension/gx-client.js.
Compatibility
Tested on Windows 11 with Opera GX 135 (Chromium 151), VS Code 1.136 and Claude Code 2.1. The macOS code paths exist but haven't been run. Opera GX isn't available on Linux.
Troubleshooting
Symptom | Fix |
"Nothing is answering on 127.0.0.1:9222" | Opera wasn't started with the flag. If it keeps running in the background (tray icon), quit it fully before restarting it with access. |
Toolbar popup says the port refused it | Opera is missing |
"Pref … does not exist" | Your Opera version renamed that setting. Open an issue with your Opera GX version. |
Claude doesn't list the tools | Start a new Claude Code session, or fully restart Claude Desktop. Run |
Development
npm install
npm test # structure checks + MCP server, no Opera needed
node test/opera.e2e.mjs 9333 # against a running Opera GX (see the file header)
npm run test:vscode -- 9333 # the VS Code extension, in a downloaded and isolated VS CodePush a v* tag to release. CI tests, packages the .vsix and the Opera
extension zip, publishes a GitHub release, and publishes to the Marketplace
when the VSCE_PAT secret is set.
License
MIT. Opera and Opera GX are trademarks of Opera Norway AS.
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage hosts, redirects, SSL, and traffic analytics from Claude and other AI assistants.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Read, edit, publish, and preview your pepita websites from Claude.
- SimSenseOAuthai.simsense
Deploy sims to any screen. Control your displays with Claude.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceBridges browser content, developer tools data, and web page interactions with Claude through MCP. Enables page inspection, DOM analysis, JavaScript execution, console monitoring, network activity tracking, and screenshot capture across multiple browser tabs.MIT
- FlicenseNot gradedqualityCmaintenanceEnables control of Windows PC through Claude Desktop, including executing shell commands, managing system resources, controlling audio/power, launching applications, taking screenshots, and managing windows and processes.-
- FlicenseBqualityDmaintenanceExposes macOS system controls and Apple apps as structured tools for Claude, enabling control of volume, music, files, browser tabs, and more via natural language with configurable permissions and rate limiting.311-
- AlicenseBqualityAmaintenanceEnables controlling a real Chrome browser from MCP hosts like Claude, with extension-based or CDP fallback, supporting tabs, navigation, interaction, and page reading tools.38197 npm5MIT