DrissionPage MCP — управление браузером
DrissionPage MCP Server
MCP-сервер на Python для Codex, Claude Code и Cursor: 69 инструментов управления Chromium на основе DrissionPage, с наблюдением за страницей и сетью
- 484 ★ репозитория
- Последний коммит
Широкий доступ
Почему такой уровень
- Агент управляет настоящим браузером: куки, хранилище и загрузки файлов доступны, формы можно отправлять от имени вашей сессии
- Пакет сочетает инструменты для заголовков запросов, подмены `user` `agent` и прохождения проверок вроде Turnstile: использовать их допустимо только на своих или разрешенных сайтах
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/drissionpage-mcp-serverОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент управляет настоящим браузером: куки, хранилище и загрузки файлов доступны, формы можно отправлять от имени вашей сессии
- Пакет сочетает инструменты для заголовков запросов, подмены `user` `agent` и прохождения проверок вроде Turnstile: использовать их допустимо только на своих или разрешенных сайтах
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер открывает браузер Chromium через DrissionPage и дает агенту 69 типизированных инструментов. Они разбиты по группам: переходы и вкладки, поиск и действия с элементами, снимки страницы и дерево доступности, фреймы и Shadow DOM, куки и хранилище, ожидания, наблюдение за сетью, диалоги и разрешения. Идея автора: модель решает, что делать, а сервер выполняет операцию точно. Если на странице есть надежные селекторы, используют их. Для холстов, карт и графиков агент берет координаты со снимка экрана и вызывает `page_click_xy`. Движение указателя бывает двух профилей: `direct` одним прыжком и `natural` по детерминированной кривой из 24 шагов. Случайного дрожания и логики обхода защиты в ядре нет. Сценарии для конкретных сайтов вынесены из ядра в необязательные скиллы. В репозитории три примера: диагностика `iframe` с другого домена, проверка собственной интеграции Cloudflare Turnstile и разбор публичных заметок Xiaohongshu. Скиллы не исполняются сервером, это Markdown-инструкции для хоста.
Для кого. Для разработчиков и тестировщиков, которым нужно управлять Chromium из Codex, Claude Code или Cursor, особенно на страницах с `iframe`, Shadow DOM и холстами.
Подходит, если
- Нужно проверить собственный сайт: пройти форму, посмотреть сетевые запросы и вывод консоли
- Элемент находится во фрейме с другого домена или в Shadow DOM, а инструменты общего назначения его не видят
- Интерфейс нарисован на холсте или карте, поэтому клики приходится ставить по координатам
- Нужно сохранить скачанный файл или PDF с контрольной суммой SHA-256 в управляемой папке
- Вы настраиваете проверку собственной интеграции Cloudflare Turnstile на тестовых ключах
Не подходит, если
- Нужен обход антибота или готовый сценарий под чужой сайт: ядро не содержит ни того, ни другого
- Ваш браузер не Chromium: нужен Chrome или Chromium
- Достаточно простого чтения страницы: быстрее взять сервис, который отдает текст в Markdown
- Задача требует массового сбора с чужих сайтов без разрешения: автор ориентирует сервер на авторизованное тестирование, доступность и технические исследования
Пример запроса к агенту
Открой мой тестовый сайт, заполни форму входа тестовым пользователем и покажи, какие сетевые запросы ушли при отправкеMCP
- Транспорт
- stdio
- Авторизация
- не нужна
Переменные окружения
CHROME_PATH- Путь к Chrome или Chromium, если он не находится автоматически
DP_HEADLESS- Значение 1 включает режим без окна
DP_MCP_DOWNLOAD_ROOT- Каталог для скачанных файлов
DP_MCP_UPLOAD_ROOT- Каталог файлов, разрешенных к загрузке на страницы
DP_MCP_SCREENSHOT_ROOT- Каталог для сохраненных скриншотов
DP_MCP_ARTIFACT_ROOT- Каталог для PDF и MHTML с контрольными суммами
Ограничения
- Нужны Python 3.10 или новее и установленный Chrome или Chromium. Диагностику запускает команда `drissionpage-mcp doctor`, с ключом `--launch-browser` она проверяет и старт браузера.
- Все 69 инструментов загружаются сразу, профилей возможностей и режима `full` нет.
- Содержимое `iframe` с другого домена читается не всегда: `frame_list` сообщает, доступен ли документ, иначе остаются геометрия и координаты.
- Скачивание, загрузка, скриншоты и артефакты ограничены каталогами из переменных `DP_MCP_DOWNLOAD_ROOT`, `DP_MCP_UPLOAD_ROOT`, `DP_MCP_SCREENSHOT_ROOT` и `DP_MCP_ARTIFACT_ROOT`.
- В файле `pyproject` указана лицензия Apache-2.0, а GitHub определяет ее как NOASSERTION.
Как отключить. Уберите блок `drissionpage` из конфигурации клиента: для Codex это раздел mcp_servers в config.toml, для остальных блок mcpServers. Пакет удаляет команда pip `uninstall` `drissionpage-mcp`.
Частые вопросы
Как поставить DrissionPage MCP в Claude Code?
Выполните python -m pip `install` -U "`drissionpage-mcp`>=0.8.8", проверьте `drissionpage-mcp` --version и `drissionpage-mcp` `doctor`, затем добавьте в конфигурацию MCP сервер с командой `drissionpage-mcp`. Если команда не видна в PATH, укажите полный путь к Python и аргументы -m drissionpage_mcp.cli.
Чем два профиля движения указателя отличаются между собой?
Профиль `direct` делает один точный шаг. Профиль `natural` строит детерминированную кривую из 24 шагов с паузами 8–14 мс и точным попаданием в цель. Случайности нет: одинаковые начало, цель и профиль дают одинаковый путь.
Что такое необязательные скиллы в этом репозитории?
Это инструкции в папке skills/<имя>/SKILL.md для сценариев поверх общих инструментов: `cross-origin-iframe-probe`, `turnstile-testing` и `xiaohongshu-content-research`. Сервер их не запускает. Установить каталог можно скриптом install.py с параметром --client codex или --client claude.
Какие переменные окружения читает сервер?
CHROME_PATH задает браузер, DP_HEADLESS включает режим без окна. Каталоги для скачиваний, загрузок, скриншотов и артефактов задают DP_MCP_DOWNLOAD_ROOT, DP_MCP_UPLOAD_ROOT, DP_MCP_SCREENSHOT_ROOT и DP_MCP_ARTIFACT_ROOT.
Показывает ли сервер значения куки и хранилища?
По умолчанию нет. Инструменты для куки и хранилища возвращают значения в скрытом виде, а раскрывают их только при явном параметре, например `include_values=true` для хранилища.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер и расширение Chrome, которые дают агенту управлять вашим уже открытым браузером с вашими авторизованными сессиями, все локально
Расширение Chrome с MCP-сервером: агент управляет вашим обычным браузером с его сессиями, вкладками, закладками и историей
Официальный MCP-сервер команды Chrome DevTools: агент управляет живым Chrome, смотрит сеть, консоль и записывает трейсы производительности
MCP-сервер, который открывает страницы в безголовом Chromium через Playwright и отдает агенту основной текст в Markdown даже с сайтов на JavaScript
MCP-сервер, который управляет вашим уже открытым Chrome и останавливается спросить вас про код из двух шагов, капчу или важный выбор
Chrome MCP на Python: агент подключается к Chrome через DevTools Protocol, читает сеть, консоль и куки, запускает JavaScript и снимает метрики страницы
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| DrissionPage MCP — управление браузером (эта запись) | нет | не нужна | 484 | |
| Playwright MCP Server | нет | не нужна | 5 671 | управляет браузером через Playwright и пакет от ExecuteAutomation, без движка DrissionPage |
| Chrome DevTools MCP | да | не нужна | 54 001 | официальный сервер команды Chrome DevTools для отладки и профилирования живого Chrome |
| Browser Use | нет | 118 910 | CLI, скилл и библиотека Python, где агент сам ведет браузер |
Коротко о README
README открывает принцип: модель решает, сервер выполняет, а сценарии для компонентов и сайтов остаются в клиенте или в скиллах. Затем идут установка из PyPI, проверка командой `doctor`, настройка для Codex в TOML и для остальных клиентов в JSON, полный перечень инструментов по группам и таблица примеров скиллов с границами остановки. Ниже собраны сведения о проверках качества: тесты в браузере, покрытие кода не ниже 95 процентов и интерактивная лаборатория для просмотра движения указателя.