Skip to main content
Glama

nodriver-mcp

Локальный сервер Codex MCP для исследования аутентифицированных браузеров с помощью nodriver. Он сохраняет выделенный профиль Chromium/Helium между запусками и выполняет горячую перезагрузку Python-скрейперов для конкретных задач.

Setup

Требуется Python 3.11+, uv и браузер на основе Chromium.

uv sync --locked

Добавьте это в ~/.codex/config.toml, заменив каждый плейсхолдер на абсолютный путь:

[mcp_servers.nodriver]
command = "uv"
args = ["--directory", "<path-to-nodriver-mcp>", "run", "--frozen", "nodriver-mcp"]
startup_timeout_sec = 30
tool_timeout_sec = 600

[mcp_servers.nodriver.env]
NODRIVER_MCP_BROWSER_EXECUTABLE = "<path-to-helium-or-chromium>"
NODRIVER_MCP_USER_DATA_DIR = "<path-to-a-dedicated-browser-profile>"
NODRIVER_MCP_SCRIPTS_DIR = "<path-to-nodriver-mcp>/scrapers"
NODRIVER_MCP_ARTIFACTS_DIR = "<path-to-nodriver-mcp>/artifacts"

Перезапустите Codex после изменения конфигурации MCP. Браузер запускается лениво. По умолчанию он видимый, чтобы вы могли один раз войти в выделенный профиль; его куки сохраняются. Codex передаёт headless=true, когда запрос явно требует безголового просмотра, и в противном случае выбирает видимый режим. Переключение режимов перезапускает управляемый браузер, сохраняя профиль.

Related MCP server: scout-mcp-server

Use

Спросите Codex, например:

Используй мою сессию браузера, чтобы найти подходящие элементы на example.com. Осмотри страницу, создай переиспользуемый скрейпер, запусти его и сохрани большие результаты как артефакт. Запусти в безголовом режиме.

Codex может осмотреть страницу с помощью инструментов браузера, затем сохранить и запустить скрейпер. Каждый вызов scraper_run снова читает файл, поэтому правки применяются без перезапуска MCP-сервера:

async def scrape(ctx, params):
    if url := params.get("url"):
        await ctx.goto(url)

    items = await ctx.evaluate_json("""
        Array.from(document.querySelectorAll('article')).map(item => ({
            title: (item.querySelector('h2')?.innerText || '').trim(),
            href: item.querySelector('a')?.href || null
        }))
    """)
    return {"items": items}

Точка входа должна быть async def scrape(ctx, params) и возвращать JSON-совместимые данные. Отдавайте предпочтение одному массовому вызову ctx.evaluate_json(...). Используйте ctx.write_artifact(...) для больших результатов. Скрейперы должны использовать асинхронные операции и завершать все задачи перед возвратом.

Test

uv run --frozen ruff check src tests
uv run --frozen pytest

Security

Запускайте этот сервер локально только через STDIO. Скрейперы представляют собой Python без песочницы с доступом к ОС от процесса MCP и управлением аутентифицированным браузером. Никогда не раскрывайте куки, токены, пароли или конечную точку DevTools; считайте содержимое страниц ненадёжным; используйте только те данные, к которым у вас есть разрешение; и соблюдайте условия использования сайта и ограничения частоты запросов. Профили браузеров, сгенерированные скрейперы и артефакты могут содержать личные данные и не должны попадать в систему контроля версий.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for browser automation with anti-detection. Scout pages, find elements, interact with websites, and monitor network traffic from any AI client that supports the Model Context Protocol.
    21
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Remote MCP server for web scraping with anti-bot evasion. Provides stealth HTTP fetching, headless browser with Cloudflare bypass, CSS selectors, YouTube transcripts, and Markdown conversion.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for controlling a local camofox-browser instance, enabling LLM agents to perform web automation tasks such as navigation, interaction, snapshotting, and content extraction.
    53
    MIT

View all related MCP servers

Related MCP Connectors

  • Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

  • An MCP server for deep research or task groups

View all MCP Connectors

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/namecallfilter/nodriver-mcp'

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