MCP server intelligence profile

macOS Automator MCP Server

Provides a Model Context Protocol server for executing AppleScript and JavaScript for Automation scripts on macOS, featuring a knowledge base of pre-defined scripts and supporting automation of macOS applications and system functions

Local Onlysteipete
Awaiting current scanNpm · 0.4.7

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
2Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install @steipete/macos-automator-mcp from npm

Install exact version 0.4.7. No verified executable entrypoint is available, so use the package documentation to launch it.

npm install --save-exact @steipete/macos-automator-mcp@0.4.7

Identity

Canonical slugmacos-automator-mcp-server-c91b4613DeploymentLocal Only
Canonical packagenpm:@steipete/macos-automator-mcpRepositorysteipete/macos-automator-mcp
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npm@steipete/macos-automator-mcp0.4.716Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npm@steipete/macos-automator-mcp0.4.7CurrentSep 5, 20262 toolsSucceeded · 0 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
macos_automatorServer-reported name
1Capability groups
Sep 1, 2026Observed

Tools 2

ToolCategoryAnnotationsRisk
execute_scriptAutomate 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. Use `get_scripting_tips` to find IDs and inputs. Supports placeholder substitution via `input_data` or `arguments`. 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): For `kb_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): For `script_path` (passes to `on run argv` / `run(argv)`). For `kb_script_id`, used for positional args (e.g., `--MCP_ARG_1`). **3. Execution Options (Optional):** * `language` ('applescript' | 'javascript'): Specify for `script_content`/`script_path` (default: 'applescript'). Inferred for `kb_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'): Controls `osascript` 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): If `true`, 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): For `kb_script_id`, includes detailed placeholder substitution logs. * `report_execution_time` (boolean, optional, default: false): If `true`, an additional message with the formatted script execution time will be included in the response. Defaults to false.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "kb_script_id": {
      "description": "The ID of a knowledge base script to execute. Replaces script_content and script_path if provided.",
      "type": "string"
    },
    "script_content": {
      "description": "The content of the script to execute. Required if kb_script_id or script_path is not provided.",
      "type": "string"
    },
    "script_path": {
      "description": "The path to the script file to execute. Required if kb_script_id or script_content is not provided.",
      "type": "string"
    },
    "arguments": {
      "description": "Optional arguments to pass to the script. For AppleScript, these are passed to the main `run` handler. For JXA, these are passed to the `run` function.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "input_data": {
      "description": "Optional JSON object to provide named inputs for --MCP_INPUT placeholders in knowledge base scripts.",
      "type": "object",
      "properties": {},
      "additionalProperties": {}
    },
    "language": {
      "description": "Specifies the scripting language. Crucial for `script_content` and `script_path` if not 'applescript'. Defaults to 'applescript'. Inferred if using `kb_script_id`.",
      "type": "string",
      "enum": [
        "applescript",
        "javascript"
      ]
    },
    "timeout_seconds": {
      "default": 60,
      "description": "The timeout for the script execution in seconds. Defaults to 60.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "output_format_mode": {
      "default": "auto",
      "description": "Controls osascript output formatting. \n'auto': (Default) Smart selection based on language (AppleScript: human_readable, JXA: direct). \n'human_readable': AppleScript -s h. \n'structured_error': AppleScript -s s. \n'structured_output_and_error': AppleScript -s ss. \n'direct': No -s flags (recommended for JXA).",
      "type": "string",
      "enum": [
        "auto",
        "human_readable",
        "structured_error",
        "structured_output_and_error",
        "direct"
      ]
    },
    "report_execution_time": {
      "default": false,
      "description": "If true, the tool will return an additional message containing the formatted script execution time. Defaults to false.",
      "type": "boolean"
    },
    "include_executed_script_in_output": {
      "default": false,
      "description": "If true, the executed script content (after substitutions) or path will be included in the output.",
      "type": "boolean"
    },
    "include_substitution_logs": {
      "default": false,
      "description": "If true, detailed logs of placeholder substitutions will be included in the output.",
      "type": "boolean"
    }
  }
}
Annotations
{
  "title": "Execute Script",
  "destructiveHint": true
}
Destructive
get_scripting_tipsDiscover how to automate any app on your Mac with this comprehensive knowledge base of AppleScript/JXA tips and runnable scripts. This tool is essential for discovery and should be the FIRST CHOICE when aiming to automate macOS tasks, especially those involving common applications or system functions, before attempting to write scripts from scratch. It helps identify pre-built, tested solutions, effectively teaching you how to control virtually any aspect of your macOS experience. **Primary Use Cases & Parameters:** * **Discovering Solutions (Use `search_term`):** * Parameter: `search_term` (string, optional). * Functionality: Performs a fuzzy search across all tip titles, descriptions, keywords, script content, and IDs. Ideal for natural language queries like "how to..." (e.g., `search_term: "how do I get the current Safari URL and title?"`). This is the most common way to find relevant tips. * Output: Returns a list of matching tips in Markdown format. * **Limiting Search Results (Use `limit`):** * Parameter: `limit` (integer, optional, default: 10). * Functionality: Specifies the maximum number of script tips to return when using `search_term` or browsing a specific `category` (without `list_categories: true`). Does not apply if `list_categories` is true. * **Browsing by Category (Use `category`):** * Parameter: `category` (string, optional). * Functionality: Shows tips from a specific category. Combine with `limit` to control result count. * Example: `category: "01_intro"` or `category: "07_browsers/chrome"`. * **Listing All Categories (Use `list_categories: true`):** * Parameter: `list_categories` (boolean, optional). * Functionality: Returns a structured list of all available categories with their descriptions. This helps you understand what automation areas are covered. * Output: Category tree in Markdown format. * **Refreshing Database (Use `refresh_database: true`):** * Parameter: `refresh_database` (boolean, optional). * Functionality: Forces a reload of the knowledge base if new scripts have been added. Typically not needed as the database refreshes automatically. **Best Practices:** 1. **Always start with search**: Use natural language queries to find solutions (e.g., "send email from Mail app"). 2. **Browse categories when exploring**: Use `list_categories: true` to see available automation areas. 3. **Use specific IDs for execution**: Once you find a script, use its ID with `execute_script` tool for precise execution.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "category": {
      "description": "Specific category of tips. If omitted with no `search_term`, lists all categories.",
      "type": "string"
    },
    "search_term": {
      "description": "Keyword to search within tip titles, content, keywords, or IDs.",
      "type": "string"
    },
    "list_categories": {
      "default": false,
      "description": "If true, returns only the list of available categories and their descriptions. Overrides other parameters.",
      "type": "boolean"
    },
    "refresh_database": {
      "description": "If true, forces a reload of the knowledge base before processing the request.",
      "type": "boolean"
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of results to return. Default is 10.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  }
}
Annotations
{
  "title": "Get Scripting Tips",
  "readOnlyHint": true
}
Read only

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

macOS Automator MCP Server questions

How do I install macOS Automator MCP Server?

Install the selected package version with: npm install --save-exact @steipete/macos-automator-mcp@0.4.7

What tools does macOS Automator MCP Server provide?

macOS Automator MCP Server exposed 2 tools during independent protocol observation, including execute_script, get_scripting_tips.

Is macOS Automator MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.