Skip to main content
Glama
obra

superpowers-chrome

by obra

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DISPLAYNoFor Linux/WSL2 headed mode, set DISPLAY environment variable (e.g., ':0')
CHROME_WS_HOSTNoOverride host for DevTools traffic (default 127.0.0.1)
CHROME_WS_PORTNoOverride port for Chrome DevTools (default dynamically allocated from range 9222-12111)
CHROME_EXTRA_ARGSNoWhitespace-separated list of additional Chrome flags (e.g., '--use-gl=angle --use-angle=swiftshader-webgl')
CHROME_WS_PROFILENoSet a fixed profile name to share Chrome between processes

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
use_browserA

Control persistent Chrome browser with automatic page capture.

Every DOM action (navigate, click, type, select, eval) auto-captures to the session dir:

  • {prefix}.png — viewport screenshot

  • {prefix}.md — page content as structured markdown

  • {prefix}.html — full rendered DOM

  • {prefix}-console.txt — browser console messages

Prefer reading these files to using 'extract' or 'screenshot' whenever possible. Pages showing credential-shaped content (tokens, 2FA seeds) are never captured, and such values are redacted from all output.

Schema: 4 parameters — action, selector (CSS/XPath or null), payload (string or object), timeout (ms). selector targets a DOM element (null/omit for navigation, eval, tab management, etc.). payload is a string for simple actions (navigate=URL, type=text, eval=JS, keyboard_press=key). payload is an object for structured actions (set_viewport={width,height}, drag_drop={target}, etc.) — a JSON-encoded string of the same object works too. Tabs are tracked as sticky state; use switch_tab to change the active tab. Use action='help' for full per-action payload shapes.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.3/5.0

Scored across 1 tool

Disambiguation5/5

There is only one tool, so there is no risk of selecting the wrong tool. The action parameter internally routes behavior, but tool-level disambiguation is trivially perfect.

Naming Consistency5/5

The single tool name 'use_browser' follows a clear verb_noun snake_case pattern. With only one name, there is no inconsistency to evaluate.

Tool Count3/5

A single tool is borderline thin for the broad browser-automation domain, even though it multiplexes many actions via the action parameter. It avoids tool sprawl but may be under-split for discoverability.

Completeness4/5

The tool covers navigation, interaction, evaluation, tab management, viewport, drag/drop, and keyboard input, plus automatic capture and redaction. A few niche browser operations may still be missing, but core lifecycle coverage is strong.

Maintenance

ActivityMaintained
ResponsivenessResponsive