Skip to main content
Glama
VetCoders

automator-mcp

by VetCoders

🤖 automator-mcp

MCP (Model Context Protocol) server for macOS Automator - bringing AI-powered automation to your Mac!

🚨 BREAKING: AI CAN NOW CONTROL YOUR MAC! 🚨

npm version

🤯 What This Does

This MCP server lets Claude (or any AI with MCP support) control your macOS:

  • 📧 Send emails through Apple Mail

  • 🗂️ Organize files intelligently

  • 🖥️ Control applications natively

  • 🔄 Automate workflows with AppleScript/JXA

  • 👀 Visual automation - AI watches and learns from your screen

Yes, you read that right. AI can now send emails from your Mac!

Related MCP server: macos-mcp

🚀 Features

  • AppleScript Execution - Run AppleScript directly from AI

  • JavaScript for Automation (JXA) - Modern JS automation support

  • Workflow Creation - Build Automator workflows programmatically

  • Quick Actions - Pre-built automations for common tasks

  • System Automation - Control macOS system features

📦 Installation

npm install -g automator-mcp

🔧 Configuration

Add to your Claude Desktop config:

{
  "mcpServers": {
    "automator": {
      "command": "automator-mcp"
    }
  }
}

🛠️ Available Tools

run_applescript

Execute AppleScript code:

tell application "Finder"
  display dialog "Hello from AI!"
end tell

run_jxa

Execute JavaScript for Automation:

Application('Finder').displayDialog('Hello from AI!');

quick_action

Run predefined automations:

  • compress_images - Compress image files

  • convert_to_pdf - Convert files to PDF

  • resize_images - Resize images to specified dimensions

  • extract_text_from_pdf - Extract text from PDFs

  • combine_pdfs - Merge multiple PDFs

  • convert_video - Convert video formats

system_automation

System-level tasks:

  • empty_trash - Empty the trash

  • toggle_dark_mode - Switch between light/dark mode

  • take_screenshot - Capture screen

  • get_system_info - Get system information

create_workflow

Create new Automator workflows with specified actions.

list_actions

List available Automator actions by category.

💡 Examples

Compress all screenshots from today:

Use quick_action with action "compress_images" and files from ~/Desktop/Screenshot*.png

Toggle dark mode:

Use system_automation with task "toggle_dark_mode"

Create a workflow to resize images:

Use create_workflow to make a new service that resizes selected images to 800x600

🤝 Contributing

Pull requests welcome! Let's make Mac automation amazing together.

📄 License

MIT © Maciej Gad


Made with ❤️ by @Szowesgad & @giklaudiusz

Yes, this MCP was co-created by an AI (Klaudiusz) who can now send emails through your Mac. We live in the future! 🚀

Available Tools

6 tools
create_workflowC

Create a new Automator workflow file

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the workflow
typeYesType of Automator document
actionsNoArray of action configurations

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states the creation action without mentioning side effects (e.g., overwriting existing files), required permissions, error conditions, or return behavior. This is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is minimal (one sentence) with no extraneous information. It is concise, but it prioritizes brevity over completeness, omitting important usage context that could be added without significant length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (creation with 3 parameters, no output schema), the description only covers the basic purpose. It lacks information about prerequisites, output behavior, error handling, and integration with sibling tools, making it insufficient for an agent to use the tool correctly without additional assumptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters have baseline explanations. The tool description adds no additional meaning beyond what the schema already provides, resulting in a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create' and resource 'Automator workflow file', making the purpose evident. However, it does not differentiate itself from sibling tools like 'quick_action' or 'run_applescript', which could confuse an AI agent selecting the appropriate tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description lacks context for preferred scenarios, prerequisites, or exclusions, leaving the agent without direction for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_actionsB

List available Automator actions

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category (optional)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It gives no information about side effects (e.g., read-only vs. mutating), performance, or return format, which is insufficient for an agent to assess impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It could be slightly more informative without sacrificing conciseness, but it is well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and no annotations, the description should explain what information the list contains (e.g., action names, IDs, descriptions). It does not, leaving the agent uncertain about the return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single optional parameter, so the schema already explains its meaning. The description adds no further semantic value, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'List' and the resource 'Automator actions', making the tool's purpose immediately obvious. It distinguishes from sibling tools like create_workflow or run_applescript which have different verbs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives. No context about prerequisites, typical use cases, or when not to use it is given, leaving the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

quick_actionC

Run a predefined quick action

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesQuick action to perform
filesYesFile paths to process
optionsNoAction-specific options

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It fails to indicate whether actions are destructive (e.g., overwrite files), require permissions, or have side effects like modifying input files. The description does not convey any safety information, which is critical for a tool with actions like 'compress_images' that likely alter files.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. However, it may be too brief to be fully informative. It is front-loaded but sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters (one nested object) and no output schema, the description is insufficient. It omits details about return values (e.g., success/failure), expected output files, or behavior for long-running actions like video conversion. The nested 'options' parameter suggests complexity that the description does not address.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema documentation covers 100% of parameters with descriptions. The description adds no new meaning beyond the schema, which already explains each parameter. Baseline 3 is appropriate as the schema suffices.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Run a predefined quick action' clearly states the tool's purpose of executing one of several fixed actions. It distinguishes from sibling tools like 'run_applescript' or 'create_workflow' which involve custom scripts or workflow creation. However, it does not list the specific actions available, leaving some ambiguity about the resource being used.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus siblings like 'list_actions' (to see available actions) or 'run_applescript' (for custom scripts). It lacks any context about prerequisites, when not to use it, or alternatives. The single sentence offers no usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_applescriptB

Execute AppleScript code on macOS

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptYesAppleScript code to execute

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does not disclose execution behavior (synchronous/asynchronous), error handling, security implications, or side effects. For a code execution tool, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, concise sentence with no waste. It is appropriately sized for a simple tool with one parameter, though it could add a bit more context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of code execution and lack of output schema and annotations, the description is insufficient. It omits return values, error behavior, and security considerations, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter description 'AppleScript code to execute' already states the purpose. The tool description adds no additional semantic value beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Execute') and the resource ('AppleScript code on macOS'), distinguishing it from sibling tools like run_jxa, which runs JavaScript for Automation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use AppleScript vs alternatives like run_jxa or system_automation. The description provides no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_jxaB

Execute JavaScript for Automation (JXA) code on macOS

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptYesJXA JavaScript code to execute

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only states execution without disclosing behavioral traits such as permissions, mutability, sandboxing, or return values. With no annotations, the agent lacks critical safety context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no extraneous words. It could benefit from a title, but structure is efficient for the simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a code execution tool with no output schema and no annotations, the description lacks information on return behavior, error handling, and system impact, making it incomplete for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter description, leaving syntax, length, or encoding details undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Execute', the resource 'JavaScript for Automation (JXA) code', and the platform 'macOS', distinguishing it from siblings like run_applescript.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is provided. The description implies usage for JXA code on macOS but does not compare with sibling tools or state exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

system_automationC

Perform system-level automation tasks

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesSystem task to perform
parametersNoTask-specific parameters

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, and the description provides no behavioral details such as destructive effects, permissions, or side effects. For a tool with tasks like empty_trash, this is a critical gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but overly generic; it does not earn its place by providing useful information. It could be more detailed without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (8 enum tasks, a nested object parameter, no output schema), the description is completely inadequate. It fails to inform the agent about available tasks or how to use parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to add much. However, it adds no extra meaning beyond the schema's brief descriptions for task and parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description is vague: 'Perform system-level automation tasks' does not specify which tasks, and does not distinguish from sibling tools like quick_action or run_applescript. It lacks a specific verb and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. No context about prerequisites or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedcreate_workflow
    • First observedlist_actions
    • First observedquick_action
    • First observedrun_applescript
    • First observedrun_jxa
    • First observedsystem_automation

TDQS

B3.1/5.0

Scored across 6 tools

Disambiguation3/5

The tools have some clear distinctions, such as create_workflow vs. run_applescript, but there is notable overlap between quick_action, system_automation, and the execution tools (run_applescript, run_jxa). An agent might struggle to choose between quick_action and system_automation for general tasks, as their purposes are not sharply differentiated in the descriptions.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., create_workflow, list_actions, run_applescript), which aids readability. However, quick_action deviates slightly by using an adjective-noun format, breaking the pattern and causing minor inconsistency in the set.

Tool Count5/5

With 6 tools, the server is well-scoped for automation tasks on macOS, covering workflow creation, action listing, and various execution methods. The count is appropriate, avoiding bloat while providing essential functionality for the domain without feeling thin or excessive.

Completeness3/5

The tools cover key areas like workflow creation and script execution, but there are notable gaps in the automation lifecycle. For example, there are no tools for managing or deleting workflows, updating actions, or handling errors, which could limit agent effectiveness in more complex automation scenarios.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for macOS that enables AI agents to control the desktop GUI through keyboard input, mouse actions, and screen captures. It provides stable low-level primitives for UI automation and agent-driven desktop workflows.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    A lightweight MCP server that bridges AI agents and macOS, enabling automation of file navigation, application control, UI interaction, browser automation, and system operations.
    176
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    MCP server that enables AI to fully control macOS — mouse, keyboard, terminal, screenshots, window management, UI element detection, and provides AI-optimized information reporting.
    36
    41 npm
    MIT