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: WebControl
✨ Возможности
Возможность | Конечная точка | Что делает |
📖 Просмотр |
| Рендерит любую страницу (включая 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 installed
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to control the Google Chrome browser through a Node.js WebSocket bridge and a dedicated browser extension. It provides tools for capturing screenshots, executing JavaScript, managing tabs, and extracting page content via the MCP protocol.2
- 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 gradedqualityDmaintenanceProvides a real browser that bypasses bot detection (Cloudflare, Turnstile) for AI agents, enabling navigation, clicking, typing, screenshots, and data collection through MCP tools.71MIT
- AlicenseNot gradedqualityBmaintenanceHosted Chrome as an MCP skill. Enables any MCP-compatible agent to drive a real Chromium browser for tasks like navigation, clicking, typing, and taking screenshots.20MIT
Related MCP Connectors
Stealth web browser for agents: search, fetch, click and type through persistent sessions over MCP.
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/gopendrasharma89-tech/agent-browser'
If you have feedback or need assistance with the MCP directory API, please join our Discord server