Skip to main content
Glama

๐ŸŒ Agent Browser API

A universal, fully working headless-browser for AI agents. Give any agent โ€” Zapier Agents, Custom GPTs, Claude, Cursor, LangChain, CrewAI, n8n, Make, or your own code โ€” a real Chromium browser: JavaScript rendering, web search, clicking, typing, form filling, dropdowns, screenshots, table & data extraction, and PDF generation.

๐Ÿ‡ฎ๐Ÿ‡ณ 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.

๐Ÿ”Œ Works with ANY agent โ€” three ways to connect

Mode

For

How

REST API

Zapier Agents, n8n, Make, LangChain, CrewAI, any code

POST /v1/browse {"url": "..."} with X-API-Key header. Auto-discover via GET /v1/tools (OpenAI function format).

OpenAPI

OpenAI Custom GPTs (Actions), API tooling

Import /openapi.yaml โ€” every endpoint documented.

MCP ๐Ÿ†•

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

Point your MCP client at https://YOUR-URL/mcp (Streamable HTTP) โ€” 22 browser tools appear natively.

Full copy-paste guides per platform: INTEGRATIONS.md ยท Zapier specifics: ZAPIER_SETUP.md

Related MCP server: WebControl

โœจ Features

Capability

Endpoint

What it does

๐Ÿ“– Browse

POST /v1/browse

Renders any page (JS included) โ†’ clean Markdown + title + links + metadata. LLM-ready.

๐Ÿ” Search

POST /v1/search

Web search via Brave/Bing/DDG with auto-fallback. No search API key needed.

๐Ÿ“ธ Screenshot

POST /v1/screenshot

PNG of page, full page, or a single element; custom viewport; binary or base64.

๐Ÿงฒ Extract

POST /v1/extract

Structured data via CSS selectors โ†’ JSON.

๐Ÿ“Š Tables

POST /v1/tables

All data tables on a page โ†’ JSON (headers + rows), layout/hidden tables skipped.

๐Ÿ–ฑ๏ธ Elements

POST /v1/elements

Visible links/buttons/inputs with ready-to-use CSS selectors โ€” agents can see what's clickable.

๐Ÿ“„ PDF

POST /v1/pdf

Render any page to PDF (portrait/landscape).

๐Ÿงญ Sessions

POST /v1/sessions + actions

Stateful multi-step flows: goto, click, type, fill, press, select, scroll, navigate (back/forward/reload), wait, evaluate, content, elements, screenshot.

๐Ÿค MCP

POST /mcp

All of the above as native MCP tools (screenshots returned as real images).

Plus: API-key auth, CORS, rate limiting, SSRF guard, session auto-expiry + LRU eviction, stealth basics, SPA settle waits, output truncation for LLM context safety, helpful error hints, /llms.txt, and a full OpenAPI spec.

๐Ÿš€ Quick start

  1. Fork/push this repo to GitHub.

  2. Go to render.com โ†’ New โ†’ Blueprint โ†’ pick this repo (render.yaml auto-detected).

  3. Copy the generated API_KEY from the service's Environment tab.

  4. Live at https://your-service.onrender.com ๐ŸŽ‰

Also works on Railway, Fly.io, or any Docker host.

Docker

docker build -t agent-browser .
docker run -p 8080:8080 -e API_KEY=your-secret-key agent-browser

Run locally

npm install            # installs deps + Chromium
API_KEY=your-secret-key npm start
# โ†’ agent-browser v2.0.0 listening on :8080

๐Ÿงช Try it

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"

Run the full smoke-test suite: npm test โ€” 26 checks covering every endpoint and a real MCP client round-trip.

โš™๏ธ Configuration (env vars)

Variable

Default

Description

API_KEY

(empty = auth off, dev only!)

Required key for all non-public endpoints.

PORT

8080

HTTP port.

MAX_SESSIONS

10

Max concurrent stateful sessions (LRU eviction).

SESSION_TTL_MS

600000

Idle session expiry (10 min).

NAV_TIMEOUT_MS

30000

Navigation timeout.

RATE_LIMIT_PER_MIN

120

Requests/min per API key or IP (0 = off).

CORS_ORIGIN

*

Allowed CORS origin.

ALLOW_PRIVATE_URLS

false

Allow browsing private/internal addresses (SSRF guard off).

๐Ÿ”’ Security notes

  • Always set API_KEY in production (Render blueprint generates one automatically).

  • Only http/https URLs are allowed; localhost/private/metadata addresses are blocked by default.

  • Run behind HTTPS (Render/Railway give you TLS for free).

  • evaluate runs arbitrary JS inside the sandboxed page โ€” keep your API key secret.

  • Public (no key) endpoints are read-only info: /, /health, /openapi.yaml, /llms.txt, /v1/tools.

๐Ÿ“ Project structure

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

License

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