agent-browser
Enables CrewAI agents to perform browser-based actions like navigation, clicking, typing, and extracting data from web pages.
Allows LangChain agents to leverage a headless browser for web interactions, including searching, clicking, and extracting structured content.
Integrates Make (formerly Integromat) with browser automation capabilities such as rendering pages, filling forms, and scraping tables.
Permits n8n workflows to use browser automation for rendering JavaScript-heavy pages, submitting forms, taking screenshots, and extracting JSON data.
Enables OpenAI Custom GPTs and ChatGPT to browse the web, search, extract data, and take screenshots through the Agent Browser API.
Allows Zapier agents to use a real Chromium browser for web browsing, searching, clicking, typing, form filling, screenshots, and data extraction.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@agent-browsersearch for Python tutorials and summarize the top 3 results"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ 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 |
|
OpenAPI | OpenAI Custom GPTs (Actions), API tooling | Import |
MCP ๐ | Claude Desktop/Code, Cursor, Windsurf, ChatGPT, VS Code, n8n MCP | Point your MCP client at |
Full copy-paste guides per platform: INTEGRATIONS.md ยท Zapier specifics: ZAPIER_SETUP.md
Related MCP server: Real Browser MCP
โจ Features
Capability | Endpoint | What it does |
๐ Browse |
| Renders any page (JS included) โ clean Markdown + title + links + metadata. LLM-ready. |
๐ Search |
| Web search via Brave/Bing/DDG with auto-fallback. No search API key needed. |
๐ธ Screenshot |
| PNG of page, full page, or a single element; custom viewport; binary or base64. |
๐งฒ Extract |
| Structured data via CSS selectors โ JSON. |
๐ Tables |
| All data tables on a page โ JSON (headers + rows), layout/hidden tables skipped. |
๐ฑ๏ธ Elements |
| Visible links/buttons/inputs with ready-to-use CSS selectors โ agents can see what's clickable. |
๐ PDF |
| Render any page to PDF (portrait/landscape). |
๐งญ Sessions |
| Stateful multi-step flows: |
๐ค 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
Deploy free (Render) โ recommended
Fork/push this repo to GitHub.
Go to render.com โ New โ Blueprint โ pick this repo (
render.yamlauto-detected).Copy the generated
API_KEYfrom the service's Environment tab.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-browserRun 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 |
| (empty = auth off, dev only!) | Required key for all non-public endpoints. |
|
| HTTP port. |
|
| Max concurrent stateful sessions (LRU eviction). |
|
| Idle session expiry (10 min). |
|
| Navigation timeout. |
|
| Requests/min per API key or IP ( |
|
| Allowed CORS origin. |
|
| Allow browsing private/internal addresses (SSRF guard off). |
๐ Security notes
Always set
API_KEYin production (Render blueprint generates one automatically).Only
http/httpsURLs are allowed; localhost/private/metadata addresses are blocked by default.Run behind HTTPS (Render/Railway give you TLS for free).
evaluateruns 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 deployLicense
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.
Scrape, crawl and search the web for AI agents via MCP.
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Hyperbrowser MCP โ wraps the Hyperbrowser AI-agent browsing API
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 gradedqualityDmaintenanceProvides a real browser that bypasses bot detection (Cloudflare, Turnstile) for AI agents, enabling navigation, clicking, typing, screenshots, and data collection through MCP tools.53 npmMIT
- 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
- AlicenseAqualityCmaintenanceEnables AI agents and MCP clients to automate web browsers via Selenium WebDriver, supporting Chrome, Firefox, and Edge in headless or visible mode with tools for navigation, interaction, content extraction, screenshots, and scripting.2118 npmMIT