Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Browser Store

FreeNot checked

MCP server for managing and controlling multiple isolated Chrome/Edge browser instances, exposing tools for navigation, screenshots, clicking, form filling, and

GitHubEmbed

About

MCP server for managing and controlling multiple isolated Chrome/Edge browser instances, exposing tools for navigation, screenshots, clicking, form filling, and JavaScript execution to AI clients.

README

浏览器多开管理 CLI —— 基于 Chrome/Edge 内核多开独立浏览器实例,每个实例独立 profile 与会话数据、独立 CDP 远程调试端口,可把每个实例的浏览器能力通过 MCP Server 暴露给 AI 客户端(如 Claude Desktop),并内置 umijs 管理台。

npm version npm downloads License CI GitHub stars

npx -y @bysking/browser-store

目录

核心能力

能力 说明
多开实例 每个实例独立 --user-data-dir profile 目录,会话 / cookies / 登录态互不影响
独立 CDP 端口 每实例自动分配独立 --remote-debugging-port(默认 9222 起,冲突自动 +1 重分配)
MCP Server 每实例可暴露为 MCP server,AI 客户端直接操控该浏览器(导航/截图/点击/填表/执行 JS 等 16 个工具)
生命周期 新增 / 编辑 / 删除 / 启动 / 关闭 / 重置(清 profile 还原),状态机完整管理
管理台 umijs 前端嵌入 CLI,bs serve 单端口出全站
发布 esbuild 单文件 bundle,npx 即装即用,无需安装浏览器驱动

安装

npm i -g @bysking/browser-store   # 全局安装
# 或
npx -y @bysking/browser-store     # 免安装直接使用

要求:Node.js >= 20.10.0

从源码构建

git clone https://github.com/bysking/browser-store.git
cd browser-store
pnpm install
pnpm build                       # 产出 dist/cli.cjs + dist/public
node dist/cli.cjs --version      # 验证

快速开始

# 1. 探测本机已安装浏览器
bs discover

# 2. 新增实例
bs add work --engine chrome
bs add edge1 --engine edge --headless --urls https://example.com,https://github.com

# 3. 启动 / 停止 / 重启 / 重置
bs start work
bs stop work
bs restart work
bs reset work --yes          # 清空 profile 还原(自定义目录需 --force)

# 4. 即开即用:实例不存在自动创建,命令退出后浏览器保持运行
bs open work https://example.com

# 5. 查看状态 / 日志
bs ls
bs info work
bs logs work --follow

# 6. 启动常驻服务(API + 管理台 + HTTP MCP)
bs serve
# 浏览器打开 http://localhost:3210 进入管理台

# 7. 让 AI 操控浏览器(MCP)
bs mcp-register work          # 拿到 Claude Desktop 配置片段

帮助

$ bs --help

用法: bs [options] [command]

浏览器多开管理 CLI — 独立 profile / 独立 CDP 端口 / 每实例 MCP Server

选项:
  -v, --version              输出版本号
  -h, --help                 display help for command

命令:
  serve [options]            启动常驻服务(HTTP API + umijs 管理台 + 实例生命周期 + HTTP MCP)
  open [options] <name> [url] 即开即用:打开(必要时创建)实例并导航到 URL,命令退出后浏览器保持运行
  add [options] <name>       新增浏览器实例
  ls|list [options]          列出所有实例及状态
  start <name>               启动实例
  stop <name>                停止实例
  restart <name>             重启实例
  reset [options] <name>     重置实例:停止 + 清空 profile 还原(默认需确认)
  prune [options] [name]     清理实例的可再生缓存/指标目录(需先停止,不影响会话数据)
  rename <name> <newName>    重命名实例
  rm|remove [options] <name> 删除实例(需先停止)。默认保留 profile,--purge 连带删除
  mcp <name>                 为实例启动 stdio MCP server(供 Claude Desktop 等 AI 客户端接入)
  mcp-register <name>        打印/写入该实例的 Claude Desktop mcpServers 配置片段
  discover                   探测本机已安装浏览器
  doctor                     诊断:node 版本、浏览器、端口、CDP 可达性
  logs [options] <name>      查看实例日志
  info <name>                查看实例完整配置 + 状态 + CDP/MCP 地址

命令参考

命令 说明
bs serve [--port] [--host] [--stop-all-on-exit] 常驻服务:HTTP API + 管理台 + 生命周期 + HTTP MCP
bs open <name> [url] [--engine] 即开即用:打开(必要时创建)实例并导航,命令退出浏览器保持运行
bs add <name> [--engine] [--profile-dir] [--debug-port] [--mcp-port] [--headless] [--urls] [--mcp-transport] 新增实例
bs ls / list [--json] 列出实例及状态
bs start / stop / restart <name> 启停 / 重启
bs reset <name> [--yes] [--no-start] 重置:停止 + 清空 profile 还原
bs rename <name> <newName> 重命名
bs rm <name> [--yes] [--purge] 删除实例(交互选择是否连带删 profile,--purge 连带删)
bs mcp <name> 为该实例启动 stdio MCP server
bs mcp-register <name> 打印 Claude Desktop mcpServers 配置片段
bs discover 探测本机浏览器
bs doctor 诊断:node / 浏览器 / 端口 / CDP 可达性
bs logs <name> [--follow] [--tail N] 查看 / 跟随日志
bs info <name> 完整配置 + 状态 + CDP/MCP 地址

MCP 接入 Claude Desktop

对任一实例执行 bs mcp-register <name>,把输出的片段加入 Claude Desktop 配置,即可让 AI 直接操控该实例(详见 docs/claude-desktop-setup.md)。

HTTP 模式bs serve 后每个运行中的实例暴露 http://localhost:<port>/mcp/<instanceId>(Streamable HTTP),任何标准 MCP 客户端可连接。

数据存储

全部 JSON 存储于本地(可用 BS_HOME 覆盖根目录):

~/.browser-store/
├── instances.json   # 实例配置(用户可编辑)
├── state.json       # 运行时状态(daemon 独占写)
├── daemon.json      # daemon 发现信息(CLI 路由用)
├── profiles/<id>/   # 受管 profile 目录
└── logs/<id>.log    # 实例日志

安全说明

  • CDP 调试端点仅监听 127.0.0.1,启动参数含 --remote-allow-origins=*(Chrome 111+ CDP WebSocket 必需),仅限本地可信环境
  • reset 默认只清受管目录的 profile;自定义目录需 --force 并确认,防误删用户数据
  • bs serve 退出默认不杀已启动的浏览器(--stop-all-on-exit 才全停),实例可被下次启动的 daemon 收养

架构

browser-store/
├── bin/bs.ts           # CLI 入口(esbuild bundle)
├── src/
│   ├── cli.ts          # commander 命令定义
│   ├── commands.ts     # 命令实现
│   ├── serve.ts        # 常驻服务 + daemon.json + 孤儿收养
│   ├── config/         # instances.json / state.json / 路径
│   ├── engines/        # BrowserEngine 可插拔(chrome / edge)
│   ├── instance/       # 端口分配 / spawn / 状态机 / 进程管理
│   ├── cdp/session.ts  # chrome-remote-interface 封装
│   ├── mcp/            # MCP 工具 + stdio + Streamable HTTP
│   └── api/            # REST + SSE 事件流
├── web/                # umijs 管理台(构建产物嵌入 dist/public)
└── docs/

详细规划见 docs/architecture-plan.md,功能与使用技巧见 docs/help-center.md

开发

pnpm install
pnpm exec tsx bin/bs.ts --help     # dev 运行
pnpm typecheck                     # 类型检查
pnpm lint                          # 代码规范检查
pnpm build                         # esbuild bundle + web 构建 + 静态拷贝
node dist/cli.cjs --version        # 产物运行
pnpm test                          # 单元测试

贡献

欢迎参与贡献!请阅读 CONTRIBUTING.md 了解开发环境、提交规范与 PR 流程。提交前请确保 pnpm typecheckpnpm lintpnpm test 全部通过。

License

本项目采用 MIT + 商业授权 双许可模式:

  • 个人 / 开源 / 学术用途:遵循 MIT 许可,完全免费
  • 商业用途:需取得作者书面授权,详见 LICENSE

from github.com/bysking/browser-store

Installing Browser Store

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/bysking/browser-store

FAQ

Is Browser Store MCP free?

Yes, Browser Store MCP is free — one-click install via Unyly at no cost.

Does Browser Store need an API key?

No, Browser Store runs without API keys or environment variables.

Is Browser Store hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Browser Store in Claude Desktop, Claude Code or Cursor?

Open Browser Store on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Playwright

Browser automation, scraping, screenshots

Microsoftby Microsoft

Puppeteer

Browser automation and web scraping.

modelcontextprotocolby modelcontextprotocol

Garmin Connect

An MCP server for Garmin Connect that provides access to fitness activities, health statistics, and sleep data by routing requests through a headless browser to

etweisbergby etweisberg

Higgsfield Unlimited

MCP server for Higgsfield AI that enables unlimited-mode image, video, audio generation, uploads, and job management via multiple parallel accounts, using brows

nukIeerby nukIeer

opentabs-dev/opentabs

Plugin-based MCP server + Chrome extension that gives AI agents access to web applications through the user's authenticated browser session. 100+ plugins with a

opentabs-devby opentabs-dev

robhunter/agentdeals

1,500+ developer infrastructure deals, free tiers, and startup programs across 54 categories. Search deals, compare vendors, plan stacks, and track pricing chan

robhunterby robhunter

hlydecker/ucsc-genome-mcp

MCP server to interact with the UCSC Genome Browser API, letting you find genomes, chromosomes, and more.

hlydeckerby hlydecker

34892002/bilibili-mcp-js

A MCP server that supports searching for Bilibili content. Provides LangChain integration examples and test scripts.

34892002by 34892002

achiya-automation/safari-mcp

Native Safari browser automation for AI agents with 80+ tools. No Chrome dependency, optimized for Apple Silicon with 60% less CPU overhead.

achiya-automationby achiya-automation

agent-infra/mcp-server-browser

Browser automation capabilities using Puppeteer, both support local and remote browser connection.

bytedanceby bytedance

Compare Browser Store with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All browse MCPs