通过浏览器已登录会话让 AI Agent 直接调用 Web 应用内部 API 的本地 MCP 服务器,提供 100+ 插件覆盖主流 SaaS 服务,支持三种连接模式与 AI 自动生成插件。
OpenTabs 是一个完全本地运行的 MCP(Model Context Protocol)服务器,核心理念是"Browser automation clicks buttons. OpenTabs calls APIs."。它由 Node.js MCP Server、Chrome Manifest V3 扩展和插件 SDK 三部分组成,通过 JSON-RPC 2.0 over WebSocket 通信,复用用户浏览器中已有的登录会话,直接调用 Web 应用前端使用的内部 API,从而替代传统浏览器自动化中缓慢且高 token 消耗的点击/截图/DOM 抓取方式。
项目提供三种连接模式——Full MCP(全部工具暴露)、Gateway(仅暴露元工具按需发现)和 CLI 模式(零 MCP 开销),兼容 Claude Code、Cursor、Windsurf 等 MCP 客户端。插件生态涵盖 Slack、Discord、GitHub、Jira、Notion、Figma、AWS、Stripe 等超过 100 个插件、约 2,000 个工具。对于无现成插件的站点,可将 AI 指向目标网站自动分析并生成插件代码。
在安全性方面,所有工具默认关闭需显式启用,支持 Off/Ask/Auto 三级权限控制、AI 辅助代码审查、版本更新权限重置、Bearer Token + WebSocket 认证、CORS 防护、适配器 SHA-256 完整性校验及输出消毒,全部本地运行无云端依赖并保留完整审计日志。项目基于 TypeScript 构建(97.9%),采用 npm workspaces monorepo 管理架构,使用 MIT 开源协议。
架构概览
AI Agent (Claude/Cursor/any MCP client)
↕ MCP Streamable HTTP (localhost:9515)
MCP Server (Node.js)
↕ WebSocket (JSON-RPC 2.0, 10MB 消息限制)
Chrome Extension (Manifest V3)
↕ chrome.scripting.executeScript() (IIFE 注入, MAIN world)
Browser Tabs (各 Web 应用)
MCP Server:入口位于 platform/mcp-server/src/index.ts,插件发现采用五阶段管道(npm 扫描 → 本地路径 → 并行加载 → 合并 → 构建不可变注册表),注册表为不可变对象实现 O(1) 工具查找,预编译 Ajv 校验器;开发模式下支持热重载,通过 dev proxy 检测文件变更后原子替换 worker 进程。
Chrome Extension:Manifest V3 架构,包含 background service worker、offscreen document 和 side panel 三部分。通过 offscreen document 维持与 MCP server 的持久 WebSocket 连接(15s ping/pong,指数退避重连)。适配器以 IIFE bundle 形式通过 chrome.scripting.executeScript({ world: 'MAIN' }) 注入,绕过页面 CSP。调度流程支持定向调度(指定 tabId)和自动选择调度(按活跃窗口/标签页优先级排序)。
插件 SDK:基类 OpenTabsPlugin 位于 platform/plugin-sdk/src/index.ts,构建产物为 dist/adapter.iife.js(注入浏览器)和 dist/tools.json(工具元数据),以 npm 包形式发布并支持全局安装自动发现。
快速开始
前置要求:Node.js ≥ 22 和 Chrome。
npm install -g @opentabs-dev/cli
opentabs start
# 在 chrome://extensions/ (开发者模式) 加载已解压扩展 → ~/.opentabs/extension
opentabs plugin install slack
CLI 常用命令:opentabs start(启动服务)、opentabs plugin install/configure <name>(插件管理)、opentabs tool list/call <name> <args>(工具操作)、opentabs status(查看状态)。
MCP 连接:服务器地址 http://localhost:9515/mcp,Gateway 模式 http://localhost:9515/mcp/gateway,认证使用 Bearer Token(64 字符十六进制密钥)。
环境变量:OPENTABS_PORT/PORT(自定义端口)、OPENTABS_CONFIG_DIR(配置目录)、OPENTABS_DANGEROUSLY_SKIP_PERMISSIONS(跳过权限确认)。
待确认信息:npm 包 @opentabs-dev/cli 是否已正式发布、首个发布日期、插件精确数量、Windows 跨平台兼容性矩阵、团队/作者信息。