
Playwright MCP
Даёт агенту настоящий браузер: открыть страницу, кликнуть, заполнить форму, снять скриншот и прочитать консоль. Страницу агент видит через дерево доступности, без распознавания картинки.
Как подключить
Что сделать до подключения
Node.js 18 или новее
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --transport stdio playwright \
-- npx @playwright/mcp@latestПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"playwright": {
"type": "stdio",
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"playwright": {
"type": "local",
"command": ["npx", "@playwright/mcp@latest"]
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
browser_navigateоткрывает адресbrowser_snapshotснимает структуру страницыbrowser_clickкликает по элементуbrowser_typeвводит текст в полеbrowser_fill_formзаполняет форму целикомbrowser_select_optionвыбирает пункт спискаbrowser_hoverнаводит курсорbrowser_press_keyнажимает клавишуbrowser_file_uploadзагружает файлbrowser_take_screenshotделает скриншотbrowser_console_messagesчитает консольbrowser_network_requestsпоказывает сетевые запросыbrowser_evaluateвыполняет JavaScript на страницеbrowser_resizeменяет размер окнаbrowser_tabsуправляет вкладкамиbrowser_wait_forждёт текст или паузуbrowser_navigate_backвозвращается назадbrowser_handle_dialogотвечает на диалогbrowser_closeзакрывает браузерЧто попросить агента
Для каких задач
Ограничения
Дерево доступности занимает много контекста: на длинных страницах сессия быстро разрастается
Профиль браузера по умолчанию сохраняется на диске; два клиента с одним профилем конфликтуют, второму нужен флаг --isolated
Хранилище, cookie и подмена запросов включаются отдельно флагом --caps