Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
THESEUS_TRACENoSet to 1 to write a Playwright trace.zip; it holds the session's cookiesfalse
THESEUS_CDP_URLNoBorrow the login from a running Chrome, e.g. http://127.0.0.1:9222; must be on this machine
THESEUS_RUNS_DIRNoRun output directory (default ~/.theseus/runs)
THESEUS_MAX_TURNSNoMCP session limit on calls (default 30)30
THESEUS_NO_SANDBOXNoSet to 1 to start Chromium without its sandbox, for a container that can't run itfalse
THESEUS_WRITE_ALLOWNoComma-separated URL patterns of non-GET requests to send anyway, e.g. https://api.example.com/search
THESEUS_ALLOW_WRITESNoSet to 1 to let writes through (blocked by default)false
THESEUS_BLOCK_WRITESNoSet to 1 to keep writes blocked whatever else says otherwise; wins over THESEUS_ALLOW_WRITES and a profile's writes: live. Any value except an explicit off counts as onfalse
THESEUS_PROFILES_DIRNoWhere site profiles are read from (default ~/.theseus/sites)
THESEUS_RECORD_FIELDSNoComma-separated field names whose values captured_writes.jsonl may record; no other values are ever recorded
THESEUS_STORAGE_STATENoPath to a saved Playwright storage-state file to launch with that login
THESEUS_BROWSER_CHANNELNoLaunch an installed browser (e.g. chrome) instead of Playwright's Chromium
THESEUS_IDLE_TIMEOUT_SECNoClose an MCP session with no calls for this long, in seconds (default 900)900
THESEUS_MAX_WALL_CLOCK_SECNoMCP session limit on browser time in seconds (default 900)900

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
session_startA

Open start_url in Theseus's own browser and start a session.

success_criterion is required and fixed for the session: the text that will be visible when the goal is reached, with the exact text in quotes, e.g. "the page shows 'Order placed'". Navigation is then limited to the origin start_url lands on. read_only fakes every click, fill and submit. headed shows Theseus's browser window.

session_statusA

Show the session's progress, limits and whether it has ended.

session_endA

End the session: write summary.json, close Theseus's browser window and tabs, return the summary.

read_pageA

List the page's visible controls with indexes, plus headings, dialogs and errors.

click_indexB

Click the control with this index from the most recent read_page.

clickA

Click a control by its visible text or label. Prefer click_index.

fillC

Type value into the input whose label matches label.

submitA

Click the form's Save, Create, Apply or Submit button (refused if its name is a forbidden verb).

navigateA

Go to url (absolute, or relative to the current page). Must stay on the session's origin; three violations end the run.

wait_forA

Wait up to 8 s for text in quotes to appear (e.g. "'Order placed'"); with no quotes, wait for the page to settle.

inspect_errorB

Reveal validation errors on the page, optionally for one field or control.

screenshotA

Save a screenshot of the visible window and return its absolute path (open it to view). full_page=true takes the whole page, which on a long site is too tall to read.

noteB

Record an observation in the run trace. Doesn't touch the page.

assert_stateA

Check the page against the session's success criterion. A match ends the run as a success.

give_upA

End the run as failed, recording why.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 15 tools

Disambiguation4/5

Most tools target distinct actions (fill, submit, navigate, wait_for, screenshot, note, session_*), and inspect_error vs assert_state have clearly different roles. The main overlap is click vs click_index, which is mitigated by the description telling agents to prefer click_index.

Naming Consistency3/5

All names are snake_case and readable, but conventions are mixed: bare verbs (fill, submit, navigate, click, note), verb_noun (read_page, click_index, assert_state, inspect_error, wait_for), and noun_verb (session_start, session_end, session_status). Predictable enough to follow, but not a single pattern.

Tool Count4/5

Fifteen tools is at the upper bound but justified by a real browser-automation loop: session lifecycle, navigation, interaction, waiting, verification and telemetry. Only the click/click_index pair feels like redundancy rather than a distinct capability.

Completeness3/5

The session lifecycle and core act/observe/verify loop are covered end to end, so no dead ends on the happy path. However, form automation lacks dropdown/select handling, keyboard actions (Enter, Tab, Escape), scrolling, and navigation history, which are common needs on real pages.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues