execute_script
Run AppleScript or JXA (JavaScript for Automation) scripts to automate macOS tasks, control applications, and manage system functions using predefined or custom scripts directly from the MCP server.
Instructions
Automate macOS tasks using AppleScript or JXA (JavaScript for Automation) to control applications like Terminal, Chrome, Safari, Finder, etc.
1. Script Source (Choose one):
kb_script_id
(string): Preferred. Executes a pre-defined script from the knowledge base by its ID. Useget_scripting_tips
to find IDs and inputs. Supports placeholder substitution viainput_data
orarguments
. Ex:kb_script_id: "safari_get_front_tab_url"
.script_content
(string): Executes raw AppleScript/JXA code. Good for simple or dynamic scripts. Ex:script_content: "tell application \"Finder\" to empty trash"
.script_path
(string): Executes a script from an absolute POSIX path on the server. Ex:/Users/user/myscripts/myscript.applescript
.
2. Script Inputs (Optional):
input_data
(JSON object): Forkb_script_id
, provides named inputs (e.g.,--MCP_INPUT:keyName
). Values (string, number, boolean, simple array/object) are auto-converted. Ex:input_data: { "folder_name": "New Docs" }
.arguments
(array of strings): Forscript_path
(passes toon run argv
/run(argv)
). Forkb_script_id
, used for positional args (e.g.,--MCP_ARG_1
).
3. Execution Options (Optional):
language
('applescript' | 'javascript'): Specify forscript_content
/script_path
(default: 'applescript'). Inferred forkb_script_id
.timeout_seconds
(integer, optional, default: 60): Sets the maximum time (in seconds) the script is allowed to run. Increase for potentially long-running operations.output_format_mode
(enum, optional, default: 'auto'): Controlsosascript
output formatting.'auto'
: Smart default - resolves to'human_readable'
for AppleScript and'direct'
for JXA.'human_readable'
: For AppleScript, uses-s h
flag.'structured_error'
: For AppleScript, uses-s s
flag (structured errors).'structured_output_and_error'
: For AppleScript, uses-s ss
flag (structured output & errors).'direct'
: No special output flags (recommended for JXA).
include_executed_script_in_output
(boolean, optional, default: false): Iftrue
, the final script content (after any placeholder substitutions) or script path that was executed will be included in the response. This is useful for debugging and understanding exactly what was run. Defaults to false.include_substitution_logs
(boolean, default: false): Forkb_script_id
, includes detailed placeholder substitution logs.report_execution_time
(boolean, optional, default: false): Iftrue
, an additional message with the formatted script execution time will be included in the response. Defaults to false.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
arguments | No | ||
include_executed_script_in_output | No | ||
include_substitution_logs | No | ||
input_data | No | ||
kb_script_id | No | ||
language | No | ||
output_format_mode | No | ||
report_execution_time | No | ||
script_content | No | ||
script_path | No | ||
timeout_seconds | No |