Skip to main content
Glama

🌐 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

POST /v1/browse {"url": "..."} con cabecera X-API-Key. Auto-descubrimiento vía GET /v1/tools (formato de función de OpenAI).

OpenAPI

Custom GPTs de OpenAI (Acciones), herramientas de API

Importa /openapi.yaml — cada endpoint documentado.

MCP 🆕

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

Apunta tu cliente MCP a https://YOUR-URL/mcp (HTTP Streamable) — 22 herramientas de navegador aparecen de forma nativa.

Guías completas de copiar y pegar por plataforma: INTEGRATIONS.md · Específicos de Zapier: ZAPIER_SETUP.md

Related MCP server: WebControl

✨ Características

Capacidad

Endpoint

Qué hace

📖 Navegar

POST /v1/browse

Renderiza cualquier página (incluido JS) → Markdown limpio + título + enlaces + metadatos. Listo para LLM.

🔍 Buscar

POST /v1/search

Búsqueda web vía Brave/Bing/DDG con respaldo automático. No se necesita clave de API de búsqueda.

📸 Captura de pantalla

POST /v1/screenshot

PNG de la página, página completa o un elemento único; viewport personalizado; binario o base64.

🧲 Extraer

POST /v1/extract

Datos estructurados vía selectores CSS → JSON.

📊 Tablas

POST /v1/tables

Todas las tablas de datos de una página → JSON (cabeceras + filas), se omiten tablas de diseño/ocultas.

🖱️ Elementos

POST /v1/elements

Enlaces/botones/entradas visibles con selectores CSS listos para usar — los agentes pueden ver qué es clicable.

📄 PDF

POST /v1/pdf

Renderiza cualquier página a PDF (vertical/horizontal).

🧭 Sesiones

POST /v1/sessions + acciones

Flujos multi-paso con estado: goto, click, type, fill, press, select, scroll, navigate (atrás/adelante/recargar), wait, evaluate, content, elements, screenshot.

🤝 MCP

POST /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

  1. Haz fork/sube este repositorio a GitHub.

  2. Ve a render.comNuevo → Blueprint → elige este repositorio (render.yaml se detecta automáticamente).

  3. Copia la API_KEY generada desde la pestaña Entorno del servicio.

  4. 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-browser

Ejecutar 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 test26 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

API_KEY

(vacío = autenticación desactivada, ¡solo desarrollo!)

Clave requerida para todos los endpoints no públicos.

PORT

8080

Puerto HTTP.

MAX_SESSIONS

10

Máximo de sesiones con estado concurrentes (expulsión LRU).

SESSION_TTL_MS

600000

Caducidad de sesión inactiva (10 min).

NAV_TIMEOUT_MS

30000

Tiempo de espera de navegación.

RATE_LIMIT_PER_MIN

120

Solicitudes/min por clave de API o IP (0 = desactivado).

CORS_ORIGIN

*

Origen CORS permitido.

ALLOW_PRIVATE_URLS

false

Permitir navegación a direcciones privadas/internas (protección SSRF desactivada).

🔒 Notas de seguridad

  • Siempre establece API_KEY en 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).

  • evaluate ejecuta 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 deploy

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
  • 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
    D
    maintenance
    Provides a real browser that bypasses bot detection (Cloudflare, Turnstile) for AI agents, enabling navigation, clicking, typing, screenshots, and data collection through MCP tools.
    71
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Hosted 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.
    20
    MIT

View all related MCP servers

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.

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/gopendrasharma89-tech/agent-browser'

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