OpenDiaBLOCK
Connect your browser to AI models. Just use Dia on Chrome, Arc or Firefox.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Star us ❤️ →
The open alternative to Dia / Perplexity Comet. Connect your browser to AI models — no browser switching needed. Works seamlessly with Chrome, Firefox, and any Chromium browser. Private, local-first & MCP focused.
[](https://github.com/aeonfun/opendia/stargazers) [](https://github.com/aeonfun/opendia/network/members) [](https://www.npmjs.com/package/opendia) [](../LIC
389190ac165eOBSERVED · 2026-09-23Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add opendia -- npx -y [email protected]
{
"mcpServers": {
"opendia": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (18)
15 read · 3 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
add_bookmark | write | Add a new bookmark |
element_click | read | 🖱️ BACKGROUND TAB READY: Click elements in any tab without switching! Perform actions on background tabs while staying on current page. Use tab_id to target specific tabs. |
element_fill | read | ✏️ BACKGROUND TAB READY: Fill forms in any tab without switching! Enhanced focus and event simulation for modern web apps. Use tab_id to fill forms in background tabs. |
element_get_state | read | Get detailed state information for a specific element (disabled, clickable, etc.) |
get_bookmarks | read | Get all bookmarks or search for specific bookmarks |
get_history | read | Search browser history with comprehensive filters for finding previous work by date/keywords |
get_page_links | read | Get all hyperlinks on the current page with filtering options |
get_selected_text | read | 📝 BACKGROUND TAB READY: Get selected text from any tab without switching! Perfect for collecting quotes, citations, or highlighted content from multiple research tabs simultaneously. |
page_analyze | read | 🔍 BACKGROUND TAB READY: Analyze any tab without switching to it! Two-phase intelligent page analysis with token efficiency optimization. Use tab_id parameter to analyze background tabs while staying on current page. |
page_extract_content | read | 📄 BACKGROUND TAB READY: Extract content from any tab without switching! Perfect for analyzing multiple research tabs, articles, or pages simultaneously. Use tab_id to target specific background tabs. |
page_navigate | read | Navigate CURRENT tab to a new URL. Use tab_create instead if you want to open a NEW tab with a URL. |
page_scroll | read | 📜 BACKGROUND TAB READY: Scroll any tab without switching! Critical for long pages. Navigate through content in background tabs while staying on current page. Use tab_id to target specific tabs. |
page_style | write | 🎨 Transform page appearance with themes, colors, fonts, and fun effects! Apply preset themes like |
page_wait_for | read | Wait for specific element or condition on current page |
tab_close | read | Close specific tab(s) by ID or close current tab |
tab_create | write | Creates tabs. CRITICAL: For multiple identical tabs, ALWAYS use |
tab_list | read | 📋 TAB DISCOVERY: Get list of all open tabs with IDs for background tab targeting! Shows content script readiness status and tab details. Essential for multi-tab workflows - use tab IDs with other tools to work on background tabs. |
tab_switch | read | Switch to a specific tab by ID |
Trust audit
BLOCKgrade D · trust 66/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (6 observation(s))
- Shell
- declared (7 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (12)
exec(`lsof -ti:${port}`, (error, stdout) => {exec(`ps -p ${pid} -o command=`, (psError, psOutput) => {exec(`lsof -ti:${port}`, async (error, stdout) => {exec(`kill ${pid}`, (killError) => {httpUrl: `http://127.0.0.1:${httpPort}`,webextension-polyfill, fs-extra, web-ext
cors, express, ws
- ✅ **Browser data**: Access your bookmarks, history, and saved passwords
- ✅ **Browser data**: Access your bookmarks, history, and saved passwords
opendia-extension/logo.mp4
opendia.dxt
preview.gif
Gates applied: no_behavioural_pass.
389190ac165efull audit observations/trust-audit/mcp-server/aaronjmars__opendia.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-23 | 389190ac165e | BLOCK | D | 66 | source changed, verdict held |
| 2026-09-19 | 28affbefb7a7 | BLOCK | D | 66 | first audit |
Questions
What is the OpenDia MCP server?
Connect your browser to AI models. Just use Dia on Chrome, Arc or Firefox.
What tools does OpenDia expose?
18 in total: 15 read-only, 3 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is OpenDia safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (66/100) and found 4 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does OpenDia need?
No credential environment variables were found in its source, so it appears to need none.
How current is this page?
The grade is for one exact copy of the source (389190ac165e), read on 2026-09-23. The repository is watched and re-audited when it changes.