Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JEV_MODELNoModel id, default is jev-latest.jev-latest
JEV_KEY_FILENoPath to a file containing the TypeSafe API key.
JEV_REACH_LOGNoSet to '1' to print one stderr line per step.0
JEV_TIMEOUT_MSNoPer-request timeout in milliseconds, default is 15000.15000
TYPESAFE_API_KEYNoThe TypeSafe API key. Alternatively, the key can be stored in ~/.config/typesafe/key or provided via JEV_KEY_FILE.

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
clickC

Clicks on the provided element

close_pageA

Closes the page by its index. The last open page cannot be closed.

dragB

Drag an element onto another element

emulateB

Emulates various features on the target page.

evaluate_scriptB

Evaluate a JavaScript function inside the target page. Returns the response as JSON, so returned values have to be JSON-serializable.

fillB

Type text into an input, text area or select an option from a element.

fill_formA

Fill out multiple form elements (inputs, selects, checkboxes, radios) at once. ALWAYS prefer this tool over multiple individual 'fill' or 'click' calls when interacting with forms. It is significantly faster, more reliable, and reduces turn count. Example: Fill username, password, and check "Remember Me" in one call.

get_console_messageA

Gets a console message by its ID. You can get all messages by calling list_console_messages.

get_network_requestA

Gets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel. Useful for inspecting request headers (including 'Cookie') and response headers (including 'Set-Cookie' and directives).

handle_dialogA

If a browser dialog was opened, use this command to handle it

hoverB

Hover over the provided element

lighthouse_auditA

Get Lighthouse score and reports for accessibility, SEO, best practices, and agentic browsing. This excludes performance. For performance audits, run performance_start_trace

list_console_messagesA

List all console messages for the target page since the last navigation.

list_network_requestsA

Lists the most recent requests for the target page since the last navigation.

list_pagesA

Get a list of pages open in the browser.

navigate_pageB

Go to a URL, or back, forward, or reload. Use project URL if not specified otherwise.

new_pageC

Open a new tab and load a URL. Use project URL if not specified otherwise.

performance_analyze_insightA

Provides more detailed information on a specific Performance Insight of an insight set that was highlighted in the results of a trace recording.

performance_start_traceA

Start a performance trace on the target webpage. Use to find frontend performance issues, Core Web Vitals (LCP, INP, CLS), and improve page load speed.

performance_stop_traceB

Stop the active performance trace recording on the target webpage.

press_keyA

Press a key or key combination. Use this when other input methods like fill() cannot be used (e.g., keyboard shortcuts, navigation keys, or special key combinations).

resize_pageB

Resizes the page's window so that the page has specified dimension

select_pageA

Select a page as a context for future tool calls.

take_heapsnapshotA

Capture a heap snapshot of the target page. Use to analyze the memory distribution of JavaScript objects and debug memory leaks.

take_screenshotC

Take a screenshot of the page or element.

take_snapshotA

Take a text snapshot of the target page based on the a11y tree. The snapshot lists page elements along with a unique identifier (uid). Always use the latest snapshot. Prefer taking a snapshot over taking a screenshot. The snapshot indicates the element selected in the DevTools Elements panel (if any).

type_textA

Type text using keyboard into a previously focused input

upload_fileC

Upload a file through a provided element.

wait_forB

Wait for the specified text to appear on the selected page.

reachA

Get the browser to the exact place where you want to look, in one call. Give a goal such as 'dismiss the cookie banner, log in, and open the Billing tab'. Jev (TypeSafe's decision model) picks one element and one action per step in about 300 ms, with no page text entering your context. Then call list_console_messages, list_network_requests, take_snapshot, or take_screenshot on the same tab; the walk is recorded for them. Jev never types free text: pass anything to type in 'values' (for example {email, password}), and only the names are shown to Jev. Stops before orders, payments, sends, deletes, and publishes unless allow_irreversible is set. Acts on the currently selected page and returns its page_id; pass that as pageId to the follow-up call.

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 30 tools

Disambiguation3/5

Most tools have distinct targets, but fill, fill_form, type_text, and press_key overlap significantly in the input/text-entry space. The tool descriptions help, especially fill_form's explicit preference note, but an agent could still easily misselect among them.

Naming Consistency3/5

Names are consistently lowercase snake_case, but they mix verb-first forms like list_pages and take_screenshot with domain-prefixed forms like performance_start_trace and lighthouse_audit, plus bare verbs like fill, hover, and reach. The naming is readable but not predictable enough to infer related tools consistently.

Tool Count2/5

At 30 tools, the surface is over the heavy threshold and likely larger than needed. The breadth is defensible for a DevTools-style browser automation server, but several tools could be consolidated, such as fill/fill_form and the list_network_requests/get_network_request pairs.

Completeness5/5

The set covers the full browser automation and debugging lifecycle: navigation, page management, element interaction, forms, uploads, dialogs, console/network inspection, screenshots/snapshots, and performance/memory auditing. There are no obvious dead ends or missing core operations for its apparent purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues