Proxy fixed at startup
One exit, chosen before the agent starts.
- ✕You pick the exit once, in a launch flag
- ✕Changing country means restarting the server
- ✕No tool to check where a request landed

Let your agent pick the country it browses from.
Aethyn Browser MCP is an MCP server that gives an AI agent a local Chromium whose requests exit through a residential IP the agent chooses — one sticky identity per task, verified before the page is trusted.
npx -y aethyn-browser-mcpClaude Desktop · Cursor · Claude Code · CodexThree ways an agent's browser reaches the web — and who decides where each request exits.
One exit, chosen before the agent starts.
Real geography, decided where you can't see it.
The agent chooses the exit on every launch.
Most browser tools fix the proxy once, when the server starts, so every later call leaves through the same address: the machine the agent happens to run on. Hosted scraping MCPs take the other path. Traffic exits through their infrastructure, the geography is real, and the agent still cannot pick the exit or check where a request landed. Country-gated prices, local availability, and region-specific results all come back from a vantage point the agent never chose. Aethyn Browser MCP makes the exit a tool argument instead. Playwright Chromium runs on your machine and you supply the proxy credentials. The server defaults to Aethyn and works with any HTTP proxy. The agent picks the country, and on Elite the city, at call time, holds one sticky identity for the task, and calls aethyn_check_exit_ip before it trusts the page. It speaks the Model Context Protocol over stdio, so any MCP client can load it.
The same four calls cover a single lookup or a loop across a dozen countries.
aethyn_launch_browserThe agent passes a two-letter country code. On Elite it can add a city or state. The session pins one exit IP for the task.
aethyn_check_exit_ipFetches IP info through the session proxy and returns country, city, org, and a best-effort is_residential flag.
aethyn_get_contentAfter aethyn_navigate, returns the page as markdown, text, or HTML — a cleaned read instead of the raw DOM.
aethyn_closeFrees the browser context. Loop the same block per country to build a comparison table.
Launch returns a session_id. Every other tool takes it as its first argument.
aethyn_launch_browserStart Chromium through a residential exit in a chosen country.aethyn_new_identityRotate to a fresh IP in the same country and clear cookies.aethyn_closeClose the session's browser context and free memory.aethyn_list_countriesDiscover available exit countries, and Elite cities, at runtime.aethyn_check_exit_ipConfirm the exit country before trusting a localized page.aethyn_navigateGo to a URL and wait for load.aethyn_get_contentReturn the page as markdown, text, or HTML.aethyn_snapshotAccessibility tree with ref handles to act on.aethyn_clickClick an element by ref or selector.aethyn_typeType into an input and optionally press Enter.claude_desktop_config.jsonor Cursor's ~/.cursor/mcp.json.Country targeting
Country, city, and state
{
"mcpServers": {
"aethyn-browser": {
"command": "npx",
"args": ["-y", "aethyn-browser-mcp"],
"env": {
"AETHYN_USERNAME": "aethyn-XXXXX",
"AETHYN_PASSWORD": "your-proxy-password",
"AETHYN_DEFAULT_TIER": "premium"
}
}
}
}HTTP-only by design — Chromium cannot authenticate to SOCKS5. The first install downloads Playwright Chromium, about 170 MB.