安全浏览器自动化服务器

基于Playwright的安全优先浏览器自动化MCP服务器,具有本地化策略和敏感数据屏蔽功能。

  • by aliksir
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 aliksir/secure-browser-mcp

使用说明

安全浏览器mcp

英语| 日本语

安全第一的浏览器自动化MCP服务器。 建于 剧作家 严格的只针对当地的政策。

安全功能

功能 详细信息
零遥测 没有数据离开你的机器。没有PostHog,没有分析,没有云同步
敏感数据屏蔽 所有工具响应中都会自动屏蔽信用卡号、SSN和电子邮件
无外部连接 服务器从不给家里打电话。完全气密
无LLM依赖 没有API密钥,没有AI调用。您的MCP客户端处理推理;此服务器仅驱动浏览器
不需要Python 纯Node.js。没有Python运行时,没有pip,没有venv

为什么不是@scription/mcp?

安全浏览器mcp @description/mcp
遥测 无 无*
敏感数据屏蔽 内置(CC、SSN、电子邮件) 否
外部连接 零 取决于配置
DOM元素稳定性 data-mcp-index (独立于CSS) 辅助功能快照
依赖关系 最小(剧作家+MCP SDK) 剧作家+MCP软件开发工具包

*@description/mcp本身没有遥测技术,但不会在传递给LLM的响应中屏蔽敏感数据。

需求

  • Node.js 18+
  • 铬(通过安装 npx playwright install chromium)

快速开始

安装

git clone https://github.com/aliksir/secure-browser-mcp.git
cd secure-browser-mcp
npm install
npx playwright install chromium
npm run build

配置

添加到您的Claude Code MCP设置中(~/.claude/settings.json):

{
  "mcpServers": {
    "secure-browser": {
      "command": "node",
      "args": ["/path/to/secure-browser-mcp/dist/index.js"],
      "env": {
        "BROWSER_HEADLESS": "true"
      }
    }
  }
}

集 BROWSER_HEADLESS 到 "false" 查看浏览器窗口。

可用工具

工具 说明
browser_navigate 导航到URL(支持 new_tab)
browser_get_state 使用索引交互式元素获取页面状态
browser_click 按元素索引或坐标单击
browser_type 在元素中键入文本(敏感数据自动屏蔽)
browser_screenshot 截图(视口或整页)
browser_scroll 向上或向下滚动(视口的80%)
browser_go_back 返回历史记录
browser_get_html 获取HTML内容(整页或CSS选择器)
browser_list_tabs 列出所有打开的选项卡
browser_switch_tab 按ID切换到选项卡
browser_close_tab 按ID关闭选项卡
browser_list_sessions 列出活动浏览器会话
browser_close_session 关闭特定会话
browser_close_all 关闭所有会话和浏览器

口罩是如何工作的

当 browser_type 或 browser_get_state 处理文本,在响应到达MCP客户端之前,模式会自动替换:

图案 面具为
4111 2222 3333 4444 ****-****-****-****
123-45-6789 (SSN) ***-**-****
user@example.com <email>

这可以防止敏感数据被发送到LLM上下文窗口,在那里可以记录或缓存敏感数据。

设计决策

  • 零外部连接 --没有遥测,没有云同步,没有分析。一切都是本地的
  • 无LLM依赖 --此服务器不调用任何AI API。您的MCP客户端处理所有推理
  • 延迟会话清理 --会话在30分钟不活动后过期,在每次工具调用时检查(没有后台计时器)
  • 视口第一元素索引 --当前在视口中可见的元素将首先进行优先级排序和索引
  • data-mcp-index CSS选择器 --注入的属性在页面重新呈现时是稳定的,不像CSS选择器会随着DOM的更改而中断

环境变量

变量 默认值 描述
BROWSER_HEADLESS true 设置为 false 显示浏览器窗口

许可证

麻省理工学院