Skip to main content
Glama
aethynio

aethyn-browser-mcp

Official
by aethynio

Aethyn Browser MCP — residential-proxy browser control for AI agents (pick the country, one identity per task)

License: MIT MCP Playwright

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.

Why this exists

  • Playwright MCP drives a browser well, but its proxy is set once at server startup — one static exit for the whole session. The agent can't ask for a Japanese exit for one task and a German exit for the next.

  • Hosted "web scraping" MCPs hide the proxy and hand back JSON — no runtime control over geo or session identity, and it's their pool at their price.

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.

Related MCP server: PixelCheck

Quickstart

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_TIER defaults to premium (port 2099). If your account is Elite, set it to elite (port 5499) — 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 with tier: "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."

Tools

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.

How it's different

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.)

Bring your own proxy

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}".

Configuration

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.

Guardrails

This tool is for collecting public data. Please:

  • Respect robots.txt, rate limits, and each site's terms and the law. Can reach ≠ should.

  • No login/credential-wall automation, and no CAPTCHA solving — there's no such capability. If a site shows a challenge, read the page and stop rather than trying to bypass it.

  • Pace yourself. A residential IP firing dozens of requests per second is still obviously a bot.

  • Your credentials stay in your MCP config on your machine; the proxy password is never logged.

Get credentials

Need residential proxy credentials? The free trial needs no card:

→ Create an Aethyn account · Quickstart docs · Pricing

Contributing

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.

License

MIT — free to use, copy, and adapt.

Available Tools

10 tools
aethyn_check_exit_ipVerify exit IP / geoA

Fetch IP info THROUGH the session's proxy so you can verify the exit country/city actually landed before trusting the page. Returns ip, country, city, org/ASN, and a best-effort is_residential flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Describes read-only behavior ('Fetch IP info') and lists return fields (ip, country, city, etc.). Does not explicitly state lack of side effects, but the verb 'fetch' strongly implies read-only. Sufficiently transparent for a simple query.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with action and purpose, efficiently enumerates return fields. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers action, purpose, and return values explicitly. For a one-parameter read-only tool without output schema, this is sufficient. Could mention prerequisite of an active session, but parameter name implies that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% parameter description coverage; the single required parameter 'session_id' is not described in the tool description. Parameter name is self-explanatory, but the description fails to add semantic context or guidance on how to obtain it, relying solely on agent inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action: 'Fetch IP info THROUGH the session's proxy' with specific verb and resource. Distinguishes from sibling tools like aethyn_navigate or aethyn_launch_browser by focusing on verification of proxy exit location.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implied usage context ('verify the exit country/city actually landed before trusting the page') but lacks explicit when-not-to-use or alternative tool references. No mention of alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aethyn_clickClickA

Click an element. Prefer a 'ref' from aethyn_snapshot (e.g. 'e12'); or pass a 'selector' (CSS, or Playwright role=/text= engine).

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoElement ref from aethyn_snapshot, e.g. 'e12'.
selectorNoFallback selector (CSS, role=..., or text=...).
session_idYes

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavioral traits. It only states 'Click an element' with no mention of side effects, error handling, waiting behavior, or actionability requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose. No redundant words, efficient structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a click tool given sibling context, but lacks info on return value or error behavior (e.g., if element not found). No output schema, so more detail would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning beyond schema: explains priority of ref over selector, and details selector engine syntax. Schema description coverage is 67%, and description compensates with practical guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Click an element') and specifies the two ways to identify the target (ref or selector). Distinguishes from sibling tools like aethyn_type or aethyn_navigate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prefers 'ref' over 'selector' and details selector syntax (CSS, role=, text=). Lacks explicit when-not-to-use but provides clear guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aethyn_closeClose sessionA

Close the session's browser context and free memory. Call this when a task is done.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It clarifies the destructive nature (close, free memory) but doesn't mention session invalidation or side effects beyond the immediate action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with action and purpose, no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple cleanup tool with one parameter and no output schema, it covers purpose and usage. Could mention session becomes unusable, but overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (session_id), schema has no description. The description implies session_id identifies the session, but doesn't specify format or origin. Baseline 3 since schema coverage is 0% and description adds only implied context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action ('Close the session's browser context and free memory') and resource, distinguishing it from sibling tools like aethyn_launch_browser.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Call this when a task is done', giving clear usage context. No explicit alternatives or exclusions, but sibling differentiation is implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aethyn_get_contentGet page contentB

Return the current page's content cleaned for reading (markdown by default). Use after navigating to extract data.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNo
session_idYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the default format ('markdown') and that content is 'cleaned for reading', but does not mention whether the tool is read-only, side effects, authentication needs, or rate limits. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main action and default behavior. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 2 parameters and no output schema, the description adequately states the purpose and usage context. However, it leaves questions about what 'cleaned' means and the exact return format for each option.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description adds that markdown is the default format, which relates to the 'format' parameter, but does not explain 'session_id' or the meaning of other enum values. The description adds minimal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns the current page's content cleaned for reading, with a default of markdown. It distinguishes from siblings like 'aethyn_navigate' (navigation) and 'aethyn_snapshot' (likely screenshot), but does not explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use after navigating to extract data,' providing a clear when-to-use recommendation. No mention of when not to use or alternatives, but the context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aethyn_launch_browserLaunch proxied browserA

Launch a local Chromium routed through a residential proxy exit in a chosen country (and city/state on the Elite tier). Returns a session_id the other aethyn_* tools use. Each session is one sticky identity — a pinned exit IP for the whole task.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity for Elite-tier targeting, e.g. 'tokyo'. Requires tier:'elite'.
tierNoProxy tier. Elite unlocks city/state targeting. Default 'premium'.
stateNoState/region for Elite-tier targeting. Requires tier:'elite'.
countryYesISO-3166-1 alpha-2 country code, e.g. 'jp', 'de', 'us'.
sessionNoYour task id. Reuse the same value to pin the same exit IP. Letters/digits/underscore only. Omit to auto-generate.
headlessNoRun headless. Default true.
lifetime_minNoSticky lifetime in minutes (1–1440, default 10).

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the full burden. It discloses the core behavior (launching a browser, proxy routing, sticky identity) but omits potential side effects like resource usage, failure modes (e.g., proxy unavailability), or the need to close the session. It does not mention headless mode or lifetime behavior beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences that front-load the core action and outcome. Every word adds value; there is no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no output schema, and no annotations, the description covers the purpose and outcome but lacks details on return format, lifecycle (e.g., when the browser closes), and precise usage order. The mention of session_id is helpful but incomplete without specifying what other tools expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The main description adds little beyond summarizing the country/city/state targeting. It does not enrich parameter meaning significantly over the already-detailed schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it launches a local Chromium with residential proxy routing and returns a session_id for other aethyn_* tools. It distinguishes from siblings by specifying its role as the initializer of a sticky identity session.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used first to obtain a session_id for subsequent tools, and that sessions are sticky identities. It provides clear context but does not explicitly exclude alternatives or mention when not to use it. There is no direct comparison with sibling aethyn_new_identity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aethyn_list_countriesList countries / citiesA

List available exit countries (and Elite-tier cities where known). Discover geo options at runtime before launching.

ParametersJSON Schema
NameRequiredDescriptionDefault
with_citiesNoOnly return countries that have known cities.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It describes a read operation without side effects but lacks details on authentication, rate limits, or data freshness. For a simple list tool, this is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise and front-loaded with the main action. Every word adds value, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity and no output schema, the description covers the tool's purpose and usage context adequately. It could mention return format but is sufficient for an agent to decide when to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage with one parameter 'with_cities' already described. The tool description adds no additional meaning beyond what the schema provides, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists available exit countries and Elite-tier cities, using the verb 'List' with specific resource and scope. It distinguishes from siblings like aethyn_new_identity by focusing on discovery before launching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description suggests 'Discover geo options at runtime before launching', providing clear context for when to use the tool. However, it does not explicitly exclude alternatives or mention when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aethyn_navigateNavigateA

Navigate the session's browser to a URL and wait for load. Returns the HTTP status, final URL, and page title — read the page with aethyn_get_content to judge the response yourself. Public data only — respect robots.txt, rate limits, and each site's terms.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
session_idYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses key behaviors: waits for load, returns HTTP status, final URL, and page title. It also mentions respecting site policies. Missing details on error handling or timeout behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences only: first states action and return values, second adds constraints and usage tip. No wordiness, front-loaded with key info.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers return values and constraints but lacks details on error cases (e.g., invalid URL, timeout) or authentication. Output schema absent, but description compensates partially. Sibling names provide context for session_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description partially explains the 'url' parameter via 'Navigate... to a URL'. However, 'session_id' is not explained, relying on context from sibling tools. Adequate but not fully compensating for lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it navigates the browser to a URL and waits for load, specifying a distinct action. It also implicitly differentiates from siblings like aethyn_get_content by suggesting reading the page separately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear constraints: public data only, respect robots.txt, rate limits, and terms. Also hints at using aethyn_get_content to evaluate the response, but lacks explicit when-not-to-use or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aethyn_new_identityRotate identityA

Rotate the session to a fresh residential exit (new IP, same country) and clear cookies. Use between independent tasks or after a soft-block.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses two key behaviors: rotating to a new IP (same country) and clearing cookies. This is transparent for a rotation tool, though it could mention if it preserves any session data beyond cookies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two well-structured sentences: the first explains the action, the second gives usage guidance. No extraneous information; every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers purpose, behavior, and usage. However, the lack of parameter documentation is a clear gap, making it merely adequate rather than fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required parameter (session_id) with no description. The tool description mentions 'session' but does not explain what session_id is, how to obtain it, or any format constraints. Given 0% schema coverage, the description should compensate but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool rotates the session to a fresh residential exit (new IP, same country) and clears cookies. The verb 'rotate' and resource 'session' are specific, and the outcome (new IP, same country) distinguishes it from sibling tools like aethyn_check_exit_ip, which only checks the current IP.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use it 'between independent tasks or after a soft-block,' providing clear contextual guidance. However, it does not mention when not to use it or offer alternatives (e.g., just checking IP), which would make it a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aethyn_snapshotAccessibility snapshotB

Return a structured accessibility snapshot (roles, names, and [ref=..] handles) of the page. Pass those refs to aethyn_click / aethyn_type. No screenshots needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It only states 'Return a structured accessibility snapshot' without mentioning side effects, prerequisites (e.g., page must be loaded), idempotency, or potential costs. The phrase 'No screenshots needed' provides a minor clarification but not enough to compensate for missing transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise with two sentences: the first states purpose and output contents, the second provides usage guidance and a clarifying note. Every sentence adds value with no redundancy, and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should detail the return format. It mentions 'roles, names, and [ref=..] handles' but gives no structure, ordering, or examples. It also does not mention prerequisites like having an active session or browser page, which are implied by sibling tools but not stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter 'session_id' has no description in the schema (0% coverage) and the tool description does not mention it at all. The agent receives no information about what session_id represents or how to obtain it, which is critical for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a structured accessibility snapshot with roles, names, and ref handles. It explicitly distinguishes from screenshot tools by saying 'No screenshots needed' and connects to sibling tools aethyn_click and aethyn_type, making the purpose specific and distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on how to use the output: 'Pass those refs to aethyn_click / aethyn_type.' It implies the snapshot should be used when interaction handles are needed, but does not elaborate on when not to use it or contrast with all sibling tools, which prevents a score of 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aethyn_typeType textA

Type text into an input. Prefer a 'ref' from aethyn_snapshot; or a 'selector'. Set submit:true to press Enter after.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNo
textYes
submitNoPress Enter after typing.
selectorNo
session_idYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It mentions text input and submit action, but does not cover error handling, what happens with conflicting parameters, or any side effects. The behavioral transparency is limited.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, front-loaded with the core action, and no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters (2 required) and no output schema, the description covers the main action and parameter priority. However, it does not explain the required session_id parameter, behavior when both ref and selector are provided, or return value, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20% (only submit has a description). The description adds value by explaining the preference between ref and selector, and the submit behavior. However, session_id and text parameters are not elaborated, leaving gaps in understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Type text into an input', specifying the verb and resource. It distinguishes from siblings like aethyn_click by mentioning input behavior and preference for ref or selector.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises preferring a 'ref' from aethyn_snapshot or a 'selector', and setting submit:true to press Enter. However, it does not explicitly exclude scenarios or mention alternatives, but the guidance is clear for common use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 10 tool updatesv0.1.0
    • First observedaethyn_check_exit_ip
    • First observedaethyn_click
    • First observedaethyn_close
    • First observedaethyn_get_content
    • First observedaethyn_launch_browser
    • First observedaethyn_list_countries
    • First observedaethyn_navigate
    • First observedaethyn_new_identity
    • First observedaethyn_snapshot
    • First observedaethyn_type

TDQS

A4/5.0
Disambiguation5/5

Each tool has a distinct, non-overlapping purpose: launching, navigating, interacting via click/type, extracting content, managing identity, checking exit IP, listing countries, and cleanup. No ambiguity between any pair.

Naming Consistency5/5

All tools follow a consistent aethyn_verb_noun snake_case pattern (e.g., aethyn_launch_browser, aethyn_check_exit_ip). No mixing of styles or unpredictable naming.

Tool Count5/5

10 tools cover the full lifecycle of browser automation with proxy support: launch, navigate, interact, extract, identity rotation, geo discovery, and cleanup. The count is well-scoped for the domain.

Completeness4/5

The tool set covers all core browser automation steps: launch, navigate, interact (click, type), extract (content and snapshot), identity management, and exit verification. Minor gaps like screenshots or explicit waits are intentionally omitted, but the core workflow is complete.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Browser MCP server that connects to your existing browser, preserving sessions, passwords, and extensions, enabling AI agents to interact with web pages without bot detection.
    31
    12
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server giving AI agents controlled residential-proxy web access with optional browser rendering and structured extraction from 60+ sites.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for Meshbrow that gives AI agents full browser automation capabilities with stealth anti-detection, enabling natural language control of browser sessions, data extraction, and multi-browser fleets.
    MIT

Latest Blog Posts

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/aethynio/aethyn-browser-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server