Skip to main content
Glama
MCP Browser Extension

MCP Browser Extension

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
tabs_listA

List open browser tabs.

screenshotB

Capture a screenshot (page or element). Default is JPEG (quality 70) at CSS-pixel size, which is several times smaller than PNG and reads fine. Pass format:"png" for lossless, quality 1-100 for JPEG, scale 2 for device pixels on a Retina display or 0.5 to shrink.

get_textC

Get visible text of the page or an element.

get_htmlA

Get HTML of the page or an element. Output is capped (see maxBytes) and cut at a tag boundary; narrow it with selector rather than raising the cap when you can. Password field values are always blanked.

snapshotB

Accessibility snapshot: interactive elements with refs to target by ref (more reliable than guessing CSS selectors). Pass diff:true to get only what changed since the last snapshot of this tab - far cheaper in a click/read loop. Password fields appear as secret:true with no value.

page_watchA

Save a local page checkpoint and compare it later. Actions: create (name), compare (watchId), list, delete. Stores accessibility labels and state, never form values. Site allowlist still applies.

get_cookiesC

Cookies for the tab's URL (or url); values need --enable-cookie-values.

storageC

Read/write localStorage (or sessionStorage). op: get|set|remove|clear.

wait_forC

Wait for a selector or text to appear/disappear.

extract_linksB

Extract anchors from the page or a subtree. dedupe=true collapses links sharing an href (nav/footer noise); limit caps the count.

read_as_markdownC

Read the page (or subtree) as readable markdown.

frames_listA

List the tab's frames (the top document plus every iframe the extension can reach), with each frame's id and URL. Use it when a selector that should match does not: the element is probably in one of these frames, and you can then pass frameId (or allFrames:true) to act inside it.

print_pdfB

Render the page to PDF through Chrome's own print pipeline and save it to the task's results/ dir. Returns the path and size, not the bytes - a PDF is not something to spend context on.

proxy_statusB

The active profile's proxy and the IP sites see. The user sets it per Chrome profile; for another IP, profile_use another profile.

chrome_statusA

Report backend/session status: paired browser profiles and how each was named, and flags for switched-off capabilities.

auth_checkA

Is the tab sitting on a sign-in wall? Reads the page (URL, title, password fields, sign-in controls) and returns { authRequired, confidence, signals }. Use it after a navigate, or whenever a step fails unexpectedly, to tell "the session expired" apart from "the agent got lost". Pass failOnAuthWall:true to get an [AUTH_REQUIRED] error instead of a verdict, so a harness can bucket the run as an auth failure.

profile_useA

Switch the active browser profile (identity). Subsequent downloads, results, screenshots, and the action log are stored under profiles//. Resets the active task to "default" unless you then call task_new.

profile_renameA

Rename an automatically named browser profile (e.g. "profile-2" -> "work"). The name sticks across restarts; its saved artifacts move with it.

task_newA

Start a new task (run) under the active profile. Creates profiles//tasks// with downloads/, results/, screenshots/ and makes it the active task so all captured artifacts land there.

tasks_listA

List every task across all profiles under the data dir, with sizes and download counts.

task_statusA

Report the active profile/task and the folder paths where this run's artifacts are stored.

batchA

Run multiple tool calls in one request — parallel (default) or serial. Each op is { tool, args } and goes through the same policy gate, rate limit, and error handling as a direct call. In parallel mode, tab-scoped ops MUST pass an explicit tabId (the active-tab default is unsafe under concurrency). Use to drive several tabs at once (e.g. open tabs, then batch get_text across them). Cannot be nested.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 22 tools

Disambiguation4/5

Tools split into clear families (content reads, session/profile/task management, diagnostics) and descriptions sharply differentiate near-neighbours, e.g. get_html vs get_text vs read_as_markdown vs snapshot, and get_cookies vs storage. The main residual overlap is the several page-reading tools (get_text, read_as_markdown, extract_links, snapshot) which an agent may still hesitate between, plus three *_status tools that are close but scoped to different objects.

Naming Consistency4/5

Almost everything is snake_case with a verb or domain prefix (get_*, task_*, profile_*, *_status, *_list), which reads predictably. Minor deviations exist: tasks_list puts the plural noun first while sibling task_new/task_status are singular+verb, and several tools are bare nouns/actions (snapshot, screenshot, storage, batch, wait_for) rather than verb_noun.

Tool Count4/5

22 tools is on the heavy side of the 3-15 sweet spot, but the surface is genuinely broad (content extraction, frames, cookies/storage, profiles, tasks, proxy, batching) and each tool maps to a distinct capability rather than padding. Nothing feels redundant enough to drop.

Completeness3/5

The observation/diagnostic side is unusually thorough (HTML, text, markdown, links, snapshot, PDF, frames, auth walls, waits, page diffs, proxy, batching). However, the interaction side is largely absent: there is no navigate/click/type tool and no tab open/close despite descriptions referencing 'after a navigate' and 'open tabs', leaving a notable gap for actual browser automation workflows.

Maintenance

ActivityActive
ResponsivenessResponsive