OpenDia logo

OpenDia

CommunityPopular
aaronjmars

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

Publisheraaronjmars
Repositoryopendia
LanguageJavaScript
Forks
142
Stars
1.8K
Available tools
18
Transport typestdio
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    OpenDia exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 18 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    1.8K stars and 142 forks from the linked repository.

OpenDia

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. If you are not technical / never used MCPs before, we recommend using Perplexity Comet.

npm version GitHub release License: MIT

πŸ“Ί See it in Action

OpenDia Demo

πŸš€ What is OpenDia?

OpenDia lets AI models control your browser automatically. The key advantage? It leverages everything you already haveβ€”your logged-in accounts, saved passwords, cookies, wallets, and browsing history. No need to start from scratch or switch contexts.

πŸ”‘ Use Your Existing Digital Life:

  • βœ… Logged-in accounts: Post to Twitter/X, LinkedIn, Facebook with your existing sessions
  • βœ… Browser data: Access your bookmarks, history, and saved passwords
  • βœ… Extensions & wallets: Use MetaMask, password managers, or any installed extensions
  • βœ… Cookies & sessions: Stay authenticated across all your favorite sites
  • βœ… Local testing: Perfect for development with Cursor - test with real user sessions

✨ Key Benefits:

  • πŸ”„ Universal AI Support: Works with Claude, ChatGPT, Cursor and even local models
  • 🎯 Anti-Detection: Specialized bypasses for Twitter/X, LinkedIn, Facebook
  • πŸ“± Smart Automation: AI understands your pages and finds the right elements
  • πŸ›‘οΈ Privacy-First: Everything runs locally, your data stays with you
  • ⚑ Zero Setup: Get started with one command

🌐 Browser Support

Works with Chrome, Firefox, and any Chromium-based browser:

  • βœ… Google Chrome
  • βœ… Arc
  • βœ… Mozilla Firefox
  • βœ… Microsoft Edge
  • βœ… Brave
  • βœ… Opera
  • βœ… Any Chromium based browser

Also perfect for Cursor users who want to automate their local testing and development workflows!

πŸ”Œ Compatible AI Clients

OpenDia exposes a standard MCP server, so it works with any client that speaks the protocol.

Tested:

  • Claude Desktop β€” paste the config below, restart.
  • Claude Code β€” same MCP config, runs from any terminal.
  • Cursor β€” add via Settings β†’ MCP, or paste the same JSON.
  • ChatGPT β€” works with Auto-Tunnel mode (npx opendia --tunnel), then add the ngrok URL as a connector.

Should work (any MCP-compatible client): Windsurf, Zed, Continue, Cline, Goose, Open WebUI.

Wired it up with something else? Open a PR β€” the list grows as MCP grows.

🎬 What You Can Do

Real workflows you can try today:

πŸ“° Content & Social Media

  • "Summarize all the articles I read today and post a Twitter thread about the key insights"
  • "Find interesting articles related to AI from my bookmarks and create a reading list"
  • "Read this article and post a thoughtful comment on the LinkedIn version"
  • "Check my recent Twitter bookmarks and summarize the main themes"

πŸ“§ Productivity & Research

  • "Browse my latest emails and tell me what needs urgent attention"
  • "Find all the GitHub repos I visited this week and create a summary report"
  • "Extract the main points from this research paper and save them to my notes"
  • "Search my browsing history for that article about AI safety I read last month"

πŸ€– Development & Testing (Perfect for Cursor!)

  • "Test my web app's signup flow and take screenshots at each step"
  • "Fill out this form with test data and check if validation works"
  • "Navigate through my app and check if all the buttons work properly"
  • "Use my connected wallet to test this DeFi interface"

πŸ”„ Advanced Automation

  • "Open tabs for all my daily news sources and summarize the top stories"
  • "Draft replies to my unread messages based on the context"
  • "Monitor this webpage and notify me when the content changes"
  • "Automatically bookmark interesting articles I'm reading"

🎨 Visual Customization & Fun

  • "Apply a cyberpunk theme to this documentation site to make it more engaging"
  • "Make this page dark mode with green text for late-night reading"
  • "Add rainbow party effects to celebrate finishing this project"
  • "Transform this boring form with a retro 80s theme while I fill it out"
  • "Use high contrast styling so I can read this better"

⚑ Quick Start

1. Install the Browser Extension

For Chrome/Chromium browsers:

  1. Download opendia-chrome-1.1.0.zip from releases
  2. Extract the zip file to a folder
  3. Go to chrome://extensions/ (or your browser's extension page)
  4. Enable "Developer mode"
  5. Click "Load unpacked" and select the extracted folder

For Firefox:

  1. Download opendia-firefox-1.1.0.zip from releases
  2. Extract the zip file to a folder
  3. Go to about:debugging#/runtime/this-firefox
  4. Click "Load Temporary Add-on..."
  5. Select the manifest.json file from the extracted folder

Note: Firefox extensions are loaded as temporary add-ons and will be removed when Firefox restarts. This is a Firefox limitation for unsigned extensions.

2. Connect to Your AI

Option 1: Double-click Installation (Recommended)

  1. Download the opendia.dxt file from releases
  2. Double-click the .dxt file to install automatically
  3. The MCP will be added to your Claude Desktop configuration

Option 2: Manual Configuration Add to your Claude Desktop configuration:

json
{
  "mcpServers": {
    "opendia": {
      "command": "npx",
      "args": ["opendia"]
    }
  }
}

For Cursor or other AI tools, use the same configuration or follow their specific setup instructions.

Usage Modes

Local Mode (Default)

bash
npx opendia
  • Chrome extension: ws://localhost:5555 (auto-discovery enabled)
  • Claude Desktop: stdio (existing config)
  • Local SSE: http://localhost:5556/sse

Port Configuration

bash
# Use custom ports
npx opendia --port=6000              # Uses 6000 (WebSocket) + 6001 (HTTP)
npx opendia --ws-port=5555 --http-port=5556  # Specify individually

# Handle port conflicts  
# Note: Existing OpenDia processes are automatically terminated on startup

Auto-Tunnel Mode

bash
npx opendia --tunnel
  • Automatically creates ngrok tunnel
  • Copy URL for ChatGPT/online AI services
  • Local functionality preserved

Note: For auto-tunneling to work, you need ngrok installed:

macOS:

bash
brew install ngrok

Windows:

bash
# Using Chocolatey
choco install ngrok

# Or download from https://ngrok.com/download

Linux:

bash
# Ubuntu/Debian
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list
sudo apt update && sudo apt install ngrok

# Or download from https://ngrok.com/download

Then get your free authtoken from https://dashboard.ngrok.com/get-started/your-authtoken and run:

bash
ngrok config add-authtoken YOUR_TOKEN_HERE

πŸ› οΈ Capabilities

OpenDia gives AI models 18 powerful browser tools:

🎯 Smart Page Understanding

  • Analyze any webpage - AI automatically finds buttons, forms, and interactive elements
  • Extract content intelligently - Get clean text from articles, social posts, or search results
  • Understand context - AI knows what type of page it's looking at and how to interact with it

πŸ–±οΈ Natural Interactions

  • Click anything - Buttons, links, menus - AI finds and clicks the right elements
  • Fill forms smartly - Works even on complex sites like Twitter, LinkedIn, Facebook
  • Navigate seamlessly - Go to pages, scroll, wait for content to load
  • Handle modern web apps - Bypasses detection on social platforms

πŸ“‘ Tab & Window Management

  • Multi-tab workflows - Open, close, switch between tabs automatically
  • Organize your workspace - Let AI manage your browser tabs efficiently
  • Coordinate complex tasks - Work across multiple sites simultaneously

πŸ“Š Access Your Browser Data

  • Bookmarks & History - Find that article you read last week
  • Current page content - Get selected text, links, or full page content
  • Real-time information - Work with whatever's currently on your screen

πŸ›‘οΈ Anti-Detection Features

  • Social media posting - Bypass automation detection on Twitter/X, LinkedIn, Facebook
  • Natural interactions - Mimics human behavior to avoid triggering security measures
  • Reliable automation - Works consistently even on sites that block typical automation tools

🎨 Page Styling & Customization

  • Transform any website - Apply fun themes, custom colors, and visual effects
  • Preset themes - Dark hacker, retro 80s, rainbow party, minimalist zen, and more
  • AI mood styling - Describe a mood and get matching visual design
  • Interactive effects - Matrix rain, floating particles, neon glow, and cursor trails
  • Accessibility themes - High contrast and readable designs for better visibility

πŸ’¬ Example Prompts to Try

Once everything is set up, try asking your AI:

Content Creation:

"Read the article on this page and create a Twitter thread summarizing the main points"

Research & Analysis:

"Look through my browser history from this week and find articles about machine learning. Summarize the key trends."

Social Media Management:

"Check my Twitter bookmarks and organize them into categories. Create a summary of each category."

Productivity:

"Open tabs for my usual morning reading sites and give me a briefing of today's top stories"

Development Testing:

"Fill out this contact form with test data and check if the submission works properly"

Personal Assistant:

"Find that GitHub repo I was looking at yesterday about React components and bookmark it for later"

Page Styling & Fun:

"Apply a dark hacker theme to this page to make it look more interesting"

"Make this boring documentation page feel like a cozy coffee shop"

"Add some matrix rain effects to this page for 30 seconds for a cool screenshot"

"Transform this page with a high contrast theme for better readability"

πŸ—οΈ How It Works

mermaid
graph LR
    A[AI Model] --> B[OpenDia Server]
    B --> C[Browser Extension]
    C --> D[Your Browser]
    D --> E[Any Website]
  1. You ask your AI to do something browser-related
  2. AI calls OpenDia tools to understand and interact with pages
  3. OpenDia controls your browser through the extension
  4. You get results - AI can see what happened and respond intelligently

πŸ”’ Security & Privacy

Your data stays private:

  • βœ… Everything runs locally - No cloud processing of your browsing data
  • βœ… You control access - Extension only works when you want it to
  • βœ… Open source - Full transparency of what the code does
  • βœ… No tracking - We don't collect or store any of your information

Important: This tool requires broad browser permissions to function. Only use with AI models you trust, and in environments where you're comfortable with browser automation.

🀝 Contributing

Love to have your help making OpenDia better!

Quick Development Setup

bash
git clone https://github.com/aaronjmars/opendia.git
cd opendia

# Start the server
cd opendia-mcp
npm install
npm start

# Load extension in your browser  
# Chrome: Go to chrome://extensions/ β†’ Developer mode β†’ Load unpacked: ./opendia-extension/dist/chrome
# Firefox: Go to about:debugging#/runtime/this-firefox β†’ Load Temporary Add-on β†’ ./opendia-extension/dist/firefox/manifest.json
# Extension will auto-connect to server on localhost:5555

Ways to Contribute

  • πŸ› Report bugs via GitHub Issues
  • πŸ’‘ Share it on social medias
  • πŸ”§ Add new browser capabilities
  • πŸ“– Improve documentation
  • πŸ§ͺ Test with different AI models

πŸ“ License

MIT License - see LICENSE for details.


Ready to supercharge your browser with AI? Get started with npx opendia! πŸš€

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "mcpServers": {
    "opendia": {
      "command": "npx",
      "args": [
        "opendia"
      ]
    }
  }
}

Available Tools

  • page_analyze

    πŸ” BACKGROUND TAB READY: Analyze any tab without switching! Two-phase intelligent page analysis with token efficiency optimization. Use tab_id parameter to analyze background tabs while staying on current page. (Extension required)

  • page_extract_content

    πŸ“„ 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. (Extension required)

  • element_click

    πŸ–±οΈ 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. (Extension required)

  • element_fill

    ✏️ BACKGROUND TAB READY: Fill forms in any tab without switching! Enhanced focus and event simulation for modern web apps with anti-detection bypass for Twitter/X, LinkedIn, Facebook. Use tab_id to fill forms in background tabs. (Extension required)

  • page_navigate

    🧭 Navigate to URLs with wait conditions (Extension required)

  • page_wait_for

    ⏳ Wait for elements or conditions (Extension required)

  • tab_create

    Creates tabs. CRITICAL: For multiple identical tabs, ALWAYS use 'count' parameter! Examples: {url: 'https://x.com', count: 5} creates 5 Twitter tabs. {url: 'https://github.com', count: 10} creates 10 GitHub tabs. Single tab: {url: 'https://example.com'}. Multiple different URLs: {urls: ['url1', 'url2']}.

  • tab_close

    ❌ Close specific tab(s) by ID or close current tab (Extension required)

  • tab_list

    πŸ“‹ 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. (Extension required)

  • tab_switch

    πŸ”„ Switch to a specific tab by ID (Extension required)

  • element_get_state

    πŸ” Get detailed state information for a specific element (disabled, clickable, etc.) (Extension required)

  • get_bookmarks

    Get all bookmarks or search for specific bookmarks (Extension required)

  • add_bookmark

    Add a new bookmark (Extension required)

  • get_history

    πŸ•’ Search browser history with comprehensive filters for finding previous work (Extension required)

  • get_selected_text

    πŸ“ BACKGROUND TAB READY: Get selected text from any tab without switching! Perfect for collecting quotes, citations, or highlighted content from multiple research tabs simultaneously. (Extension required)

  • page_scroll

    πŸ“œ 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. (Extension required)

  • get_page_links

    πŸ”— Get all hyperlinks on the current page with smart filtering (Extension required)

  • page_style

    🎨 Transform page appearance with themes, colors, fonts, and fun effects! Apply preset themes like 'dark_hacker', 'retro_80s', or create custom styles. Perfect for making boring pages fun or improving readability.

Use OpenDia MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once OpenDia is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add OpenDia as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the OpenDia MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "opendia": {
      "command": "npx",
      "args": [
        "-y",
        "opendia"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the OpenDia MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the OpenDia MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use OpenDia to help me with this task?
OpenDia
Sure. I read it.
Here is what I found using OpenDia.

Frequently asked questions

What is the OpenDia MCP server used for?

OpenDia is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use OpenDia MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use OpenDia with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use OpenDia MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With OpenDia connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect OpenDia MCP to TypingMind?

OpenDia runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does OpenDia MCP provide in TypingMind?

OpenDia exposes 18 MCP tools that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use OpenDia MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If OpenDia requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter πŸ‘‡