agent-browser
🌐 Agent Browser API
Un navegador headless universal y totalmente funcional para agentes de IA. Dale a cualquier agente — Zapier Agents, Custom GPTs, Claude, Cursor, LangChain, CrewAI, n8n, Make, o tu propio código — un navegador Chromium real: renderizado de JavaScript, búsqueda web, clics, escritura, relleno de formularios, menús desplegables, capturas de pantalla, extracción de tablas y datos, y generación de PDF.
🇮🇳 Hindi TL;DR: Yeh ek real browser hai jo koi bhi AI agent use kar sakta hai — 3 tarike: simple REST API, OpenAPI import (Custom GPT), ya native MCP (Claude/Cursor/ChatGPT). Deploy karo, API key set karo, ho gaya. ✅ 26/26 tests passing.
🔌 Funciona con CUALQUIER agente — tres formas de conectarse
Modo | Para | Cómo |
REST API | Agentes de Zapier, n8n, Make, LangChain, CrewAI, cualquier código |
|
OpenAPI | Custom GPTs de OpenAI (Acciones), herramientas de API | Importa |
MCP 🆕 | Claude Desktop/Code, Cursor, Windsurf, ChatGPT, VS Code, n8n MCP | Apunta tu cliente MCP a |
Guías completas de copiar y pegar por plataforma: INTEGRATIONS.md · Específicos de Zapier: ZAPIER_SETUP.md
Related MCP server: project-tendril
✨ Características
Capacidad | Endpoint | Qué hace |
📖 Navegar |
| Renderiza cualquier página (incluido JS) → Markdown limpio + título + enlaces + metadatos. Listo para LLM. |
🔍 Buscar |
| Búsqueda web vía Brave/Bing/DDG con respaldo automático. No se necesita clave de API de búsqueda. |
📸 Captura de pantalla |
| PNG de la página, página completa o un elemento único; viewport personalizado; binario o base64. |
🧲 Extraer |
| Datos estructurados vía selectores CSS → JSON. |
📊 Tablas |
| Todas las tablas de datos de una página → JSON (cabeceras + filas), se omiten tablas de diseño/ocultas. |
🖱️ Elementos |
| Enlaces/botones/entradas visibles con selectores CSS listos para usar — los agentes pueden ver qué es clicable. |
| Renderiza cualquier página a PDF (vertical/horizontal). | |
🧭 Sesiones |
| Flujos multi-paso con estado: |
🤝 MCP |
| Todo lo anterior como herramientas MCP nativas (las capturas de pantalla se devuelven como imágenes reales). |
Además: autenticación por clave de API, CORS, limitación de tasa, protección SSRF, caducidad automática de sesiones + expulsión LRU, conceptos básicos de stealth, esperas de asentamiento SPA, truncamiento de salida para seguridad del contexto LLM, hints de error útiles, /llms.txt y una especificación OpenAPI completa.
🚀 Inicio rápido
Despliegue gratuito (Render) — recomendado
Haz fork/sube este repositorio a GitHub.
Ve a render.com → Nuevo → Blueprint → elige este repositorio (
render.yamlse detecta automáticamente).Copia la
API_KEYgenerada desde la pestaña Entorno del servicio.En vivo en
https://your-service.onrender.com🎉
También funciona en Railway, Fly.io o cualquier host Docker.
Docker
docker build -t agent-browser .
docker run -p 8080:8080 -e API_KEY=your-secret-key agent-browserEjecutar localmente
npm install # installs deps + Chromium
API_KEY=your-secret-key npm start
# → agent-browser v2.0.0 listening on :8080🧪 Pruébalo
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"Ejecuta la suite completa de pruebas de humo: npm test — 26 comprobaciones que cubren cada endpoint y un viaje de ida y vuelta real con un cliente MCP.
⚙️ Configuración (variables de entorno)
Variable | Por defecto | Descripción |
| (vacío = autenticación desactivada, ¡solo desarrollo!) | Clave requerida para todos los endpoints no públicos. |
|
| Puerto HTTP. |
|
| Máximo de sesiones con estado concurrentes (expulsión LRU). |
|
| Caducidad de sesión inactiva (10 min). |
|
| Tiempo de espera de navegación. |
|
| Solicitudes/min por clave de API o IP ( |
|
| Origen CORS permitido. |
|
| Permitir navegación a direcciones privadas/internas (protección SSRF desactivada). |
🔒 Notas de seguridad
Siempre establece
API_KEYen producción (el blueprint de Render genera una automáticamente).Solo se permiten URLs
http/https; las direcciones localhost/privadas/metadatos están bloqueadas por defecto.Ejecuta detrás de HTTPS (Render/Railway te dan TLS gratis).
evaluateejecuta JS arbitrario dentro de la página sandbox — mantén tu clave de API en secreto.Los endpoints públicos (sin clave) son información de solo lectura:
/,/health,/openapi.yaml,/llms.txt,/v1/tools.
📁 Estructura del proyecto
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 deployLicencia
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.236,908,874 npmApache 2.0