Skip to main content
Glama

MCP Browser

Нативный веб-браузер для macOS, который работает как сервер Model Context Protocol, позволяя ИИ-агентам управлять реальным WKWebView так же, как это делает человек — переходить по ссылкам, кликать, заполнять формы, читать DOM, делать скриншоты, выполнять JavaScript, а также отслеживать сетевую активность и консоль.

Построен на SwiftUI + WKWebView. MCP-сервер работает внутри процесса через локальный HTTP с аутентификацией по bearer-токену и защитой от DNS-ребиндинга.

Загрузка

⬇ Скачать последнюю сборку для macOS — подписанный и нотариально заверенный .dmg для Apple Silicon.

После загрузки откройте DMG и перетащите MCP Browser в папку «Программы» (Applications).

Скриншоты

Окно MCP Browser

Инструменты и настройки MCP Browser

Зачем это нужно

Большинство решений «браузер как инструмент» для агентов делятся на два типа:

  1. Headless-автоматизация (Playwright, Puppeteer) — быстрая и скриптуемая, но агент не видит того, что видите вы, не может использовать ваши залогиненные сессии и работает на другом движке браузера, нежели тот, которому вы доверяете.

  2. Облачные браузеры с удаленным управлением — ваши данные покидают ваш компьютер, и вы платите за каждую сессию.

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_tab

  • DOMclick, 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+ для сборки из исходного кода

Начало работы (пользователи)

  1. Скачайте последний DMG со страницы Releases.

  2. Перетащите MCP Browser в /Applications и запустите его.

  3. Откройте Settings → Connection, чтобы скопировать bearer-токен и URL MCP-эндпоинта.

  4. В вашем MCP-клиенте (Claude Desktop, Codex и др.) добавьте сервер. Вкладка Settings → MCP Clients в приложении может автоматически пропатчить конфигурацию для большинства популярных клиентов.

  5. Пользуйтесь как обычно. Когда LLM потребуется что-то сделать в вебе, она вызовет инструменты через MCP, и вы увидите действие в логе.

Начало работы (разработчики)

  1. Клонируйте этот репозиторий.

  2. Откройте MCP Browser.xcodeproj в Xcode.

  3. Выберите схему MCP Browser.

  4. Соберите и запустите на My Mac.

Сборка через CLI:

xcodebuild -project "MCP Browser.xcodeproj" -scheme "MCP Browser" -configuration Debug build

Сборка собственного форка

Проект поставляется с настройками подписи оригинального автора. Если вы делаете форк для сборки и распространения своей копии:

  1. Команда разработчиков — откройте таргет MCP Browser в Xcode → Signing & Capabilities → выберите свою команду. Это перезапишет DEVELOPMENT_TEAM в MCP Browser.xcodeproj/project.pbxproj.

  2. Идентификатор пакета (Bundle identifier) — измените PRODUCT_BUNDLE_IDENTIFIER с com.moosia.mcp-browser на свой собственный.

  3. 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 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-реквесты.

Лицензия

MIT

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
3dResponse time
6dRelease cycle
2Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brainfuel/mcp-browser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server