Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPECILLUM_PODNoFixed pod label<client>-<random>
SPECILLUM_PORTNoStation debugging port (localhost only)9333
SPECILLUM_CHROMENoBrowser executableauto-detected
SPECILLUM_WINDOWNoPod window size1280x900
SPECILLUM_PROFILENoStation profile directory%LOCALAPPDATA%\specillum\profile (Windows), ~/Library/Application Support/specillum/profile (macOS), ~/.config/specillum/profile (Linux)
SPECILLUM_KEEP_PODNoSet to 1 to keep the pod window after the agent exits
SPECILLUM_POD_WINDOWNominimized opens the pod window in the taskbar; it keeps working therevisible

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
pod_statusA

Show this agent's pod: its label and the tabs it owns. The pod is a private browser window in the shared, logged-in Specillum Chrome. Other agents' pods and the user's own tabs are never visible here.

pod_windowA

Show this pod's window to the user or minimize it to the taskbar, e.g. when the user asks to watch, or when you need them to log in or solve a CAPTCHA.

navigateC

Open a URL in the active tab of this pod.

historyC

Go back or forward in the active tab's history.

snapshotA

Compact text view of the active tab: title, URL, headings, and visible interactive elements tagged with refs like [e12]. Use the refs with click, type, select and hover. Refs expire when you take a new snapshot.

readB

Read the visible text of the page (main content by default) as plain text.

clickC

Click an element by its snapshot ref.

typeB

Type text into an input, textarea or contenteditable element by ref. Replaces existing text unless append is true.

pressC

Press a key or shortcut in the active tab, e.g. Enter, Escape, ArrowDown, Control+A.

selectB

Choose option(s) in a element by ref, matching option value or label.

hoverA

Move the mouse over an element by ref (opens hover menus, tooltips).

scrollB

Scroll the page by screens, or scroll an element into view by ref.

waitC

Wait for text to appear on the page, or for a fixed time.

dialogA

Decide how to answer the next JavaScript dialog (confirm, prompt, beforeunload) before the action that triggers it. Without this, alerts are accepted and confirms/prompts are dismissed; tool results report every dialog.

screenshotA

Take a JPEG screenshot of the active tab. Prefer snapshot for reading; use this for visual checks.

tabsB

Manage the tabs of this pod only: list, open a new tab (optionally at a URL), switch to a tab, or close one.

evaluateA

Run a JavaScript expression in the active tab and return the JSON result. For reading data the other tools do not expose.

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

Disambiguation4/5

Most tools have clearly distinct purposes: click/type/select/hover/press are separate interactions, and navigate/history/scroll/wait are non-overlapping. The only mild overlap is among the read-oriented trio (snapshot, read, screenshot), but their descriptions explicitly differentiate interactive refs vs plain text vs visual capture.

Naming Consistency4/5

Names use a consistent lowercase style with mostly single-verb entries (navigate, click, type, press, select, hover, scroll, wait, evaluate). The pod_status and pod_window entries deviate slightly by using a namespace prefix, but this is a coherent grouping rather than a conflicting convention.

Tool Count4/5

17 tools is slightly above the ideal 3-15 band but reasonable for full browser automation, since each action (navigate, interact, read, wait, dialog, tabs, JS) earns its place. It leans heavy but not bloated.

Completeness4/5

The surface covers the browser-automation lifecycle well: navigation, reading (snapshot/read/screenshot), interaction primitives, history, waits, dialogs, tabs, and raw JS eval. Minor gaps exist (no file upload/download or cookie/storage management), but agents can largely work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues