web-access-mcp
v0.1.2
Published
MCP server for browser automation over Chrome CDP, adapted from eze-is/web-access
Downloads
61
Readme
web-access-mcp
把 eze-is/web-access 里真正“可执行”的浏览器能力改成一个显式 MCP server,避免依赖 skill 自动激活。
当前版本聚焦于 Chrome CDP 自动化,不再依赖 SKILL.md 的提示词调度逻辑。
安装
推荐直接全局安装:
npm install -g web-access-mcp升级到最新版本:
npm install -g web-access-mcp@latest资源限制
- MCP 自己创建的受管 tab 最多 10 个
- 超过 10 个后,
new_tab会直接报错,防止 Chrome target 过多导致卡顿或内存爆掉 adopt_tab接管你原本已打开的 tab 后,不计入这 10 个配额close_tab会释放配额- 默认情况下,用户本来就打开的 Chrome tab 不计入这 10 个配额,除非你显式执行
adopt_tab
已实现能力
browser_health: 检查 Chrome remote debugging 是否可发现browser_connect: 在浏览器侧授权后,显式完成一次 Chrome CDP 连接验证browser_health额外返回当前受管总数、created配额占用与上限list_tabs: 列出当前页面 tablist_tabs额外标记isManaged与managedSourcenew_tab: 新建后台 tabclose_tab: 关闭 tabclose_all_managed_tabs: 一键关闭全部受管 tabclose_created_tabs: 只关闭 MCP 新开的createdtab,保留接管的adoptedtabadopt_tab: 接管一个用户已打开的 tabnavigate: 页面跳转并等待加载go_back: 后退page_info: 读取标题、URL、readyStateeval: 在页面内执行 JavaScriptclick:element.click()click_at: 真实鼠标点击set_files: 给 file input 注入本地文件scroll: 页面滚动screenshot: 截图,支持返回 base64 或落盘
前置条件
- Node.js 22+
- Chrome 已打开
- 在 Chrome 打开
chrome://inspect/#remote-debugging - 勾选
Allow remote debugging for this browser instance
首次验证建议拆成两步:
- 调
browser_health,只验证 MCP server 正常响应;这一步不要求浏览器授权 - 若浏览器侧弹出授权或尚未勾选 remote debugging,先完成授权,再调
browser_connect
本地开发
npm run check
npm startCodex MCP 配置
在 ~/.codex/config.toml 里加入:
[mcp_servers.web-access]
command = "web-access-mcp"
startup_timeout_sec = 60.0MCP 接入示例
其他支持 stdio 的 MCP 客户端也可直接这样配置:
{
"mcpServers": {
"web-access": {
"command": "web-access-mcp"
}
}
}与原 skill 的差异
- 原 skill 的“自动选择 WebSearch / WebFetch / Jina / CDP”是提示词层能力,不是脚本层能力
- 本仓库把稳定、确定、可调用的部分下沉成 MCP tools
- 如果后续需要,可继续补
fetch_url、fetch_html、site_pattern_lookup等工具
设计取舍
- 目前无第三方依赖,直接用 Node 22 自带
WebSocket - 采用 stdio + JSON-RPC 实现最小 MCP server
- 保留原仓库的核心思路:复用用户自己的 Chrome 登录态,而不是启动独立浏览器
