ai-browser
Enables AI agents to fully control a terminal browser via MCP, navigating pages, filling forms, logging in, and managing cookies with deterministic numbered links and forms. Also provides an interactive human CLI.
README
ai-browser
A full-featured terminal browser that an AI can completely control — navigate, read pages, log in, sign up, handle 2FA, generate disposable emails, store credentials, download files, and replay whole processes — from any MCP-capable agent (opencode, Claude Desktop, etc.). Humans get an interactive terminal CLI too.
No UI needed: it renders pages to plain text with numbered LINKS and FORMS so
an AI can act on [3] or 1.2 without a DOM. It works with plain HTML
(fast, zero heavy deps) and can optionally upgrade to a real headless
Chromium engine when Playwright is available.
Features
Browser core
- Persistent session: cookies and history saved to
~/.ai-browser/, logins survive restarts. - Deterministic addressing: pages render to text with numbered LINKS and
FORMS; the AI acts by index (
3,1.2) or by name/id/CSS. - Multiple tabs, each with its own history, one shared session.
- Page cache (LRU) — back/forward/reload are instant.
- Retry-with-backoff and gzip on all requests for speed and reliability.
- Proxy support (
http://,socks5://).
AI agent tools (55 via MCP)
- Navigation: navigate, read_page, back/forward/reload, history, tabs, wait, wait_for_text, find_text, screenshot (JS mode), save/download/fetch.
- Forms: fill, check, select, submit, click, extract, extract_json.
- Auth: auto_login, auto_signup (auto-detects email/name/password/confirm fields), analyze_page (detects login/signup/CAPTCHA/2FA).
- Credential vault: save_credentials, get_credentials, list/delete, auto_login_vault — passwords obfuscated on disk.
- Disposable email (mail.tm API): create inbox, list messages, read, extract verification codes — so signups that need an email address work.
- Macros: record a whole process once, replay anywhere, with conditional
steps (
if_contains,goto,stop). - Detection: CAPTCHA and 2FA/OTP pages are flagged so the AI knows a human step is required.
JavaScript (optional)
enable_js() upgrades to Playwright + Chromium headless for JS-only sites:
pip install playwright && playwright install chromium- (On Termux/Android use termux-x11; on desktop it works out of the box.)
Try it offline (no internet needed)
python demo_server.py # terminal 1: a tiny login-protected site on :8080
python cli.py http://127.0.0.1:8080/login # terminal 2: human browser
# login: admin / secret (or emma / secret)
Or let the AI do the whole flow through MCP: navigate → signup → fetch → login → vault → email → macro.
Download & Install
1. Download the code
git clone https://github.com/void-builder-1/ai-browser.git
cd ai-browser
Or download the ZIP from GitHub: Code → Download ZIP, then unzip:
unzip ai-browser-main.zip
cd ai-browser-main
2. Install dependencies
Requires Python 3.8+ and pip:
pip install -r requirements.txt
(On Termux/Android: pkg install python && pip install -r requirements.txt.
If pip is blocked system-wide, use a virtualenv: python -m venv venv && source venv/bin/activate.)
3. Run
python cli.py # human terminal browser
python cli.py https://example.com # open a URL directly
To uninstall, just delete the folder:
rm -rf ai-browser
Optional: JavaScript engine
pip install playwright && playwright install chromium
(On Termux/Android use termux-x11; on desktop it works out of the box.)
Let the AI drive it
With opencode
Add to opencode.json (project or ~/.config/opencode/opencode.json):
{
"mcp": {
"aibrowser": {
"type": "local",
"command": ["python3", "/absolute/path/to/aibrowser/mcp_server.py"]
}
}
}
Restart opencode, then tell it: "use the aibrowser MCP server to sign up on example.com and do X".
With any other MCP client
Point the client at aibrowser/mcp_server.py (stdio transport). 55 tools are
exposed — the full list comes from tools/list, but the main workflow tools:
| tool | purpose |
|---|---|
navigate(url) |
open a URL, returns text snapshot |
read_page() |
readable text + numbered links + forms |
auto_login(u, p) / auto_signup(email, pass, name) |
one-shot auth |
fill / check / select / submit / click |
drive forms |
save_credentials / get_credentials / auto_login_vault |
vault |
email_create / email_messages / email_read / email_code |
disposable mail |
analyze_page() |
login/signup/CAPTCHA/2FA detection |
record_start / record_stop / macro_run |
reusable processes |
enable_js / screenshot / set_proxy / status |
advanced |
The AI workflow pattern
navigate("https://target-site.com/signup")analyze_page()→ see the form structure and any 2FA/CAPTCHAemail_create()→ get a disposable address for the signupauto_signup(email, "Str0ng!pass", "Alice")email_messages()+email_code(msg_id)→ read the verification emailfill("1.1", code)+submit("1")→ finish verificationsave_credentials(site, email, pass)→ store for next timeget_cookies()to confirm the session; cookies persist on disk
CLI commands
open, links, forms, click, fill, check, select, submit,
login, signup, analyze, vault/vaultsave/vaultget/vaultdel/
vlogin, mail/mailmsgs/mailread/mailcode, fetch, find,
waitfor, cache, save, download, grab, grabjson, record,
stop, run, macros, back, fwd, reload, cookies, clearcookies,
history, js, shot, proxy, status, raw, url, title, help,
quit.
Tests
python test_engine.py # 37 checks: nav, auth, vault, tabs, macros, cache...
Limitations
- No JavaScript unless you install Playwright (then
enable_js()). - CAPTCHAs are detected and flagged for the AI, not solved automatically.
- 2FA codes are read from the disposable inbox when the site emails them.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.