Server data from the Official MCP Registry
Local Playwright browser through residential proxies — agent picks country + sticky identity
Local Playwright browser through residential proxies — agent picks country + sticky identity
This MCP server is well-architected with proper credential handling, input validation, and permission scoping appropriate to its browser automation purpose. No malicious patterns or dangerous vulnerabilities detected. Minor code quality observations around error handling breadth do not substantially impact security posture. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 4 high severity). Package verification found 1 issue.
7 files analyzed · 10 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: AETHYN_USERNAME
Environment variable: AETHYN_PASSWORD
Environment variable: AETHYN_DEFAULT_TIER
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-aethynio-aethyn-browser-mcp": {
"env": {
"AETHYN_PASSWORD": "your-aethyn-password-here",
"AETHYN_USERNAME": "your-aethyn-username-here",
"AETHYN_DEFAULT_TIER": "your-aethyn-default-tier-here"
},
"args": [
"-y",
"aethyn-browser-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
An MCP server that lets an AI agent drive a real browser through residential proxies, choosing the exit country / city, tier, and a sticky per-task session — at call time. The browser (Playwright Chromium) runs locally on your machine; you bring your own proxy credentials. Defaults to Aethyn residential proxies, and works with any HTTP proxy you configure.
The only browser MCP where the agent picks the country and holds one identity per task.
This server gives the agent runtime, per-task, steerable geo + sticky identity as tools — exactly what browser agents need to pull country-specific data (pricing, SERPs, catalogs, availability) and feed it into a chart or pipeline.
Add the server to your MCP client — Claude Desktop (claude_desktop_config.json) or Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"aethyn-browser": {
"command": "npx",
"args": ["-y", "aethyn-browser-mcp"],
"env": {
"AETHYN_USERNAME": "aethyn-XXXXX",
"AETHYN_PASSWORD": "your-proxy-password",
"AETHYN_DEFAULT_TIER": "premium"
}
}
}
}
Chromium is downloaded automatically on first install (~170 MB, one-time). If your environment blocks post-install scripts, run it yourself: npx playwright install chromium.
⚠️ Set the tier to match your plan.
AETHYN_DEFAULT_TIERdefaults topremium(port2099). If your account is Elite, set it toelite(port5499) — otherwise traffic hits the Premium port and the proxy returns 407 (auth rejected), even though the browser launched fine. The agent can also override per task withtier: "elite".
That's it. Ask your agent something like "Launch a browser in Japan, open example.co.jp, verify the exit IP is Japanese, and give me the page as markdown."
| Tool | What it does |
|---|---|
aethyn_launch_browser | Launch local Chromium through a residential exit in a chosen country (+ city/state on Elite), tier, and sticky session. Returns a session_id. |
aethyn_navigate | Go to a URL; waits for load and returns the HTTP status, final URL, and title. |
aethyn_get_content | Return the page cleaned for reading (markdown / text / html). |
aethyn_snapshot | Accessibility snapshot (roles, names, [ref=..] handles) — how the agent decides what to click. |
aethyn_click | Click by ref (from the snapshot) or a CSS/role/text selector. |
aethyn_type | Type into an input (optionally submit with Enter). |
aethyn_check_exit_ip | Fetch IP info through the session's proxy to verify the geo actually landed. |
aethyn_new_identity | Rotate to a fresh exit IP (same country) and clear cookies. |
aethyn_close | Close the session's context and free memory. |
aethyn_list_countries | Discover available countries (and Elite cities) at runtime. |
| Aethyn Browser MCP | Playwright MCP | Hosted scraping MCPs | |
|---|---|---|---|
| Runs the browser | Local (yours) | Local | Their cloud |
| Proxy geo chosen by the agent per task | ✅ at call time | ❌ fixed at startup | ❌ not exposed |
| Sticky identity per task (pinned exit IP) | ✅ | ❌ | ❌ |
| Verify the exit geo landed | ✅ check_exit_ip | ❌ | ❌ |
| Bring your own proxy | ✅ any HTTP proxy | one static proxy | ❌ |
No trash-talk — just the capability delta. (Playwright MCP is great; it just wasn't built for per-task geo.)
Aethyn is the default, but any HTTP proxy works — point PROXY_HOST at it and describe its username format with a template. [ ... ] segments are dropped when empty, and {country} {city} {state} {session} {lifetime} are filled from the agent's call:
{
"mcpServers": {
"browser": {
"command": "npx",
"args": ["-y", "aethyn-browser-mcp"],
"env": {
"PROXY_HOST": "gate.your-provider.com",
"PROXY_PORT": "7000",
"PROXY_USERNAME": "your-user",
"PROXY_PASSWORD": "your-pass",
"PROXY_USERNAME_TEMPLATE": "{username}-country-{country}[-city-{city}]-session-{session}-lifetime-{lifetime}"
}
}
}
}
For a plain fixed proxy with no geo in the username, use "PROXY_USERNAME_TEMPLATE": "{username}".
| Env var | Default | Notes |
|---|---|---|
AETHYN_USERNAME / AETHYN_PASSWORD | — | Your Aethyn proxy credentials (default provider). |
AETHYN_DEFAULT_TIER | premium | premium (HTTP 2099) or elite (HTTP 5499, unlocks city/state). |
AETHYN_HEADLESS | true | Set false to watch the browser. |
AETHYN_MAX_SESSIONS | 8 | Oldest session is evicted past this cap. |
AETHYN_IDLE_TIMEOUT_MIN | 10 | Idle sessions auto-close after this many minutes. |
AETHYN_IPINFO_URL | https://ipinfo.io/json | Endpoint check_exit_ip hits (through the proxy). |
PROXY_HOST / PROXY_PORT / PROXY_USERNAME / PROXY_PASSWORD / PROXY_USERNAME_TEMPLATE | — | Bring-your-own proxy (overrides the Aethyn default). |
HTTP proxies only — Chromium can't authenticate SOCKS5, so this server is HTTP-only by design.
This tool is for collecting public data. Please:
robots.txt, rate limits, and each site's terms and the law. Can reach ≠ should.Need residential proxy credentials? The free trial needs no card:
→ Create an Aethyn account · Quickstart docs · Pricing
PRs welcome — especially extending data/locations.json with more countries, cities, and states (single lowercase alphanumeric tokens), and new client examples. Keep it real and runnable; use placeholder credentials only.
MIT — free to use, copy, and adapt.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.