Specillum
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPECILLUM_POD | No | Fixed pod label | <client>-<random> |
| SPECILLUM_PORT | No | Station debugging port (localhost only) | 9333 |
| SPECILLUM_CHROME | No | Browser executable | auto-detected |
| SPECILLUM_WINDOW | No | Pod window size | 1280x900 |
| SPECILLUM_PROFILE | No | Station profile directory | %LOCALAPPDATA%\specillum\profile (Windows), ~/Library/Application Support/specillum/profile (macOS), ~/.config/specillum/profile (Linux) |
| SPECILLUM_KEEP_POD | No | Set to 1 to keep the pod window after the agent exits | |
| SPECILLUM_POD_WINDOW | No | minimized opens the pod window in the taskbar; it keeps working there | visible |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
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.
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.
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.
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.