安全浏览器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的响应中屏蔽敏感数据。
快速开始
安装
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 | `` |
这可以防止敏感数据被发送到LLM上下文窗口,在那里可以记录或缓存敏感数据。
设计决策
- 零外部连接 --没有遥测,没有云同步,没有分析。一切都是本地的
- 无LLM依赖 --此服务器不调用任何AI API。您的MCP客户端处理所有推理
- 延迟会话清理 --会话在30分钟不活动后过期,在每次工具调用时检查(没有后台计时器)
- 视口第一元素索引 --当前在视口中可见的元素将首先进行优先级排序和索引
data-mcp-indexCSS选择器 --注入的属性在页面重新呈现时是稳定的,不像CSS选择器会随着DOM的更改而中断
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
BROWSER_HEADLESS | true | 设置为 false 显示浏览器窗口 |
许可证
麻省理工学院
