mcp-browser
MCP Browser
Нативный веб-браузер для macOS, который работает как сервер Model Context Protocol, позволяя ИИ-агентам управлять реальным WKWebView так же, как это делает человек — переходить по ссылкам, кликать, заполнять формы, читать DOM, делать скриншоты, выполнять JavaScript, а также отслеживать сетевую активность и консоль.
Построен на SwiftUI + WKWebView. MCP-сервер работает внутри процесса через локальный HTTP с аутентификацией по bearer-токену и защитой от DNS-ребиндинга.
Загрузка
⬇ Скачать последнюю сборку для macOS — подписанный и нотариально заверенный .dmg для Apple Silicon.
После загрузки откройте DMG и перетащите MCP Browser в папку «Программы» (Applications).
Related MCP server: Ghostlight
Скриншоты


Зачем это нужно
Большинство решений «браузер как инструмент» для агентов делятся на два типа:
Headless-автоматизация (Playwright, Puppeteer) — быстрая и скриптуемая, но агент не видит того, что видите вы, не может использовать ваши залогиненные сессии и работает на другом движке браузера, нежели тот, которому вы доверяете.
Облачные браузеры с удаленным управлением — ваши данные покидают ваш компьютер, и вы платите за каждую сессию.
MCP Browser — это третий вариант: реальное окно браузера на вашем Mac, в которое вы входите, по которому перемещаетесь и которое используете сами, и которым LLM может управлять через MCP, когда вы ее об этом просите. Куки, история, закладки и загрузки остаются локальными. Агент видит ту же страницу, что и вы.
Возможности
Браузер
Вкладки на базе WKWebView со стилем вкладок как в Safari (фавиконки, закрытие при наведении, вкладки одинаковой ширины)
Адресная строка с автодополнением из истории и закладок
Панель закладок, полноценный менеджер закладок, просмотр истории, всплывающее окно загрузок
Поиск на странице, сохранение масштаба для каждого хоста, контроллер «картинка в картинке»
Импортер закладок (форматы HTML / Safari / Chrome)
Захват куки и сети для каждой вкладки
MCP-сервер
Локальный HTTP-транспорт на порту
8833(настраиваемый) —POST /mcpдля JSON-RPC,GET /mcpдля статуса в стиле SSEАутентификация по bearer-токену с токеном на каждый запуск, который можно пересоздать в настройках
Защита от DNS-ребиндинга — заголовок
Hostпроверяется на соответствие127.0.0.1/localhostАвтоматическая регистрация в популярных MCP-клиентах (Claude Desktop, Codex и др.) через
MCPRegistrarЛог действий инструментов — каждый вызов инструмента записывается с аргументами, результатом и временем выполнения
Инструменты (текущий каталог)
Навигация —
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_formsКуки / хранилище —
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-токен на каждый запуск — клиенты без него получают
401 UnauthorizedПроверка Origin / Host — блокирует атаки DNS-ребиндинга с вредоносных локальных веб-страниц
Подтверждение пользователя для загрузок, выгрузок и любых взаимодействий с
dialogПо умолчанию только локально — сервер привязывается к
127.0.0.1, никогда не выходит в публичную сетьЛог действий в Настройках → вы можете видеть в точности, что агент делал в вашем браузере
Требования
macOS 14+ (Sonoma или новее)
Xcode 16+ для сборки из исходного кода
Начало работы (пользователи)
Скачайте последний DMG со страницы Releases.
Перетащите MCP Browser в
/Applicationsи запустите его.Откройте Settings → Connection, чтобы скопировать bearer-токен и URL MCP-эндпоинта.
В вашем MCP-клиенте (Claude Desktop, Codex и др.) добавьте сервер. Вкладка Settings → MCP Clients в приложении может автоматически пропатчить конфигурацию для большинства популярных клиентов.
Пользуйтесь как обычно. Когда LLM потребуется что-то сделать в вебе, она вызовет инструменты через MCP, и вы увидите действие в логе.
Начало работы (разработчики)
Клонируйте этот репозиторий.
Откройте
MCP Browser.xcodeprojв Xcode.Выберите схему
MCP Browser.Соберите и запустите на My Mac.
Сборка через CLI:
xcodebuild -project "MCP Browser.xcodeproj" -scheme "MCP Browser" -configuration Debug buildСборка собственного форка
Проект поставляется с настройками подписи оригинального автора. Если вы делаете форк для сборки и распространения своей копии:
Команда разработчиков — откройте таргет
MCP Browserв Xcode → Signing & Capabilities → выберите свою команду. Это перезапишетDEVELOPMENT_TEAMвMCP Browser.xcodeproj/project.pbxproj.Идентификатор пакета (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, и он пропатчит файл на месте.
Токен обновляется каждый раз, когда вы нажимаете Regenerate token в Settings → Connection. Перепатчивайте свои клиенты после обновления токена.
Хранение данных
Закладки, история, масштаб для каждого хоста, загрузки и лог действий хранятся локально с помощью
PersistentStore(на базе файлов) и SwiftData, где это уместно.Bearer-токен хранится в
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— HTTP/JSON-RPC сервер на базеNWListener, аутентификация, защита от ребиндингаMCP/MCPCoordinator.swift— маршрутизация вызовов инструментов к активной вкладке сфокусированного окнаMCP/MCPToolCatalog.swift— реестр всех доступных инструментовMCP/MCPSecret.swift— bearer-токен, защищенный KeychainBrowser/BrowserTab.swift—@Observableмодель для каждой вкладки, оборачивающаяWKWebViewBrowser/WebViewHost.swift— мостNSViewRepresentable
Модель безопасности
MCP Browser намеренно работает без песочницы (un-sandboxed), чтобы иметь возможность:
Патчить конфигурационные файлы MCP-клиентов в
~/Library/Application Support/~/.configУправлять другими приложениями (например, открывать внешние схемы) при явном запросе
Он не:
Привязывается к сетевым интерфейсам, кроме loopback (
127.0.0.1)Принимает соединения без bearer-токена, выданного при запуске
Выполняет запросы, заголовок
Hostкоторых не совпадает с127.0.0.1илиlocalhost(защита от DNS-ребиндинга)Отправляет что-либо с компьютера самостоятельно
Если вы хотите провести аудит, вся HTTP-поверхность находится в MCP Browser/MCP/MCPServer.swift и занимает около 400 строк.
Известные ограничения
Лог действий пока нельзя искать из интерфейса.
Поддержка нескольких окон есть, но MCP-координатор направляет запросы только в последнее сфокусированное окно.
Потоки OAuth и базовой аутентификации для сайтов обрабатываются WebKit; сам MCP Browser не хранит пароли. Пока используйте системный Keychain через импорт из Safari/Chrome.
Нет сборки для мобильных устройств/iOS — это инструмент только для Mac.
Участие в разработке
См. CONTRIBUTING.md о том, как сообщать об ошибках, запрашивать функции и отправлять pull-реквесты.
Лицензия
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Browz hosted MCP (free public beta): let an AI app drive your own Browz browser profiles from anywhere. Connect https://mcp.gobrowz.com/mcp and sign in with your Browz account (OAuth) or an agent token. Each call is relayed to the Browz app on your computer, which must be online with Remote control on and have a hardware security chip (Mac Secure Enclave or TPM 2.0). 17 tools: profiles, tabs, navigate, snapshot, act, wait, screenshot. Cookies, downloads and stored sign-ins stay on your computer.
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Let AI agents use any website you're logged in to. Sessions stay encrypted on your machine.
Web scraping, browser automation, screenshots and AI data extraction for AI agents via MCP.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceAn 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.-
- AlicenseAqualityBmaintenanceMCP server that lets AI agents drive your real Chromium browser with your existing signed-in sessions, providing visible, local, and inspectable automation for tasks like navigation, clicking, typing, and form filling.251Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables any MCP-capable AI client to drive the user's own Chrome or Edge browser through a set of browse_* tools — navigating, clicking, typing, extracting, and managing tabs with their existing logins on their own machine. Runs locally and self-hosted with a live viewport and pause/approve controls so every verified step stays under user watch.4MIT
- AlicenseNot gradedqualityAmaintenanceA local MCP server that lets AI coding tools drive the user's actual, already-logged-in Chrome browser — snapshotting pages, clicking, typing, navigating, reading content, taking screenshots, and inspecting cookies, network traffic, and console output. Browser automation happens through a Chrome extension using Native Messaging, so no remote-debugging port is exposed and all communication stays on the local machine.1 npmISC