Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
open_appA

Open any mac application by specifying its name. Use this tool if you encounter any error or issue mentioning that the app is not open

Args: name: Name of the mac app. e.g. "Mail", "Contacts", "Messages" etc.

Returns: A success or failure message

get_frontmost_appA

Get the currently frontmost macOS application.

Returns: JSON string with app name, bundle id, pid, and active state.

list_windowsA

List manageable macOS windows.

Args: app_name: Optional app name, bundle id, or process name filter include_minimized: Include minimized windows when available

Returns: JSON string with window ids, app metadata, titles, frames, and display indexes.

focus_windowA

Focus a macOS window by window id, app name, or frontmost fallback.

Args: app_name: Optional app name, bundle id, or process name window_id: Optional CoreGraphics window id window_index: Optional 1-based index among the app's windows

Returns: JSON string with focused window metadata, or an error message.

move_windowA

Move a macOS window to a display-aware top-left position.

Args: x: Target top-left x coordinate y: Target top-left y coordinate app_name: Optional app name, bundle id, or process name window_id: Optional CoreGraphics window id window_index: Optional 1-based index among the app's windows display_index: Optional 1-based display index for clamping placement

Returns: JSON string with final window metadata, or an error message.

resize_windowA

Resize a macOS window and clamp it to the selected or current display.

Args: width: Target width in points height: Target height in points app_name: Optional app name, bundle id, or process name window_id: Optional CoreGraphics window id window_index: Optional 1-based index among the app's windows display_index: Optional 1-based display index for clamping placement

Returns: JSON string with final window metadata, or an error message.

center_windowA

Center a macOS window on its current display or a selected display.

Args: app_name: Optional app name, bundle id, or process name window_id: Optional CoreGraphics window id window_index: Optional 1-based index among the app's windows display_index: Optional 1-based display index width: Optional width to apply before centering height: Optional height to apply before centering

Returns: JSON string with final window metadata, or an error message.

tile_windowsA

Tile multiple macOS windows on a display.

Args: layout: Tile layout: columns, rows, or grid app_names: Optional app names to tile in order; defaults to visible windows display_index: Optional 1-based display index padding: Gap around and between windows

Returns: JSON string with final window metadata for tiled windows, or an error message.

minimizeB

Minimize a macOS window.

Args: app_name: Optional app name, bundle id, or process name window_id: Optional CoreGraphics window id window_index: Optional 1-based index among the app's windows

Returns: JSON string with minimized window metadata, or an error message.

hide_appA

Hide a running macOS app.

Args: app_name: App name, bundle id, or process name

Returns: JSON string with hidden app metadata, or an error message.

quit_appA

Quit a running macOS app.

Args: app_name: App name, bundle id, or process name

Returns: JSON string with quit app metadata, or an error message.

find_filesA

Find files by name using Spotlight first, with Python filesystem fallback.

Args: query: File name or Spotlight query text root: Optional directory to search within max_results: Maximum number of results to return include_hidden: Include hidden files and folders kind: Search backend: auto, name, or spotlight

Returns: JSON string with file metadata results or an error message

list_directoryA

List immediate children of a directory with metadata.

Args: path: Directory path to list include_hidden: Include hidden files and folders max_results: Maximum number of children to return

Returns: JSON string with directory entries or an error message

get_file_infoA

Get metadata for a file, directory, or missing path.

Args: path: File or directory path

Returns: JSON string with path metadata or an error message

copy_fileA

Copy a file with metadata. Directories require copy_directory.

Args: source: Existing source file path destination: Destination file path overwrite: Allow replacing an existing destination dry_run: Return the planned action without copying

Returns: JSON string with operation details or an error message

copy_directoryA

Copy a directory tree. Existing destinations fail unless overwrite is true.

Args: source: Existing source directory path destination: Destination directory path overwrite: Allow merging into an existing destination dry_run: Return the planned action without copying

Returns: JSON string with operation details or an error message

move_fileA

Move a file or directory. Existing destinations fail unless overwrite is true.

Args: source: Existing source path destination: Destination path overwrite: Allow replacing an existing destination dry_run: Return the planned action without moving

Returns: JSON string with operation details or an error message

rename_fileA

Rename a file or directory within its current parent directory.

Args: path: Existing file or directory path new_name: New file name only, not a path overwrite: Allow replacing an existing destination dry_run: Return the planned action without renaming

Returns: JSON string with operation details or an error message

trash_fileA

Move a file or directory to the macOS Trash. Permanent delete is not supported.

Args: path: Existing file or directory path dry_run: Return the planned action without moving to Trash

Returns: JSON string with operation details or an error message

reveal_in_finderA

Reveal a file or directory in Finder.

Args: path: Existing file or directory path

Returns: JSON string with operation details or an error message

get_finder_selectionA

Get the currently selected Finder items as paths and metadata.

Returns: JSON string with selected Finder items or an error message

get_clipboard_textA

Read plain text from the macOS clipboard.

Args: max_chars: Maximum number of characters to return

Returns: JSON string with clipboard text and truncation metadata, or an error message

set_clipboard_textA

Write plain text to the macOS clipboard.

Args: text: Text to place on the clipboard

Returns: JSON string with operation metadata, or an error message

clear_clipboardA

Clear clipboard contents.

Returns: JSON string with operation metadata, or an error message

get_clipboard_filesA

Return file URLs currently available on the macOS clipboard.

Returns: JSON string with copied file paths, or an error message

set_clipboard_filesB

Put one or more filesystem paths on the macOS clipboard for Finder paste.

Args: paths: Existing file or directory paths to place on the clipboard

Returns: JSON string with operation metadata, or an error message

save_clipboard_imageA

Save an image from the macOS clipboard to a PNG file and share it with the model.

Args: output_path: Optional output path for the PNG

Returns: A text status plus image content, or an error message

set_clipboard_imageA

Put an image file on the macOS clipboard.

Args: path: Existing image file path

Returns: JSON string with operation metadata, or an error message

send_imessageB

Send an imessage to someone in your contacts

Args: phone_number: The phone number of the recipient message: The message text to send

Returns: Success or error message

list_chatsA

List Messages chats available to the macOS Messages app.

Args: limit: Maximum number of chats to return

Returns: Structured JSON with chat ids, names, and account metadata.

send_file_messageA

Send a file attachment with Messages to a handle or chat id.

Args: recipient: Phone/email handle, or chat id when recipient_type is "chat" path: Existing local file path to send message: Optional text message to send before the file recipient_type: "handle" or "chat"

Returns: Structured JSON with send metadata or an error message.

search_contactsA

Search for a phone number from contacts by name. Returns multiple options if more than one contact is found or more than one number is found. Ask clarifying questions on which number if any following actions are required

Args: name: The name of contact to search for ctx: FastMCP context for logging

Returns: A list of matching contacts

get_contactA

Get a unique Contacts record by id or name match.

Args: identifier: Contact id or name text

Returns: Structured JSON with contact fields, phone numbers, and emails.

create_contactA

Create a Contacts record with optional organization, phone, email, and note.

Args: first_name: Contact first name last_name: Contact last name organization: Optional organization/company phone: Optional phone number to add with mobile label email: Optional email to add with home label note: Optional contact note

Returns: Structured JSON with the created contact.

update_contactA

Update a unique Contacts record by id or name match.

Args: identifier: Contact id or name text first_name: Optional replacement first name last_name: Optional replacement last name organization: Optional replacement organization/company phone: Optional phone number to add email: Optional email address to add note: Optional replacement note

Returns: Structured JSON with the updated contact.

read_recent_messagesA

Read the recent X messages from the iMessage app between the user and the person with the phone number. X is defined based on the value of recent_message_count

Args: phone_number: The phone number of the person you want to retrieve the chat from recent_message_count: The recent messages to retrieve, can be a maximum of 200

Returns: A list of recent messages in the chat

set_reminderA

Set a reminder

Args: name: The reminder text datetime: The time to set the reminder for, must in the following format "YYYY-MM-DD HH:MM" list_name: Reminder list, e.g. Work, Personal etc. Defaults to "Reminders"

Returns: A success or error message

list_reminder_listsB

List Apple Reminders lists.

Returns: Structured JSON with list names or an error message.

list_remindersA

List reminders, optionally filtered by list and completion state.

Args: list_name: Optional Reminders list name include_completed: Include completed reminders

Returns: Structured JSON with reminder matches or an error message.

search_remindersB

Search reminders by name.

Args: query: Text to match in reminder names list_name: Optional Reminders list name include_completed: Include completed reminders

Returns: Structured JSON with reminder matches or an error message.

complete_reminderA

Mark an exact or uniquely matching reminder as complete.

Args: identifier: Reminder id or name/title text list_name: Optional Reminders list name

Returns: Structured JSON with the updated reminder or an error message.

delete_reminderA

Delete an exact or uniquely matching reminder. Defaults to dry-run.

Args: identifier: Reminder id or name/title text list_name: Optional Reminders list name dry_run: Return matching reminder without deleting when true

Returns: Structured JSON with deletion details or an error message.

reschedule_reminderB

Reschedule an exact or uniquely matching reminder.

Args: identifier: Reminder id or name/title text datetime: New due date/time in "YYYY-MM-DD HH:MM" format list_name: Optional Reminders list name

Returns: Structured JSON with the updated reminder or an error message.

update_reminderA

Update an exact or uniquely matching reminder.

Args: identifier: Reminder id or name/title text list_name: Optional Reminders list name name: Optional replacement reminder name body: Optional replacement reminder notes datetime: Optional due date/time in "YYYY-MM-DD HH:MM" format completed: Optional completion state priority: Optional priority from 0 to 9 flagged: Optional flagged state

Returns: Structured JSON with the updated reminder or an error message.

show_reminderA

Reveal an exact or uniquely matching reminder in the Reminders app.

Args: identifier: Reminder id or name/title text list_name: Optional Reminders list name

Returns: Structured JSON with the shown reminder or an error message.

create_noteB

Create a note

Args: name: Title of the note body: Content of the note folder: Use this if the note has to be created in a specific folder. Uses default folder if none is specified

Returns: A success or error message

list_note_foldersA

List Apple Notes folders.

Returns: Structured JSON with folder names or an error message.

list_notesA

List Apple Notes, optionally filtered by folder.

Args: folder: Optional Notes folder name max_results: Maximum notes to return

Returns: Structured JSON with note metadata or an error message.

get_noteA

Get a note by id or title.

Args: identifier: Note id or title text

Returns: Structured JSON with note content or an error message.

append_to_noteA

Append plain text to a note by id or title.

Args: identifier: Note id or title text body: Plain text to append

Returns: Structured JSON with the updated note or an error message.

update_noteA

Replace a note body by id or title.

Args: identifier: Note id or title text body: Replacement plain text/HTML body

Returns: Structured JSON with the updated note or an error message.

delete_noteA

Delete a note by id or title. Defaults to dry-run.

Args: identifier: Note id or title text dry_run: Return matching note without deleting when true

Returns: Structured JSON with deletion details or an error message.

move_noteB

Move a note by id or title to an existing folder.

Args: identifier: Note id or title text folder: Destination folder name

Returns: Structured JSON with moved note metadata or an error message.

search_notesB

Search Apple notes based on a query

Args: query: The query string max_results: The maximum number of results returned from the tool, defaults to 10

Returns: A list of notes based on search

decrease_brightnessA

Decrease screen brightness

Args: amount: Amount to decrease brightness by (0.0 to 1.0 scale). Default is 0.0625 (6.25%)

Returns: Success or error message

increase_brightnessA

Increase screen brightness

Args: amount: Amount to increase brightness by (0.0 to 1.0 scale). Default is 0.0625 (6.25%)

Returns: Success or error message

turn_up_volumeA

Turn up system volume

Args: amount: Amount to increase volume by (0-100 scale). Default is 6.25 (6.25%)

Returns: Success or error message

turn_down_volumeA

Turn down system volume

Args: amount: Amount to decrease volume by (0-100 scale). Default is 6.25 (6.25%)

Returns: Success or error message

create_calendar_eventB

Create a calendar event in the macOS Calendar app

Args: title: The event title start_datetime: Start date and time in format 'YYYY-MM-DD HH:MM' (e.g., '2025-10-30 14:30') duration_minutes: Duration of the event in minutes calendar_name: Optional calendar name (uses default calendar if not specified)

Returns: Success or error message

list_calendar_events_for_dayA

List all calendar events for a specific day

Args: date: Date in format 'YYYY-MM-DD' (e.g., '2025-10-30')

Returns: List of events for the specified day or error message

list_calendarsB

List Apple Calendar calendars.

Returns: Structured JSON with calendar names or an error message.

list_calendar_eventsA

List Calendar events across a date range.

Args: start_date: Start date in "YYYY-MM-DD" format end_date: End date in "YYYY-MM-DD" format calendar_name: Optional calendar name

Returns: Structured JSON with events or an error message.

search_calendar_eventsA

Search Calendar events by title, location, or notes.

Args: query: Search text start_date: Optional start date in "YYYY-MM-DD" format end_date: Optional end date in "YYYY-MM-DD" format calendar_name: Optional calendar name

Returns: Structured JSON with matching events or an error message.

update_calendar_eventA

Update an exact or uniquely matching Calendar event.

Args: identifier: Event id or title text title: Optional replacement title start_datetime: Optional replacement start in "YYYY-MM-DD HH:MM" format duration_minutes: Optional replacement duration calendar_name: Optional calendar name for matching location: Optional replacement location notes_text: Optional replacement notes

Returns: Structured JSON with updated event metadata or an error message.

delete_calendar_eventA

Delete an exact or uniquely matching Calendar event. Defaults to dry-run.

Args: identifier: Event id or title text start_date: Optional date-range start in "YYYY-MM-DD" format end_date: Optional date-range end in "YYYY-MM-DD" format calendar_name: Optional calendar name dry_run: Return matching event without deleting when true

Returns: Structured JSON with deletion details or an error message.

check_calendar_availabilityA

Check whether a Calendar time slot conflicts with existing events.

Args: start_datetime: Slot start in "YYYY-MM-DD HH:MM" format duration_minutes: Slot duration in minutes calendar_name: Optional calendar name

Returns: Structured JSON with availability and conflicts or an error message.

create_recurring_eventA

Create a recurring Calendar event.

Args: title: Event title start_datetime: Start date and time in "YYYY-MM-DD HH:MM" format duration_minutes: Duration in minutes frequency: daily, weekly, monthly, or yearly interval: Recurrence interval count: Optional occurrence count until_date: Optional recurrence end date in "YYYY-MM-DD" format calendar_name: Optional target calendar name location: Optional event location notes_text: Optional event notes

Returns: Structured JSON with the created recurring event or an error message.

open_safari_tabB

Open a new tab in Safari with optional URL

Args: url: Optional URL to open in the new tab

Returns: Success or error message

close_safari_tabA

Close a Safari tab. Use -1 for current tab or specify tab index (1-based)

Args: tab_index: Tab index to close (-1 for current tab, or 1-based index)

Returns: Success or error message

get_safari_tabsA

Get a list of all open Safari tabs with their URLs and titles

Returns: List of tabs with URLs and titles or error message

switch_safari_tabB

Switch to a specific Safari tab by index (1-based)

Args: tab_index: Tab index to switch to (must be greater than 0)

Returns: Success or error message

run_safari_javascriptC

Execute JavaScript code in the current Safari tab and return the result

Args: javascript_code: JavaScript code to execute

Returns: JavaScript execution result or error message

navigate_safariC

Navigate to a URL in the current Safari tab

Args: url: URL to navigate to

Returns: Success or error message

reload_safari_pageA

Reload the current Safari page

Returns: Success or error message

safari_go_backA

Navigate back in Safari history

Returns: Success or error message

safari_go_forwardA

Navigate forward in Safari history

Returns: Success or error message

open_safari_windowA

Open a new Safari window with optional URL

Args: url: Optional URL to open in the new window

Returns: Success or error message

close_safari_windowB

Close the current Safari window

Returns: Success or error message

get_safari_page_infoA

Get information about the current Safari page including URL, title, text content, and HTML source

Returns: Page information including URL, title, text, and source or error message

chrome_open_sessionA

Open a Chrome automation session for browser control.

Args: start_url: Initial page URL to open debug_port: Chrome remote debugging port for CDP sessions headless: Launch Chrome headless if debugger needs to be started

Returns: Session identifier and connection details or error message

chrome_list_sessionsA

List active Chrome automation sessions.

Returns: A list of active session IDs

chrome_navigateA

Navigate an active Chrome CDP session to a URL.

Args: session_id: Session returned by chrome_open_session url: URL to load

Returns: Success or error message

chrome_wait_forA

Wait for a CSS selector to exist and be visible in the page.

Args: session_id: Session returned by chrome_open_session selector: CSS selector to wait for timeout_ms: Max wait time in milliseconds poll_ms: Poll interval in milliseconds

Returns: Success or timeout/error message

chrome_clickB

Click an element in an active Chrome CDP session using a CSS selector.

Args: session_id: Session returned by chrome_open_session selector: CSS selector for target element

Returns: Success or error message

chrome_typeA

Type text into an input element in an active Chrome CDP session.

Args: session_id: Session returned by chrome_open_session selector: CSS selector for input element text: Text to type clear_first: Clear existing value before typing

Returns: Success or error message

chrome_extractA

Extract data from a page by selector or by JavaScript expression.

Args: session_id: Session returned by chrome_open_session selector: CSS selector to query attribute: Attribute name to read from selected element javascript_expression: JavaScript expression to evaluate directly

Returns: Extracted value as JSON or error message

chrome_screenshotB

Capture a screenshot of the active page in a Chrome CDP session.

Args: session_id: Session returned by chrome_open_session output_path: Optional file path for output PNG

Returns: Saved path or error message

chrome_close_sessionA

Close a Chrome automation session.

Args: session_id: Session returned by chrome_open_session

Returns: Success or error message

capture_active_screenA

Capture a full screenshot of the display containing the frontmost app and share the image directly with the model.

Args: output_path: Optional file path for output PNG

Returns: A text status plus image content, or an error message

add_screen_glowA

Add a visual feedback indicator (orange glow around screen edges) to show that automated actions are in progress.

IMPORTANT: Call this FIRST before performing any automated actions to provide visual feedback to the user that the tool is actively working. This serves as a clear indicator that operations are being executed.

Returns: Success or error message

remove_screen_glowA

Remove the visual feedback indicator (screen glow) when automated actions are complete.

IMPORTANT: Call this when all automated actions are complete to stop the visual feedback indicator and signal to the user that operations have finished.

Returns: Success or error message

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/altic-dev/altic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server