Connect your browser to AI models with anti-detection bypass for Twitter/X, LinkedIn, Facebook. Browser automation MCP server with WebSocket and HTTP/SSE transport.
OpenDia provides 18 tools with generally clear naming and documented schemas, but suffers from significant gaps in parameter descriptions, output schema documentation, and error handling guidance. Tool names follow verb_noun convention well (page_analyze, element_click, tab_create), but many parameter descriptions are minimal or missing required context. No output schemas are documented, LLMs cannot predict what fields will be returned or plan downstream tool chains. Error handling is absent; tools provide no recovery guidance. Security and permission gating are not visible in the code. The HTTP transport with SSE support is current, but the server lacks tool annotations (readOnlyHint, destructiveHint, idempotentHint) and structured error responses that would enable proper agent planning.
➕ Add new bookmark
🖱️ Click elements with anti-detection bypass for social platforms
✏️ Fill forms with anti-detection bypass for Twitter/X, LinkedIn, Facebook
🔍 Get detailed element state information
📚 Get all bookmarks or search for specific ones
🕒 Search browser history with comprehensive filters
🔗 Get all hyperlinks with smart filtering
No output schemas documented for any tool. LLMs cannot predict returned fields, plan tool chains, or extract nested data. Critical for downstream tool integration.
Missing error handling and recovery guidance. Tools provide no indication of what can fail, how to retry, or what corrective action to take. Agents cannot self-recover from failures.
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are missing. Tools marked as WRITE risk have no explicit destructiveHint, leaving agents unable to distinguish safe reads from dangerous writes for safety planning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 68 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 15 | - | v1 |
📝 Get selected text from any tab
🔍 Analyze any tab without switching! Two-phase intelligent page analysis
📄 Extract content from any tab without switching!
🧭 Navigate to URLs with wait conditions
📜 Scroll any tab without switching
🎨 Transform page appearance with themes and effects
⏳ Wait for elements or conditions
❌ Close specific tab(s) by ID
📱 Create single or multiple tabs with batch support
📋 Get list of all open tabs with IDs
🔄 Switch to specific tab by ID
Parameter descriptions are minimal or generic. 'Optional tab ID to analyze' and 'Type of content to extract' lack context on valid ranges, formats, or dependencies. Agents cannot validate inputs before calling.
No permission gating or audit trail visible. Destructive tools (delete tabs, modify pages, click elements) lack permission checks or logging. Agent actions are untraced.
Tab ID parameter is optional but behavior when omitted is unclear. Does 'current tab' mean the active tab at call time, or a server-side default? This ambiguity can cause actions on wrong tabs.
No input validation constraints documented. 'amount' in page_scroll has no min/max; 'max_results' in get_history has no upper bound; tab_create 'count' is unbounded. These invite malformed or excessive requests.
tab_list has minimal description ('Get list of all open tabs with IDs') and no documented output schema. LLMs cannot determine what fields to expect (e.g., tab name, URL, active status).