Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
tabs_listA

List every open Safari tab with its id, title and URL.

tabs_createA

Open a new Safari tab (optionally at a URL) and make it active.

tabs_selectC

Bring a tab to the front.

tabs_closeC

Close a tab.

navigateA

Load a URL in a tab, or pass "back" / "forward" / "reload".

get_page_textB

Get the readable text of the page (main/article first, else body).

read_pageB

Read the page as an outline. Interactive elements get [ref_N] ids usable with click / form_input / scroll.

findB

Find visible elements whose role/name/text contains the query. Returns up to 20 refs.

clickB

Click an element by ref (from read_page/find) or CSS selector.

form_inputB

Set the value of an input, textarea, select, checkbox or contenteditable. Optionally submit its form.

press_keyA

Send real key presses to Safari, e.g. "Return", "Tab", "cmd+l", "shift+tab". Needs Accessibility permission.

scrollB

Scroll the page by ticks in a direction, or scroll an element (ref) into view.

javascriptA

Run JavaScript in the page. Write a function body and return the value you want (await is allowed). Result is JSON-serialised.

screenshotA

Screenshot the Safari window (brings it to the front). Needs Screen Recording permission.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 14 tools

Disambiguation4/5

Tab lifecycle tools (tabs_*) are cleanly separated from page-interaction tools, and click/find/read_page have clear distinct roles. Minor overlaps exist: get_page_text vs read_page both return page content, find returns refs like read_page does, and tabs_create can open a URL that navigate also handles, but descriptions make the intended split reasonably clear.

Naming Consistency4/5

Everything is snake_case, with a coherent noun_verb grouping for tab operations (tabs_list, tabs_create, tabs_select, tabs_close). The rest are bare verbs (navigate, click, find, scroll, screenshot), which is a deviation from the verb_noun pattern but is a systematic and readable split between tab management and page actions.

Tool Count5/5

14 tools is squarely in the well-scoped range for a browser automation server. Each tool maps to a distinct capability (tab control, navigation, reading, interaction, scripting, capture) with no obvious redundancy.

Completeness4/5

Covers the full loop of tab management, navigation, reading (text/outline/find), interaction (click, form_input, press_key, scroll), JS execution, and screenshots. Minor gaps remain: no explicit wait-for-load tool, no hover, and no history/cookie or window management, though javascript can work around some of these.

Maintenance

ActivityMaintained
ResponsivenessNo issues