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 the screen and return it as a PNG image. Needs Screen Recording permission for the host process.

get_screen_sizeA

Return the main screen size in points (width, height) — use it to reason about click coordinates.

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

A4/5.0

Scored across 26 tools

Disambiguation5/5

Every tool targets a distinct action or resource: clipboard get/set, file read/write/delete, process list/kill, app management, UI input (click/drag/scroll/type/key), and system introspection. No two tools have overlapping purposes; even mouse actions are separated into move, click, drag, and scroll.

Naming Consistency4/5

Tool names uniformly use snake_case and mostly follow a verb_noun pattern (e.g., list_directory, read_file, activate_app). A few exceptions like system_info and screenshot are noun-like but still stylistically consistent and predictable.

Tool Count4/5

26 tools is on the higher end, but the server's broad purpose of controlling macOS justifies the count. The tool set covers file, process, app, UI, clipboard, and system domains without excessive redundancy, though it is heavier than typical servers.

Completeness4/5

The surface covers core macOS control operations: file lifecycle, process management, app control, clipboard, UI automation, and system info. Minor gaps like file rename/move or network configuration exist, but agents can work around them with run_command or AppleScript.

Maintenance

ActivityMaintained
ResponsivenessNo issues