keyboard-maestro-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| km_get_errorsA | Get recent errors and failures from Keyboard Maestro Engine log. Returns errors grouped by macro with timestamps and error messages. |
| km_get_logB | Get raw log entries from Keyboard Maestro Engine log with optional filters. |
| km_list_macrosA | List all macros in Keyboard Maestro with their names and UIDs. |
| km_get_macroB | Get details about a specific macro by name or UID. |
| km_get_macro_xmlA | Get the full XML definition of a macro. Useful for understanding macro structure or creating similar macros. |
| km_search_macrosA | Search for macros by name (case-insensitive partial match). returns name and UID. |
| km_create_macroA | Create a new macro with a name. Optionally include action XML to add an initial action. |
| km_clone_macroB | Duplicate an existing macro. Optionally provide a new name. |
| km_add_actionC | Add an action to an existing macro using XML. |
| km_delete_macroA | Delete a macro by name or UID. WARNING: This cannot be undone! |
| km_enable_macroC | Enable or disable a macro. |
| km_run_macroB | Execute a macro by name or UID. |
| km_move_macroB | Move a macro to a different macro group. |
| km_manage_variableC | Manage Keyboard Maestro variables (get, set, delete). |
| km_get_action_xmlA | Get the XML definition of a specific action in a macro. Actions are 1-indexed. |
| km_set_action_xmlB | Set/replace the XML of a specific action in a macro. Use km_get_action_xml first to get the current XML. |
| km_search_replace_actionB | Search and replace text within a specific action in a macro. Useful for fixing typos or updating values. |
| km_delete_actionA | Delete a specific action from a macro. Actions are 1-indexed. WARNING: This cannot be undone! |
| km_add_triggerC | Add a trigger to a macro using XML. |
| km_delete_triggerA | Delete a trigger from a macro. Triggers are 1-indexed. |
| km_list_actionsA | List all actions in a macro with their index, name, and enabled status. |
| km_move_actionA | Move an action to a new position index. Subsequent actions will shift down. |
| km_manage_groupB | Manage macro groups (create, delete, toggle, list). |
| km_get_trigger_xmlB | Get the XML definition of a specific trigger in a macro. Triggers are 1-indexed. |
| km_set_trigger_xmlA | Set/replace the XML of a specific trigger in a macro. Use km_get_trigger_xml first to understand the format. |
| km_add_notificationA | Add a notification action to a macro. Much simpler than using km_add_action with raw XML. |
| km_add_pauseC | Add a pause action to a macro. |
| km_add_set_variableC | Add an action to set a variable to a text value. |
| km_add_calculationB | Add an action to set a variable to the result of a calculation (e.g., "Counter + 1"). |
| km_add_display_textB | Add an action to display text in a window. |
| km_add_if_variable_containsB | Add an If-Then-Else action that checks if a variable contains a value. |
| km_add_if_calculationB | Add an If-Then-Else action that checks a calculation condition (e.g., "Counter >= 5"). |
| km_add_execute_macroC | Add an action to execute another macro. |
| km_add_shell_scriptB | Add an action to execute a shell script. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 34 tools
Tools have mostly distinct purposes (e.g., adding specific action types, managing macros, triggers, groups). Some overlap exists between the generic km_add_action and the specialized add tools, but descriptions clarify when to use each.
All tools follow the 'km_verb_noun' pattern strictly, using snake_case. The verbs (add, create, delete, get, set, etc.) are clearly delineated, making the tool surface highly predictable.
34 tools is on the higher side but justified by the scope of automating Keyboard Maestro. Some redundancy (e.g., km_add_action vs. specific add tools) could be trimmed, but overall the count is borderline appropriate.
The tool set covers the full lifecycle of macros, actions, triggers, groups, and variables, plus logs and search. There are no obvious gaps for common macro automation tasks.