Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TYPESAFE_API_KEYYesAPI key for TypeSafe (https://typesafe.ai) used to pick every click.
TEXT_MODEL_API_KEYYesOpenAI-compatible API key used for typing text and for extract. Default provider is OpenRouter (https://openrouter.ai/keys).
TEXT_MODEL_BASE_URLNoOptional base URL for an OpenAI-compatible /chat/completions endpoint. Defaults to OpenRouter.
ULTRABROWSE_CDP_URLNoURL of an existing Chrome DevTools Protocol endpoint (e.g. http://127.0.0.1:9222) to connect to a running Chrome.
ULTRABROWSE_HEADLESSNoSet to '1' to run Chrome in headless mode (hide the window).

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
}

Tools

Functions exposed to the LLM to take actions

NameDescription
browseA

Accomplish a plain-English goal on a web page end to end: a Jev-driven Chrome picks and executes every click and field at ~300 ms per step. Pass url to open a page, or omit it to continue in the current tab. Returns status (done | blocked | stuck | budget | timeout | error), the steps taken, and the final page: url, title, visible text, numbered elements. One call replaces a whole click-by-click session. Needs TYPESAFE_API_KEY and TEXT_MODEL_API_KEY.

snapshotA

Fast, no-model read of a page (~0.5 s): visible text plus numbered interactive elements you can pass to click/type_text. Pass a url to open it, or omit to re-read the current tab. Needs no API keys.

extractA

Get structured JSON from a page. With goal, browses there first; without it, extracts from the current page. Describe the shape in schema, e.g. '{plans:[{name, monthly_price, yearly_price}]}'.

browse_manyA

Run several url+goal tasks in parallel tabs and return all results (compact). Use for checking many sites or pages at once.

clickA

Click element [index] from the last snapshot/browse. Returns the new snapshot.

type_textA

Type text into editable element [index] (replaces its content). Set submit=true to press Enter afterwards. Returns the new snapshot.

press_keyA

Press a key in the current tab: Enter, Escape, Tab, Backspace, ArrowUp/Down/Left/Right, PageDown, Home, End, or a single character. Returns the new snapshot.

scrollB

Scroll the current tab down (or up) and return the new snapshot.

backA

Go back one page in the current tab's history and return the new snapshot.

screenshotB

JPEG screenshot of the current tab.

closeA

Close the current tab.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 11 tools

Disambiguation4/5

Most tools are clearly distinct: click, type_text, press_key, scroll, back, close, snapshot, screenshot, and extract each have a specific role. Some overlap exists between browse, browse_many, and extract with a goal, since all can perform autonomous browsing, but their outputs and parallelism distinguish them.

Naming Consistency4/5

Tool names mostly follow an imperative command style with snake_case for multi-word names like type_text, press_key, and browse_many. Minor deviations like snapshot, screenshot, and back are noun/adverb-style rather than verb_ noun, but the overall pattern is readable and predictable.

Tool Count5/5

11 tools is well-scoped for a browser automation server. Each tool covers a distinct aspect of browsing, reading, interacting, or tab management without excessive redundancy or an overwhelming surface.

Completeness4/5

The core browser lifecycle is well covered: navigation via browse/back, reading via snapshot/screenshot/extract, interaction via click/type_text/press_key/scroll, and tab handling via close. Minor gaps like reload or forward navigation are absent, but the high-level browse tool can work around many of those cases.