Skip to main content
Glama

agent-browser

Server Details

A real Chromium browser agents pay for per action in USDC via x402 — hosted MCP, free local stdio.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct role: navigate loads pages, act performs interactions, extract pulls repeated data, snapshot returns accessibility structure, screenshot captures visuals, and close ends sessions. The descriptions explicitly distinguish overlapping read operations (snapshot vs extract vs screenshot) by output type and token cost.

Naming Consistency5/5

All tools follow a consistent browser_<operation> pattern with short, readable suffixes. Although screenshot and snapshot are nouns while act/navigate/extract are verbs, the prefix convention is uniform and predictable.

Tool Count5/5

Six tools is well-scoped for a browser automation server, covering navigation, interaction, extraction, structure inspection, visual capture, and cleanup. Each tool has a clear, non-redundant purpose.

Completeness4/5

The set covers the core browser lifecycle: load, interact, inspect, extract, screenshot, and close. Minor gaps exist for history navigation (back/forward), tab management, or waiting for dynamic content, but agents can mostly work around these.

Available Tools

6 tools
browser_actAct on the current pageA
Destructive
Inspect

Use for: interacting with the page — click, fill, type, select, submit, press. Returns the resulting page title, URL and text so you can verify the action landed. Don't use when: the target element is not on the current page — navigate or snapshot first. This tool can change remote state (it can submit forms).

NameRequiredDescriptionDefault
valueNoValue for fill/type/select, or key name for press (default Enter).
actionYesThe interaction to perform on the target element.
selectorYesCSS selector of the target element.
session_idYesSession ID. Reuse the same ID to keep cookies, login state and page position across calls; a new ID starts a fresh browser.

Output Schema

NameRequiredDescription
urlYes
textYes
titleYes
successYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and openWorldHint=true, so the safety profile is known; the description adds the concrete reason ('it can submit forms') and states what comes back (title, URL, text) for verification. What's missing is failure behavior or what happens on a stale/absent selector, which is relevant for a mutation tool.

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?

Three tight sentences with the positive case front-loaded, followed by the exclusion and the state-change caveat. Every sentence carries distinct information and nothing is repeated from the schema.

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?

An output schema exists, yet the description still helpfully signals that the response lets you verify the action landed. Combined with the exclusion rule and state-change warning, an agent has enough to invoke it correctly; only error/retry behavior is unaddressed.

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 enum values, selector semantics and value/key default are all documented in the schema. The description's verb list mirrors the enum rather than adding syntax, ordering or constraint detail, so baseline 3 applies.

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?

Names the specific resource ('the page') and enumerates concrete verbs (click, fill, type, select, submit, press), so an agent knows exactly what class of operation this is. It also distinguishes itself from siblings by pointing to navigate/snapshot when the target isn't on the current page.

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

Usage Guidelines5/5

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

Explicit 'Use for:' and 'Don't use when:' framing with named alternative tools (navigate, snapshot) for the excluded case. There is no ambiguity about when this tool is the right choice.

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

browser_closeClose a browser sessionA
Destructive
Inspect

Use for: ending a session and freeing its browser. Sessions also expire automatically after 10 idle minutes. Free on every door — closing is never charged.

NameRequiredDescriptionDefault
session_idYesSession ID. Reuse the same ID to keep cookies, login state and page position across calls; a new ID starts a fresh browser.

Output Schema

NameRequiredDescription
closedYes
session_idYes

TDQS

A3.6/5.0
Behavior3/5

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

The description adds genuinely non-annotation information: idle auto-expiry and that closing is never billed ('Free on every door — closing is never charged'). However, it omits the key destructive consequence — that closing discards cookies, login state and page position, which the session_id schema hints at but the description never states. With destructiveHint=true already flagged, this is a partial but not complete disclosure.

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

Conciseness4/5

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

Three short sentences, front-loaded with 'Use for:', and every sentence carries information (purpose, idle expiry, cost). The phrasing 'Free on every door' is slightly idiosyncratic but still parses as a cost statement.

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?

An output schema exists, so return values need no explanation, and annotations already declare destructiveness and non-read-only behavior. Combined with clear purpose, idle-expiry and billing notes, the description is sufficient to call the tool correctly; only the state-loss implication is left implicit.

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 100% and there is only one parameter, whose schema description already explains ID reuse and state persistence. The tool description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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 states a specific verb and resource: 'ending a session and freeing its browser.' That is unambiguous and clearly distinct from the navigation/extraction siblings. It doesn't explicitly name a sibling to contrast with, which keeps it just short of a 5.

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?

'Use for: ending a session' gives the triggering condition directly, and the note that sessions expire automatically after 10 idle minutes helps an agent decide whether an explicit close is even necessary. There are no explicit 'when not to use' exclusions, but the primary guidance is clear.

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

browser_extractExtract data from the current pageA
Read-only
Inspect

Use for: pulling repeated elements (prices, titles, links) from the page a session is on, via a CSS selector, or the full page text when no selector is given. Returns one string per matched element. Don't use when: the page has not been loaded yet — call browser_navigate first.

NameRequiredDescriptionDefault
selectorNoCSS selector to extract. Omit for full page text.
attributeNoAttribute to read instead of text, e.g. href or src.
session_idYesSession ID. Reuse the same ID to keep cookies, login state and page position across calls; a new ID starts a fresh browser.

Output Schema

NameRequiredDescription
countYes
resultsYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds genuinely useful behavior: one string per matched element and the no-selector fallback to full page text. It stops short of noting large-page cost or truncation behavior, but nothing is misleading.

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 tight sentences, scope first and exclusion second, with zero filler. Every clause carries actionable 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?

Output schema is present so return values need not be explained, and the prerequisite sequencing is covered. The only gap is the attribute-reading capability, which an agent would have to discover from the schema rather than the description.

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 schema already documents selector, attribute and session_id with meaning. The description reinforces the selector/omission semantics but never mentions the attribute parameter or what omitting a selector does to the return shape across matched elements, so it adds little beyond the schema.

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?

States a specific verb (extract) and resource (repeated elements — prices, titles, links — or full page text) plus the mechanism (CSS selector). This clearly separates it from siblings like browser_snapshot and browser_screenshot, which capture rather than extract structured values.

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

Usage Guidelines5/5

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

Explicitly framed as 'Use for:' and 'Don't use when:', naming the prerequisite failure and the exact alternative (call browser_navigate first). An agent knows both when to reach for it and what to do instead.

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

browser_navigateNavigate to a URLAInspect

Use for: loading a web page in a real Chromium browser and reading it. Returns the page title, final URL and a clean text extract (up to 8000 chars). Don't use when: you only need raw HTML or an API response — a plain HTTP fetch is cheaper. Errors are structured: NAV_TIMEOUT, NAV_FAILED, INVALID_URL.

NameRequiredDescriptionDefault
urlYesAbsolute http(s) URL to load.
wait_forNoOptional CSS selector to wait for after load (max 10s).
session_idYesSession ID. Reuse the same ID to keep cookies, login state and page position across calls; a new ID starts a fresh browser.

Output Schema

NameRequiredDescription
urlYes
textYes
titleYes
session_idYes

TDQS

A4.5/5.0
Behavior4/5

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

Adds real context beyond annotations: the 8000-char text extract cap and the structured error taxonomy (NAV_TIMEOUT, NAV_FAILED, INVALID_URL). Annotations already declare openWorldHint=true and destructiveHint=false, and nothing here contradicts them. It stops short of stating that navigation establishes/mutates session state, which is the one behavioral nuance left implicit.

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?

Three tightly packed sentences: purpose, exclusion, error contract. Every sentence carries information and the usage guidance is front-loaded ahead of edge details.

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

Completeness5/5

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

With an output schema handling return shape and full schema coverage on params, the description only needs to cover routing and failure modes — and it does both, including the named error codes.

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 100%, so url, wait_for and session_id are all fully documented in the schema, including the session-reuse semantics. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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?

States a specific verb and resource ('loading a web page in a real Chromium browser and reading it') and names the returned artifacts. It also explicitly distinguishes itself from a plain HTTP fetch, which is the relevant alternative for the browser_* family.

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

Usage Guidelines5/5

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

Explicit 'Use for' and 'Don't use when' clauses with the substitution named ('a plain HTTP fetch is cheaper'). The agent can decide without opening the schema or guessing at sibling behavior.

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

browser_screenshotScreenshot the current pageA
Read-only
Inspect

Use for: visual verification — layout, images, charts, CAPTCHA presence, or evidence of page state. Returns a PNG image (JPEG if the PNG exceeds 2.5MB). Don't use when: you only need the page's content or structure — browser_extract and browser_snapshot are far cheaper in tokens.

NameRequiredDescriptionDefault
full_pageNoCapture the full scrollable page instead of the viewport.
session_idYesSession ID. Reuse the same ID to keep cookies, login state and page position across calls; a new ID starts a fresh browser.

Output Schema

NameRequiredDescription
urlYes
bytesYes
mime_typeYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/non-destructive, and the description adds genuinely new behavioral context: return format is PNG, with automatic JPEG fallback above 2.5MB. It omits session-state implications (cookies, page position persisting across calls), but that is documented in 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?

Two sentences, front-loaded with the decision rules, and every clause earns its place — the format threshold and the sibling routing guidance are both actionable.

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

Completeness5/5

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

An output schema exists, so return-value structure needn't be spelled out, yet the description still flags the PNG/JPEG format detail an agent may care about. Combined with 100% schema coverage and clear annotations, nothing needed to call it correctly is missing.

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 both parameters — including the session_id reuse semantics and full_page viewport-vs-scroll behavior — are fully documented in the schema. The description adds nothing parameter-specific, which is the expected baseline here.

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?

States a specific verb and resource (visual verification of page state) and immediately names the sibling tools it is not — browser_extract and browser_snapshot — so an agent can route correctly without opening schemas.

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

Usage Guidelines5/5

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

Explicitly structured as 'Use for:' (layout, images, charts, CAPTCHA, evidence) and 'Don't use when:' (content/structure needed) with named alternatives and a token-cost rationale. Both the positive and negative conditions are covered.

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

browser_snapshotAccessibility snapshot of the current pageA
Read-only
Inspect

Use for: understanding page structure cheaply and deterministically — returns the accessibility tree (roles, names, states) as compact YAML instead of pixels or raw HTML. This is the lowest-token way to decide what to click or fill next. Don't use when: you need visual layout or images — use browser_screenshot.

NameRequiredDescriptionDefault
session_idYesSession ID. Reuse the same ID to keep cookies, login state and page position across calls; a new ID starts a fresh browser.

Output Schema

NameRequiredDescription
urlYes
snapshotYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description adds valuable behavioral context beyond annotations: deterministic output, compact YAML format, low token cost, and suitability for deciding what to click or fill next. It stops short of describing pagination or size limits, but with an output schema present that is a minor gap.

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 three tight sentences with zero waste, front-loading the primary use case before stating the exclusion. Every sentence contributes directly to correct tool selection or invocation context.

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

Completeness5/5

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

For a single-parameter read-only inspection tool with an output schema, the description provides everything needed: purpose, return format, cost characteristics, and the alternative to use for visual needs. No critical decision information is missing.

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%, and the sole session_id parameter is already well documented in the schema, including reuse semantics for cookies, login state, and page position. The description adds no parameter-specific meaning beyond the schema, so the baseline of 3 applies.

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 states a specific capability: returning the accessibility tree (roles, names, states) as compact YAML for understanding page structure. It clearly distinguishes this from browser_screenshot by contrasting semantic structure with visual layout/images, allowing an agent to choose without opening schemas.

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

Usage Guidelines5/5

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

It gives explicit 'Use for' guidance and an explicit 'Don't use when' condition, naming browser_screenshot as the alternative for visual layout or images. The decision boundary between cheap structural inspection and visual inspection is unambiguous.

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.

  1. 6 tool updates
    • First observedbrowser_act
    • First observedbrowser_close
    • First observedbrowser_extract
    • First observedbrowser_navigate
    • First observedbrowser_screenshot
    • First observedbrowser_snapshot

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    A real Chromium browser for AI agents, driven over MCP: compact page outlines with stable refs, diff-only replies after each action, real mouse and keyboard input, the agent's own signed-in accounts, and human approval for payments. Windows 11.
    2
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents and clients to control a real Chromium browser through MCP tool calls, including navigation, clicking, typing, JavaScript evaluation, screenshots, and DOM snapshots. Supports multiple isolated sessions over authenticated HTTP with no disk writes.
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents and MCP clients to run Playwright-compatible browser automation over stdio or Streamable HTTP, covering research, testing, persistent login profiles, Chrome extensions, proxy matching, and humanized interactions. It ships as npm and Docker packages for cross-platform deployments.
    826 npm
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Exposes a local MCP endpoint that lets AI agents and human operators drive isolated Chromium profiles — each with its own cookies, fingerprint, and proxy — through tools for navigation, clicking, typing, extraction, screenshots, JS evaluation, tabs, and cookie management. Persistent per-profile session state keeps logins and context alive across launches and across AI sessions, so agents can complete real authenticated workflows.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources