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 "Install 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: WebControl
โจ 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 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