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.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a creation tool but doesn't mention permissions required, whether it overwrites existing files, what format the workflow file takes, or any side effects. For a creation tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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

Conciseness5/5

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

The description is a single, efficient sentence that states the core purpose without any fluff. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

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 creation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens after creation, what format the workflow file takes, whether it's saved somewhere specific, or what permissions might be required. Given the complexity of workflow creation and the lack of structured metadata, more context is needed.

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?

The schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description doesn't add any meaning beyond what's in the schema - it doesn't explain relationships between parameters, provide examples, or clarify usage patterns. This meets the baseline for high schema coverage.

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 action ('Create') and resource ('new Automator workflow file'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'quick_action' or 'system_automation' which might also create workflow-related artifacts, so it doesn't reach the highest score.

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 alternatives like 'quick_action' or 'run_applescript'. It doesn't mention prerequisites, dependencies, or typical use cases, leaving the agent with minimal context for selection.

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

list_actionsC

List available Automator actions

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category (optional)

TDQS

C2.9/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 the full burden of behavioral disclosure. The description only states what the tool does ('List available Automator actions') without revealing behavioral traits such as whether it's read-only, if it requires permissions, how results are formatted (e.g., pagination, sorting), or any rate limits. This leaves significant gaps for an agent to understand how to interact with it effectively.

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

Conciseness5/5

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

The description is a single, clear sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for a simple tool. Every word earns its place, making it easy for an agent to parse quickly.

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 simplicity (1 optional parameter, no output schema, no annotations), the description is incomplete. It doesn't explain what 'available' means (e.g., system-wide, user-specific, or based on permissions), the format of the returned list, or how it relates to sibling tools. For a discovery tool in an automation context, more context is needed to guide effective use.

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

Parameters4/5

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

The input schema has 1 parameter with 100% description coverage, documenting it as an optional filter by category. The description doesn't add any parameter semantics beyond what the schema provides, but since there's only one optional parameter and the schema is fully documented, the baseline is high. A score of 4 reflects that the description doesn't need to compensate for schema gaps in this minimal case.

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

Purpose3/5

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

The description states the tool's purpose ('List available Automator actions') which is clear but vague. It specifies the verb ('List') and resource ('Automator actions'), but doesn't distinguish it from potential sibling tools like 'quick_action' or 'system_automation' that might also involve actions. The description is adequate but lacks specificity about what 'available' means in this context.

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 alternatives. It doesn't mention sibling tools like 'create_workflow' or 'run_applescript', nor does it explain if this is for discovery, configuration, or other purposes. Without context, an agent must infer usage from the tool name alone, which is insufficient.

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
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Run a predefined quick action', implying a mutation or processing operation, but doesn't disclose critical traits like whether it modifies files in place, requires authentication, has rate limits, or what happens on failure. This is a significant gap for a tool with potential destructive effects, as it doesn't add context beyond the basic action.

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

Conciseness5/5

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

The description is a single, efficient sentence: 'Run a predefined quick action'. It's front-loaded with the core purpose and has zero wasted words, making it easy to parse quickly. Every part of the sentence earns its place by conveying the essential action.

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 (3 parameters, including nested objects, no output schema, and no annotations), the description is incomplete. It doesn't explain what 'predefined' entails, the scope of actions (e.g., file processing as hinted by enum), or behavioral outcomes. Without annotations or output schema, more context is needed to guide safe and effective use, especially for a mutation tool.

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 the schema already documents all parameters (action, files, options) with descriptions and an enum for action. The description adds no meaning beyond this, such as explaining what 'predefined' means or how options are structured. With high schema coverage, the baseline is 3, as the description doesn't compensate but also doesn't detract.

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

Purpose3/5

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

The description 'Run a predefined quick action' states the verb ('run') and resource ('predefined quick action'), but it's vague about what a 'quick action' entailsβ€”it could be any automated task without specifying the domain (e.g., file processing). It doesn't distinguish from siblings like 'create_workflow' or 'system_automation', which might involve similar automation. However, it avoids tautology by not merely restating the name 'quick_action'.

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 alternatives. It doesn't mention prerequisites, such as needing specific file types or permissions, or compare it to siblings like 'run_applescript' or 'list_actions'. Usage is implied only through the action parameter's enum values, but the description itself lacks explicit when/when-not statements or named alternatives.

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

run_applescriptC

Execute AppleScript code on macOS

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptYesAppleScript code to execute

TDQS

C2.9/5.0
Behavior2/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 behavioral disclosure. It states the action ('Execute') but fails to describe critical traits such as security implications, permission requirements, error handling, or output format. This leaves significant gaps for an agent to understand the tool's behavior beyond its basic function.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly. There is no wasted verbiage, earning a top score for conciseness.

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 that executes code on macOS with no annotations and no output schema, the description is incomplete. It lacks information on behavioral aspects like safety, permissions, or result handling, and does not compensate for the absence of structured data. Given the potential complexity and risks of code execution, more context is needed for effective agent 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?

The input schema has 100% description coverage, with the single parameter 'script' documented as 'AppleScript code to execute'. The description adds no additional semantic context beyond this, such as examples or constraints on script content. Given the high schema coverage, the baseline score of 3 is appropriate as the schema handles the parameter documentation adequately.

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 action ('Execute') and resource ('AppleScript code on macOS'), making the tool's purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'run_jxa' or 'system_automation', which prevents a perfect score, but the specificity of 'AppleScript' provides some implicit distinction.

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 alternatives like 'run_jxa' (for JavaScript for Automation) or 'system_automation'. It lacks context about prerequisites (e.g., macOS requirement) or typical use cases, offering only a basic functional statement without comparative or exclusionary advice.

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.2/5.0
Behavior2/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 behavioral disclosure. It states the action ('Execute') but does not mention critical traits like permissions required, potential side effects (e.g., system modifications), error handling, or output format. This leaves significant gaps for a tool that executes code, which is inherently risky without transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part earns its place by clearly stating the tool's function, making it highly concise and well-structured for quick understanding.

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 executing code (a potentially destructive operation) and the lack of annotations and output schema, the description is incomplete. It fails to address safety, permissions, or result handling, which are crucial for an agent to use this tool correctly and safely in context.

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?

The schema description coverage is 100%, with the single parameter 'script' fully documented in the schema as 'JXA JavaScript code to execute'. The description adds no additional meaning beyond this, such as syntax examples or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.

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 specific action ('Execute') and resource ('JavaScript for Automation (JXA) code on macOS'), distinguishing it from sibling tools like run_applescript (different scripting language) and system_automation (broader automation). It precisely communicates what the tool does without being vague or tautological.

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 alternatives like run_applescript or system_automation. It lacks explicit when/when-not instructions, prerequisites (e.g., macOS requirement implied but not stated), or comparisons to sibling tools, leaving the agent with minimal context for selection.

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.6/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. It mentions 'automation tasks' which implies potential system modifications, but fails to disclose critical behavioral traits such as permissions required, side effects (e.g., 'empty_trash' destroys files), or safety considerations, leaving significant gaps for an agent.

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, efficient sentence that is appropriately sized and front-loaded. It avoids unnecessary words, though it could be more informative; every word earns its place, but the brevity limits helpfulness.

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 system automation with 2 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on return values, error handling, or behavioral context needed for safe and effective use, failing to compensate for the missing structured data.

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 the schema already documents both parameters thoroughly, including an enum for 'task' and a description for 'parameters'. The description adds no additional meaning beyond what the schema provides, such as explaining task-specific behaviors or parameter usage, meeting the baseline for high schema coverage.

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

Purpose3/5

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

The description 'Perform system-level automation tasks' states a general purpose but is vague about what specific resources or actions are involved. It distinguishes from siblings like 'create_workflow' or 'list_actions' by focusing on system-level tasks rather than workflow management or listing, but lacks specificity about the exact verb+resource combination.

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 alternatives. With siblings like 'run_applescript' or 'quick_action', there is no indication of context, prerequisites, or exclusions for choosing this automation tool over others, leaving usage decisions ambiguous.

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

TDQS

B3.1/5.0
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
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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.
    159
    MIT
  • A
    license
    Not graded
    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.
    20
    MIT

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/VetCoders/automator-mcp'

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