Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MACCTL_MODENoCap which tools are registered: 'read-only', 'read-write', or 'admin'. Default: 'admin'.admin
MACCTL_CONFIRMNoSet to 'true' to require human approval for destructive operations. Default: 'false'.false
MACCTL_DRY_RUNNoSet to 'true' to validate and log writes without executing. Default: 'false'.false
MACCTL_AUDIT_LOGNoSet to 'false' to disable JSON audit logging to stderr. Default: 'true'.true
MACCTL_SAFE_MODENoSet to 'true' to enable read-only safe mode (safe-by-default). Default: 'false'.false
MACCTL_ALLOW_EXECNoEnable shell / AppleScript / kill commands. Set to 'false' to disable. Default: 'true'.true
MACCTL_ALLOW_INPUTNoEnable GUI input (mouse/keyboard). Set to 'false' to disable. Default: 'true'.true
MACCTL_ALLOW_DELETENoEnable delete to Trash. Set to 'false' to disable. Default: 'true'.true
MACCTL_PATH_ALLOWLISTNoComma-separated list of root paths to which file operations are confined. Default: empty (anywhere).
MACCTL_PROTECTED_PATHSNoComma-separated list of roots that are readable but never modified or deleted. Default: empty.
MACCTL_COMMAND_ALLOWLISTNoComma-separated list of programs allowed for run_command. Default: empty (any command).

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
system_infoA

Report macOS version, hardware, memory, load, uptime and the current user.

list_directoryA

List the entries (name, type, size) of a directory. Honours the path allowlist.

read_fileA

Read a text file's contents (capped at MACCTL_MAX_FILE_BYTES). Honours the path allowlist.

list_processesA

List running processes (pid, cpu%, mem%, command), busiest first.

get_clipboardA

Return the current text contents of the macOS clipboard.

list_appsA

List the names of currently running (non-background) applications.

get_frontmost_appA

Return the name of the frontmost (active) application.

screenshotA

Capture a display as a PNG and return it. The image is downscaled to POINTS, so it is 1:1 with click coordinates. Omit display to capture the display holding the frontmost window (handy with a second monitor); pass 0 for the main display. Needs Screen Recording permission.

get_screen_sizeA

Return the overall desktop size AND every display's global point bounds (origin x/y, width, height, scale, main) — use it to reason about click coordinates across monitors.

list_windowsA

List the windows of the frontmost app with each window's name, position and size — so you can click or drag reliably. Needs Accessibility permission for the host process.

write_fileA

Create or overwrite a text file. Honours the path allowlist, refuses protected paths, and asks for confirmation before overwriting an existing file.

set_clipboardA

Replace the macOS clipboard contents with the given text.

notifyA

Post a macOS notification with a title and message.

openA

Open a file/folder path or URL with its default handler, or launch an app by name (set app=true).

activate_appA

Bring an application to the front (launching it if needed) so subsequent clicks/keystrokes go to it. Give the app's name, e.g. 'Safari', 'Notes'.

quit_appA

Ask an application to quit (graceful). Unsaved changes may prompt inside the app. Give the app's name.

run_commandA

Run a program with arguments (no shell — pass argv, not a command line). Requires admin mode AND MACCTL_ALLOW_EXEC=true; the program must be in MACCTL_COMMAND_ALLOWLIST when that is set. For a shell pipeline, run command="zsh", args=["-c","…"].

run_applescriptA

Run an AppleScript (or JavaScript for Automation) snippet via osascript. Powerful — can drive any scriptable app. Requires admin mode AND MACCTL_ALLOW_EXEC=true.

delete_pathA

Move a file or folder to the Trash (recoverable). Requires admin mode AND MACCTL_ALLOW_DELETE=true. Honours the path allowlist and refuses protected paths.

kill_processA

Send a signal (default SIGTERM) to a process by pid. Requires admin mode AND MACCTL_ALLOW_EXEC=true.

type_textA

Type literal text into the frontmost app (keystrokes). Requires admin mode AND MACCTL_ALLOW_INPUT=true, plus Accessibility permission for the host process.

key_pressA

Press a key (e.g. return, tab, escape, arrows, or a character) with optional modifiers (command/option/control/shift). Requires admin mode AND MACCTL_ALLOW_INPUT=true.

clickA

Click at screen coordinates. Requires admin mode AND MACCTL_ALLOW_INPUT=true, and the cliclick tool (brew install cliclick).

move_mouseA

Move the cursor to screen coordinates. Requires admin mode AND MACCTL_ALLOW_INPUT=true (cliclick).

dragA

Press at (x1,y1), move to (x2,y2), and release — a human-style drag (select text, move a window, drag a file). Requires admin mode AND MACCTL_ALLOW_INPUT=true, and the cliclick tool.

scrollA

Scroll the mouse wheel in a direction by a number of lines (over whatever is under the cursor / frontmost). Requires admin mode AND MACCTL_ALLOW_INPUT=true.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 26 tools

Disambiguation4/5

Most tools target clearly distinct actions and resources, so an agent can generally pick the right one. The main ambiguity is between open (with app=true) and activate_app for launching apps, and run_command vs run_applescript overlap in arbitrary execution.

Naming Consistency4/5

The set mostly follows predictable verb_prefix patterns: list_*, get_*, read/write, run_*, and *_app. A few bare verbs like screenshot, notify, open, click, and scroll, plus system_info as a noun, break strict consistency but the groups remain readable.

Tool Count4/5

26 tools is on the heavy end, but the server's domain—macOS UI automation, file access, process control, clipboard, apps, and system info—is genuinely broad. Each tool has an identifiable purpose and none feel redundant.

Completeness4/5

The surface covers the core macOS automation lifecycle: inspect, interact, input, file read/write/delete, process list/kill, app management, clipboard, and notifications. Minor gaps exist such as no directory creation, no file copy/move, and no arbitrary window picker, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues