Model or dataset
aeonfun/opendia avatar
aeonfun/opendia

OpenDia: an MCP bridge between AI clients and the browser sessions you already have

Connect your browser to AI models. Just use Dia on Chrome, Arc or Firefox.

1,922 stars160 forksJavaScriptMIT

At a glance

What is it?
OpenDia is an MIT-licensed browser extension plus npm CLI that exposes browser control to any MCP-speaking AI client, so models act inside your logged-in Chrome, Arc or Firefox profile instead of a fresh sandbox. The trade-off is that it runs with your real cookies, wallets and password manager attached.
Who is it for?
Adopt OpenDia if your AI client already speaks MCP and the task depends on sessions you cannot reproduce in a clean browser: posting as yourself, reading your own bookmarks and history, or driving a DeFi interface with a connected wallet. Do not adopt it if you want a managed product, need the extension listed in a store, or are unwilling to run an automation agent inside the profile that holds your passwords and cookies.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The gap OpenDia fills: your sessions, not a fresh browser

Most browser automation starts from nothing. A headless instance launches, has no cookies, no saved passwords, no logged-in accounts, and every site that matters asks you to authenticate again. OpenDia inverts that. The README frames the key advantage as using "everything you already have": logged-in accounts, saved passwords, cookies, wallets and browsing history. The extension runs inside the browser you already use, and an MCP server exposes that browser to an AI client. The stated target is Chrome, Arc, Firefox, Edge, Brave, Opera and any Chromium-based browser. The README also names Cursor users who want to automate local testing as a specific audience, and lists Claude Desktop, Claude Code, Cursor, Grok Build and ChatGPT as tested clients. The project positions itself as "the open alternative to Dia / Perplexity Comet", which is the clearest statement of who it is for: people who want the browser-agent experience without switching to a vendor's own browser.

How the extension, the MCP server and the AI client fit together

The architecture has three parts. The browser extension is loaded from an unpacked folder in Chrome or as a temporary add-on in Firefox. The npm package (opendia) provides the MCP server that AI clients connect to. The AI client speaks MCP and calls tools; the extension carries those calls out in the live browser. The README describes the surface as "18 browser tools over MCP", and the release notes for v1.1.1 mention MCP reliability fixes alongside an Express 5 upgrade, which tells you the server side is an Express application. Data flows from the client to the local MCP server, then to the extension, then to the page. Nothing in the README suggests page content is sent anywhere other than the model you chose; the privacy claim is that everything runs locally. Two features stand out in the description. First, tool calls are site-aware: the README advertises "specialized bypasses for Twitter/X, LinkedIn, Facebook", meaning the tool layer has per-site handling rather than a single generic click-and-type primitive. Second, ChatGPT support is not direct. It requires Auto-Tunnel mode, started with npx opendia --tunnel, which produces an ngrok URL you add as a connector. That is a materially different deployment shape from the local clients, and it is the one place where traffic leaves your machine.

Installing the extension and wiring up an MCP client

Installation is manual for the browser side. For Chrome and Chromium browsers, the README says to download opendia-chrome-1.1.0.zip from releases, extract it, open chrome://extensions/, enable Developer mode, click Load unpacked and select the extracted folder. For Firefox, download opendia-firefox-1.1.0.zip, extract it, open about:debugging#/runtime/this-firefox, click Load Temporary Add-on, and select the manifest.json inside the extracted folder. The README explicitly notes that Firefox extensions load as temporary add-ons, which means they do not persist across restarts in the way a signed store extension would. On the client side, the README says Claude Desktop and Claude Code share the same MCP config, Cursor accepts the same JSON via Settings then MCP, and Grok Build takes either an OpenDia plugin or an MCP block added to ~/.grok/config.toml. ChatGPT is the exception: run npx opendia --tunnel, then add the resulting ngrok URL as a connector. The README also lists Windsurf, Zed, Continue, Cline, Goose and Open WebUI as clients that should work because they speak MCP, and invites pull requests from anyone who wires up something else.

The security boundary is the whole design, and it is not a small one

OpenDia's selling point and its main risk are the same fact: it operates inside a profile that holds your cookies, saved passwords and wallet extensions. The README lists access to bookmarks, history and saved passwords, and describes using MetaMask or any installed extension as a feature. An AI model with those tools can act as you on any site you are logged into. The README's own example workflows include posting to Twitter/X and LinkedIn, drafting replies to unread messages, and testing a DeFi interface with a connected wallet. There is no permission scoping described in the material: no allowlist of domains, no read-only mode, no confirmation step mentioned for destructive actions. Auto-Tunnel mode adds a second consideration, because the ngrok URL is a public endpoint that reaches your local server. The README does not state what authentication, if any, protects that endpoint. If you cannot answer that question from the code or the tunnel configuration, treat the tunnel as an open door to your browser and use it only deliberately. This is not a reason to avoid the project, but it is the reason to run it in a browser profile that does not hold credentials you would not hand to a model.

Where OpenDia is the wrong tool

Three cases stand out. First, if you are not technical, the README says so itself: it recommends Perplexity Comet to people who are new to MCPs or not technical. That is an unusually direct statement of the project's own boundary. Second, if you need a signed, auto-updating extension, this is not it. The install path is Developer mode and Load unpacked on Chrome, and a temporary add-on on Firefox, which the README flags. Every update means downloading a new zip and reloading it by hand. Third, if your task is deterministic and repeatable, a purpose-built automation script will be easier to debug than a model choosing tools at runtime. The README's own examples lean toward tasks where the page is unknown ahead of time: summarizing articles you read today, finding a post in your history, testing a signup flow. For a fixed form-fill against a stable internal app, the model in the loop adds variance without adding capability. There is also a coverage caveat: the anti-detection work is described for Twitter/X, LinkedIn and Facebook specifically, so behavior on other sites should be treated as untested rather than assumed equivalent.

What it competes with, and how the approaches differ

The README names Dia and Perplexity Comet as the alternatives it is positioned against, and then names Comet again as the recommendation for non-technical users. The difference is structural, not cosmetic. Comet and Dia are browsers: you move your browsing into their application to get the agent. OpenDia is an extension and an MCP server: you keep Chrome, Arc or Firefox and add a control channel to it. That means OpenDia inherits your existing extensions, wallets and profile state, and it means you are responsible for the extension's lifecycle, updates and permissions. A second comparison is with general MCP servers that wrap APIs. Those give a model structured access to a service; OpenDia gives it the same surface a human has in a browser, including sites with no API. That is strictly more capability and strictly less predictability. If a site has a clean API and an MCP server for it exists, that route will be more reliable than driving the DOM. OpenDia is for the sites that do not.

Maintenance cost and what the MIT licence leaves you holding

The release history shows a steady cadence: v1.0.6 added Firefox support in July 2025, v1.1.0 addressed timeouts and documentation, and v1.1.1 landed MCP reliability fixes and an Express 5 upgrade. The jump to Express 5 in a patch-level release is worth noting, since major framework upgrades can change middleware behavior; the release notes describe it as a reliability fix, but the version number alone does not tell you whether anything in your setup depends on the old behavior. Because the extension is loaded unpacked, upgrades are manual on the browser side, so the practical cost is not the npm update but the reload-and-reconfigure step each time. MIT licensing means you can fork, modify and redistribute, including commercially, and the repository carries no copyleft obligation. That is a permission grant, not a security guarantee, and it says nothing about whether the extension's permissions are minimal or whether the tunnel endpoint is authenticated. For anything touching production accounts, read the extension's manifest and the server's tunnel handling before you trust the defaults.

Editorial conclusion

Adopt OpenDia if your AI client already speaks MCP and the task depends on sessions you cannot reproduce in a clean browser: posting as yourself, reading your own bookmarks and history, or driving a DeFi interface with a connected wallet. Do not adopt it if you want a managed product, need the extension listed in a store, or are unwilling to run an automation agent inside the profile that holds your passwords and cookies. Before installing, verify three things: that the extension zip version in the releases page matches the version your MCP client expects, that the port or tunnel endpoint is only reachable from your machine, and that the sites you care about are covered by the documented anti-detection bypasses rather than assumed to work.

Official sources

  1. aeonfun/opendia on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Community notes

Community notes