agent-browser
🌐 Agent Browser API
Универсальный, полностью рабочий headless-браузер для AI-агентов. Дайте любому агенту — Zapier Agents, Custom GPTs, Claude, Cursor, LangChain, CrewAI, n8n, Make или вашему собственному коду — настоящий браузер Chromium: рендеринг JavaScript, веб-поиск, клики, ввод текста, заполнение форм, выпадающие списки, скриншоты, извлечение таблиц и данных, а также генерация PDF.
🇮🇳 Кратко на хинди: Это настоящий браузер, который может использовать любой AI-агент — 3 способа: простой REST API, импорт OpenAPI (Custom GPT) или нативный MCP (Claude/Cursor/ChatGPT). Разверните, установите API-ключ — готово. ✅ 26/26 тестов проходят.
🔌 Работает с ЛЮБЫМ агентом — три способа подключения
Режим | Для кого | Как |
REST API | Zapier Agents, n8n, Make, LangChain, CrewAI, любой код |
|
OpenAPI | OpenAI Custom GPTs (Actions), API-инструменты | Импортируйте |
MCP 🆕 | Claude Desktop/Code, Cursor, Windsurf, ChatGPT, VS Code, n8n MCP | Укажите вашему MCP-клиенту адрес |
Полные руководства «копируй и вставляй» для каждой платформы: INTEGRATIONS.md · Особенности Zapier: ZAPIER_SETUP.md
Related MCP server: project-tendril
✨ Возможности
Возможность | Конечная точка | Что делает |
📖 Просмотр |
| Рендерит любую страницу (включая JS) → чистый Markdown + заголовок + ссылки + метаданные. Готово для LLM. |
🔍 Поиск |
| Веб-поиск через Brave/Bing/DDG с автоматическим резервным вариантом. API-ключ для поиска не нужен. |
📸 Скриншот |
| PNG страницы, всей страницы или отдельного элемента; произвольный viewport; бинарный или base64. |
🧲 Извлечение |
| Структурированные данные через CSS-селекторы → JSON. |
📊 Таблицы |
| Все таблицы данных на странице → JSON (заголовки + строки), таблицы вёрстки/скрытые пропускаются. |
🖱️ Элементы |
| Видимые ссылки/кнопки/поля ввода с готовыми к использованию CSS-селекторами — агенты могут видеть, на что можно кликнуть. |
| Рендерит любую страницу в PDF (книжная/альбомная ориентация). | |
🧭 Сессии |
| Многошаговые потоки с сохранением состояния: |
🤝 MCP |
| Всё вышеперечисленное как нативные MCP-инструменты (скриншоты возвращаются как настоящие изображения). |
Плюс: аутентификация по API-ключу, CORS, ограничение скорости, защита SSRF, автоматическое истечение сессий + вытеснение LRU, базовые меры скрытности, ожидание завершения SPA, усечение вывода для безопасности контекста LLM, полезные подсказки об ошибках hint, /llms.txt и полная спецификация OpenAPI.
🚀 Быстрый старт
Бесплатное развёртывание (Render) — рекомендуется
Сделайте форк/запушьте этот репозиторий на GitHub.
Перейдите на render.com → New → Blueprint → выберите этот репозиторий (
render.yamlопределится автоматически).Скопируйте сгенерированный
API_KEYиз вкладки Environment сервиса.Сервис доступен по адресу
https://your-service.onrender.com🎉
Также работает на Railway, Fly.io или любом Docker-хосте.
Docker
docker build -t agent-browser .
docker run -p 8080:8080 -e API_KEY=your-secret-key agent-browserЛокальный запуск
npm install # installs deps + Chromium
API_KEY=your-secret-key npm start
# → agent-browser v2.0.0 listening on :8080🧪 Попробуйте
BASE=http://localhost:8080; KEY=your-secret-key
# Read a JS-heavy page as markdown
curl -X POST $BASE/v1/browse -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
-d '{"url":"https://news.ycombinator.com"}'
# Search the web
curl -X POST $BASE/v1/search -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
-d '{"query":"best CRM for startups","limit":5}'
# Extract every table on a page as JSON
curl -X POST $BASE/v1/tables -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
-d '{"url":"https://www.scrapethissite.com/pages/forms/"}'
# Multi-step: search Wikipedia interactively
SID=$(curl -s -X POST $BASE/v1/sessions -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
-d '{"url":"https://en.wikipedia.org"}' | jq -r .sessionId)
curl -X POST $BASE/v1/sessions/$SID/fill -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
-d '{"fields":{"input[name=search]":"Artificial intelligence"}}'
curl -X POST $BASE/v1/sessions/$SID/press -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
-d '{"key":"Enter"}'
curl $BASE/v1/sessions/$SID/content -H "X-API-Key: $KEY"
curl -X DELETE $BASE/v1/sessions/$SID -H "X-API-Key: $KEY"Запустите полный набор smoke-тестов: npm test — 26 проверок, покрывающих каждую конечную точку и реальный цикл MCP-клиента.
⚙️ Конфигурация (переменные окружения)
Переменная | По умолчанию | Описание |
| (пусто = аутентификация отключена, только для разработки!) | Обязательный ключ для всех непубличных конечных точек. |
|
| HTTP-порт. |
|
| Максимальное количество одновременных сессий с состоянием (вытеснение LRU). |
|
| Истечение бездействующей сессии (10 мин). |
|
| Таймаут навигации. |
|
| Запросов/мин на API-ключ или IP ( |
|
| Разрешённый CORS-источник. |
|
| Разрешить просмотр частных/внутренних адресов (защита SSRF отключена). |
🔒 Замечания по безопасности
Всегда устанавливайте
API_KEYв продакшене (blueprint Render генерирует его автоматически).Разрешены только URL
http/https; адреса localhost/частные/метаданные заблокированы по умолчанию.Запускайте за HTTPS (Render/Railway дают TLS бесплатно).
evaluateвыполняет произвольный JS внутри изолированной страницы — держите ваш API-ключ в секрете.Публичные (без ключа) конечные точки доступны только для чтения:
/,/health,/openapi.yaml,/llms.txt,/v1/tools.
📁 Структура проекта
src/server.js # Express API: auth, CORS, rate limit, routes
src/actions.js # Shared high-level actions (used by REST + MCP)
src/browser.js # Chromium lifecycle, sessions, TTL/LRU, SSRF guard
src/extract.js # HTML → markdown, CSS extraction, tables, elements
src/search.js # Multi-engine web search with fallback
src/mcp.js # MCP server (Streamable HTTP, 22 tools)
src/tools-manifest.js # GET /v1/tools (OpenAI function format)
openapi.yaml # Full API specification
test/run-tests.sh # 26-check smoke-test suite (incl. MCP round-trip)
Dockerfile # Production image (Playwright base, version-pinned)
render.yaml # One-click Render deployЛицензия
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Stealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.
Hosted browser for agents: open pages, search the web, extract data, read PDFs and take screenshots.
Official Browserless MCP server: browser automation, scraping, screenshots and PDFs for AI agents.
A real Chromium browser agents pay for per action in USDC via x402 — hosted MCP, free local stdio.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceHeadless browser automation for LLM agents via REST API or MCP tools. Enables navigating pages, reading structured content, clicking elements, filling forms, and executing JavaScript.-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to operate an isolated local Chromium browser through MCP, with semantic snapshots, ref-based actions, search, research, crawling, and CDP access.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to drive a live Chromium browser through MCP tools for reading pages as markdown, clicking and typing with element refs, taking screenshots, and downloading files, while enforcing safety rules like stale-ref refusal, irreversible-action blocking, robots.txt compliance, request pacing, and configurable proxies. It also supports site skills for structured data extraction.Apache 2.0
- AlicenseBqualityCmaintenanceEnables an LLM to control a hosted headless Chromium browser over HTTP, navigating pages, clicking, typing, and reading structured accessibility snapshots so any MCP client can perform browser automation without local installation.238,508,652 npmApache 2.0