Skip to main content
Glama

🌐 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, любой код

POST /v1/browse {"url": "..."} с заголовком X-API-Key. Автообнаружение через GET /v1/tools (формат функций OpenAI).

OpenAPI

OpenAI Custom GPTs (Actions), API-инструменты

Импортируйте /openapi.yaml — каждая конечная точка документирована.

MCP 🆕

Claude Desktop/Code, Cursor, Windsurf, ChatGPT, VS Code, n8n MCP

Укажите вашему MCP-клиенту адрес https://YOUR-URL/mcp (Streamable HTTP) — 22 инструмента браузера появятся нативно.

Полные руководства «копируй и вставляй» для каждой платформы: INTEGRATIONS.md · Особенности Zapier: ZAPIER_SETUP.md

Related MCP server: project-tendril

✨ Возможности

Возможность

Конечная точка

Что делает

📖 Просмотр

POST /v1/browse

Рендерит любую страницу (включая JS) → чистый Markdown + заголовок + ссылки + метаданные. Готово для LLM.

🔍 Поиск

POST /v1/search

Веб-поиск через Brave/Bing/DDG с автоматическим резервным вариантом. API-ключ для поиска не нужен.

📸 Скриншот

POST /v1/screenshot

PNG страницы, всей страницы или отдельного элемента; произвольный viewport; бинарный или base64.

🧲 Извлечение

POST /v1/extract

Структурированные данные через CSS-селекторы → JSON.

📊 Таблицы

POST /v1/tables

Все таблицы данных на странице → JSON (заголовки + строки), таблицы вёрстки/скрытые пропускаются.

🖱️ Элементы

POST /v1/elements

Видимые ссылки/кнопки/поля ввода с готовыми к использованию CSS-селекторами — агенты могут видеть, на что можно кликнуть.

📄 PDF

POST /v1/pdf

Рендерит любую страницу в PDF (книжная/альбомная ориентация).

🧭 Сессии

POST /v1/sessions + действия

Многошаговые потоки с сохранением состояния: goto, click, type, fill, press, select, scroll, navigate (назад/вперёд/перезагрузка), wait, evaluate, content, elements, screenshot.

🤝 MCP

POST /mcp

Всё вышеперечисленное как нативные MCP-инструменты (скриншоты возвращаются как настоящие изображения).

Плюс: аутентификация по API-ключу, CORS, ограничение скорости, защита SSRF, автоматическое истечение сессий + вытеснение LRU, базовые меры скрытности, ожидание завершения SPA, усечение вывода для безопасности контекста LLM, полезные подсказки об ошибках hint, /llms.txt и полная спецификация OpenAPI.

🚀 Быстрый старт

Бесплатное развёртывание (Render) — рекомендуется

  1. Сделайте форк/запушьте этот репозиторий на GitHub.

  2. Перейдите на render.com → New → Blueprint → выберите этот репозиторий (render.yaml определится автоматически).

  3. Скопируйте сгенерированный API_KEY из вкладки Environment сервиса.

  4. Сервис доступен по адресу 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-клиента.

⚙️ Конфигурация (переменные окружения)

Переменная

По умолчанию

Описание

API_KEY

(пусто = аутентификация отключена, только для разработки!)

Обязательный ключ для всех непубличных конечных точек.

PORT

8080

HTTP-порт.

MAX_SESSIONS

10

Максимальное количество одновременных сессий с состоянием (вытеснение LRU).

SESSION_TTL_MS

600000

Истечение бездействующей сессии (10 мин).

NAV_TIMEOUT_MS

30000

Таймаут навигации.

RATE_LIMIT_PER_MIN

120

Запросов/мин на API-ключ или IP (0 = выключено).

CORS_ORIGIN

*

Разрешённый CORS-источник.

ALLOW_PRIVATE_URLS

false

Разрешить просмотр частных/внутренних адресов (защита 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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Headless browser automation for LLM agents via REST API or MCP tools. Enables navigating pages, reading structured content, clicking elements, filling forms, and executing JavaScript.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables 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
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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
  • A
    license
    B
    quality
    C
    maintenance
    Enables 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.
    23
    8,508,652 npm
    Apache 2.0