AI browser agent: browses, clicks, types, and reads real web pages from plain-English instructions.
MCPpedia last refreshed this data
io.github.feder-cr/aihawk is an MCP server that AI browser agent: browses, clicks, types, and reads real web pages from plain-English instructions. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 92/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"io-github-feder-cr-aihawk": {
"args": [
"aihawk"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
AI browser agent: browses, clicks, types, and reads real web pages from plain-English instructions.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
uvx 'aihawk' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked aihawk against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in browser
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
MCP server for Firecrawl — web search, scraping, and biomedical/arXiv paper search.
Claude in Chrome, reverse-engineered and open-source. No domain blocklist. Any Chromium browser. Same 18 MCP tools, same performance.
Native Safari browser automation for AI agents — 98 tools, zero Chrome overhead.
MCP Security Weekly
Get CVE alerts and security updates for io.github.feder-cr/aihawk and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Other AI browser agents get captchas. This one is invisible to anti-bots.
Windows, in PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
$env:Path = "$env:USERPROFILE\.local\bin;$env:Path"
Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
Then install it in your assistant.
Claude Code:
claude plugin marketplace add feder-cr/invisible_playwright_mcp
claude plugin install invisible-playwright-mcp@feder-cr
Codex:
codex plugin marketplace add feder-cr/invisible_playwright_mcp
codex plugin add invisible-playwright-mcp@feder-cr
Gemini CLI:
gemini extensions install https://github.com/feder-cr/invisible_playwright_mcp
We bring the interface, you bring an OpenRouter key. Chat on the left, the live browser on the right.
Windows, in PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
$env:Path = "$env:USERPROFILE\.local\bin;$env:Path"
uvx invisible-playwright-mcp ui --openrouter-key sk-or-...
Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
uvx invisible-playwright-mcp ui --openrouter-key sk-or-...
Then open http://127.0.0.1:8765 and type the same thing.
Anything that needs real web automation: a browser rather than an API, and a person's judgement about what is on the page.
Go to
<paste the URL>. One way, Milan to Lisbon, economy, one checked bag, one adult. Check every date from the 12th to the 16th of next month, one at a time, and read the cheapest fare for each day. The date field is a calendar widget, so click the days rather than typing them. If a date has no availability, say so. Do not guess a number.
It drives the page the way a person would: the pointer moves, keys are pressed.
--openrouter-key Your key, or the OPENROUTER_API_KEY variable.--model An OpenRouter model id, or INVISIBLE_MCP_MODEL. Defaults to z-ai/glm-5.3-flash.--proxy Optional. http://user:pass@proxy.example.com:8080 or
socks5://proxy.example.com:1080. Host and port are both required. The
timezone, locale and egress follow it.--binary An engine binary you already have. It must be the build the seal
pins, or startup refuses: this skips the download, not the version check.--seed An integer. Same seed, same browser identity, every run.--profile-dir A directory to keep the profile in, so logins and cookies
survive restarts.--headed Show the browser window. The interface shows you the page anyway.--host, --port 127.0.0.1 and 8765. Changing the host
exposes an interface that has no authentication..env beside the commandRather than retyping the key and the binary path, put them in a .env in the
directory you run from:
OPENROUTER_API_KEY=sk-or-...
STEALTHFOX_BINARY=/path/to/firefox
It is read at startup, and on the way in it never overrides something
already set, so the order is --flag > the environment > .env > the default.
Only the directory you are in is read - there is no search upwards, so running
from a subfolder cannot silently pick up a different key. The startup line names
the variables it applied and never prints their values.
Passing --openrouter-key puts the key in your s