mcp-browser
MCP Browser
一款原生 macOS 网络浏览器,它将自身作为 Model Context Protocol 服务器公开,以便 AI 智能体能够像人类一样驱动真实的 WKWebView——进行导航、点击、填写表单、读取 DOM、截屏、运行 JavaScript 以及捕获网络和控制台活动。
基于 SwiftUI + WKWebView 构建。MCP 服务器通过本地 HTTP 在进程内运行,具有 bearer-token 身份验证和 DNS 重绑定防御功能。
下载
⬇ 下载最新的 macOS 构建版本 — 适用于 Apple Silicon 的已签名、已公证的 .dmg 文件。
下载后,打开 DMG 并将 MCP Browser 拖到您的应用程序文件夹中。
Related MCP server: OpenTabs
截图


为什么选择它
大多数针对智能体的“浏览器即工具”方案通常分为两类:
无头自动化(Playwright, Puppeteer)—— 速度快且可脚本化,但智能体无法看到您所看到的界面,无法共享您的登录会话,并且运行在与您信任的浏览器不同的引擎中。
远程控制的云浏览器 —— 您的数据会离开您的机器,并且您需要按会话付费。
MCP Browser 是第三种选择:它是您 Mac 上一个真实的浏览器窗口,您可以登录、导航并亲自使用它——当您需要时,LLM 可以通过 MCP 驱动它。Cookie、历史记录、书签和下载内容都保留在本地。智能体看到的页面与您看到的一模一样。
功能
浏览器
WKWebView 支持的标签页,具有 Safari 风格的标签栏(网站图标、悬停关闭、等宽标签)
URL 栏,带有历史记录 + 书签自动补全
书签栏、完整的书签管理器、历史记录视图、下载弹出窗口
页面内查找、每个主机的缩放持久化、画中画控制器
书签导入器(HTML / Safari / Chrome 格式)
每个标签页的 Cookie 和网络捕获
MCP 服务器
本地 HTTP 传输,端口为
8833(可配置)——POST /mcp用于 JSON-RPC,GET /mcp用于 SSE 风格的状态Bearer-token 身份验证,每个启动周期生成一个令牌,可在设置中重新生成
DNS 重绑定防御 ——
Host请求头会针对127.0.0.1/localhost进行验证自动注册,通过
MCPRegistrar与常见的 MCP 客户端(Claude Desktop, Codex 等)集成工具操作日志 —— 每次工具调用都会记录参数、结果摘要和耗时
工具(当前目录)
导航 ——
navigate,back,forward,reload,current_url,current_title标签页 ——
list_tabs,new_tab,switch_tab,close_tabDOM ——
click,fill,submit,hover,press_key,type_text,scroll,find_in_page,get_element,accessibility_tree页面内容 ——
read_text,read_page,page_metadata,screenshot,pdf_export,render_html,eval_js,find,list_links,list_formsCookies / 存储 ——
get_cookies,set_cookie,storage,clear_session书签 ——
list_bookmarks,open_bookmark_folder检查 ——
console_logs,network_log,dialog文件 ——
download,upload_file(受用户权限控制)杂项 ——
wait_for,emulate,resize
请参阅 MCP Browser/MCP/MCPToolCatalog.swift 获取权威列表。
隐私与安全
每次启动的 bearer token —— 没有该令牌的客户端将收到
401 Unauthorized错误来源 / 主机验证 —— 阻止来自恶意本地网页的 DNS 重绑定攻击
用户确认 —— 针对下载、上传和任何
dialog交互进行确认默认仅限本地 —— 服务器绑定到
127.0.0.1,绝不绑定到公共网络设置中的操作日志 —— 您可以准确查看智能体在您的浏览器中执行了什么操作
要求
macOS 14+ (Sonoma 或更高版本)
Xcode 16+(用于从源码构建)
入门指南(用户)
从 Releases 页面下载最新的 DMG。
将 MCP Browser 拖到
/Applications并启动它。打开 Settings → Connection 以复制 bearer token 和 MCP 端点 URL。
在您的 MCP 客户端(Claude Desktop, Codex 等)中添加服务器。应用程序的 Settings → MCP Clients 选项卡可以自动为最常见的客户端修补配置。
正常浏览。当 LLM 需要在网页上执行操作时,它会通过 MCP 调用工具,您将在日志中看到该操作。
入门指南(开发者)
克隆此仓库。
在 Xcode 中打开
MCP Browser.xcodeproj。选择
MCP Browser方案。在 My Mac 上构建并运行。
CLI 构建:
xcodebuild -project "MCP Browser.xcodeproj" -scheme "MCP Browser" -configuration Debug build构建您自己的分支
该项目附带了原作者的签名设置。如果您要分叉以构建并发布自己的副本:
开发团队 —— 在 Xcode 中打开
MCP Browser目标 → Signing & Capabilities → 选择您自己的团队。这会重写MCP Browser.xcodeproj/project.pbxproj中的DEVELOPMENT_TEAM。Bundle identifier —— 将
PRODUCT_BUNDLE_IDENTIFIER从com.moosia.mcp-browser更改为您拥有的标识符。不包含 API 密钥。 MCP Browser 本身不调用任何 LLM 提供商 —— 它只为连接的任何客户端提供工具。
配置 MCP 客户端
大多数 MCP 客户端接受 HTTP 传输块。claude_desktop_config.json 示例:
{
"mcpServers": {
"mcp-browser": {
"transport": "http",
"url": "http://127.0.0.1:8833/mcp",
"headers": {
"Authorization": "Bearer <token-from-settings>"
}
}
}
}捆绑的 MCP Clients 设置选项卡可以为您已知的客户端(Claude Desktop, Codex 等)自动写入此配置 —— 选择客户端,点击 Add MCP Browser,它将直接修补文件。
每次您在 Settings → Connection 中点击 Regenerate token 时,令牌都会轮换。轮换后请重新修补您的客户端。
数据存储
书签、历史记录、每个主机的缩放设置、下载内容和操作日志均使用
PersistentStore(基于文件)和 SwiftData(在适当情况下)本地存储。Bearer token 存储在
UserDefaults中。您可以随时从 Settings → Connection 重新生成它,以撤销现有客户端的访问权限。网站图标缓存在 Application Support 下的磁盘上。
无遥测。无云同步。除非您调用的 MCP 工具导致数据传输,否则没有任何内容会离开机器。
项目结构
MCP Browser/
├── Browser/ WKWebView wrapper, tab model, presenter, scripts, PiP
├── MCP/ MCP server, JSON-RPC, host protocol, tool catalog
│ ├── Registrar/ Auto-config patcher for Claude Desktop / Codex / etc.
│ └── Tools/ Tool implementations (navigation, DOM, content, etc.)
├── Settings/ Settings tabs (general, privacy, connection, recorder, etc.)
├── Storage/ Bookmarks, history, downloads, favicons, action log
├── Views/ Bookmarks bar, bookmarks manager, history, downloads popover
├── ContentView.swift Top-level window layout, tab strip, URL bar
├── AppCommands.swift Menu bar commands and keyboard shortcuts
└── MCP_BrowserApp.swift App entry point and environment wiring关键文件
MCP/MCPServer.swift— 基于NWListener的 HTTP/JSON-RPC 服务器,处理身份验证和重绑定防御MCP/MCPCoordinator.swift— 将工具调用路由到焦点窗口的活动标签页MCP/MCPToolCatalog.swift— 所有公开工具的注册表MCP/MCPSecret.swift— 基于 Keychain 的 bearer tokenBrowser/BrowserTab.swift— 包装WKWebView的每个标签页的@Observable模型Browser/WebViewHost.swift—NSViewRepresentable桥接器
安全模型
MCP Browser 特意运行在 无沙盒 (un-sandboxed) 模式下,以便能够:
修补
~/Library/Application Support/~/.config中的 MCP 客户端配置文件在明确要求时驱动其他应用程序(例如打开外部方案)
它 不会:
绑定除回环地址 (
127.0.0.1) 之外的任何网络接口在没有每次启动的 bearer token 的情况下接受连接
响应
Host请求头与127.0.0.1或localhost不匹配的请求(DNS 重绑定防御)自行将任何内容发送出机器
如果您关注审计,整个 HTTP 接口位于 MCP Browser/MCP/MCPServer.swift 中,大约 400 行代码。
已知限制
操作日志目前还不能从 UI 中进行回溯搜索。
支持多窗口,但 MCP 协调器仅路由到最近获得焦点的窗口。
网站的 OAuth 和基本身份验证流程由 WebKit 处理;MCP Browser 本身不存储密码。目前请通过 Safari/Chrome 导入使用系统钥匙串。
没有移动端/iOS 构建版本 —— 这是一个仅限 Mac 的工具。
贡献
请参阅 CONTRIBUTING.md 了解如何提交错误、请求功能和提交拉取请求。
许可证
This server cannot be deployed
Maintenance
Related MCP Connectors
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Stealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.
Live browser debugging for AI assistants — DOM, console, network via MCP.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Related MCP Servers
- AlicenseBqualityAmaintenanceNative Safari browser automation for AI agents. 80 tools via AppleScript — zero overhead, keeps logins, runs silently in background. Drop-in alternative to Chrome DevTools MCP with 40-60% less CPU/heat on Apple Silicon.982,367 npm183MIT
- AlicenseAqualityAmaintenanceOpen-source MCP server that gives AI agents access to 100+ web applications through the user's authenticated browser session. No API keys, no screenshots, no DOM scraping — talks directly to web app internal APIs via a Chrome extension. Supports Slack, Discord, GitHub, Jira, Notion, Reddit, X, and 100+ more services with ~2,000 tools. Works with Claude Code, Cursor, Windsurf, and any MCP client.42939MIT
- AlicenseNot gradedqualityAmaintenancesingle-binary MCP server that gives AI agents a browser. 66 tools for navigation, form filling, data extraction, screenshots, and DOM diffing — built on pure Chrome DevTools Protocol.12MIT
- FlicenseNot gradedqualityBmaintenanceAn MCP server that lets AI assistants drive real Chromium browsers — navigate, click, type, read pages, run OCR, and record network traffic. 43 tools, credentials stay local, zero telemetry.-