Sponsor MCPSafe10 founding slots
Registry/macOS Automator MCP

macOS Automator MCP

Verified

An MCP server to run AppleScript and JXA (JavaScript for Automation) to macOS.

By steipeteMIT
typescript
automation
884stars
65forks
Scanned Oct 2, 2026
RepositoryGITHUB
Automated scan (limited checks) · 2026-10-02

This grade comes from an automated MCPSafe scan of the server's JavaScript, TypeScript and Python source on 2026-10-02. It read the whole repository (19 files). It checks for leaked credentials, shell or code injection from function inputs, unsafe deserialization, malware signatures, install-time scripts, and weak password handling. It does not check for path traversal, server-side request forgery, prompt injection in tool descriptions, network exposure, SQL injection, cross-site scripting, or vulnerable dependencies. It has not been manually reviewed, and the code may have changed since the scan.

A+100%
Scanned 10/2/2026

Excellent Security

Vulnerabilities Found
0Crit
0High
0Med
0Low
0Info

Trust Score 73

Usable with caution
Trust grade B

Trust is stricter than security: it combines reviewed security, MCP capability risk, supply-chain metadata, quality, popularity, freshness, and penalties for unknowns.

Security
100
MCP risk
64
Supply chain
92
Maintenance
58
Docs
100
Freshness
55
Risk traits
Runs shell commands
Filesystem access
Why it scores well
  • • No reviewed severe vulnerabilities published
  • • Strong project quality signals
  • • Good documentation surface
  • • Solid supply-chain metadata
What reduces confidence
  • • Stale or missing recent scan
  • • MCP risk traits: Runs shell commands, Filesystem access

Security ScoreA+

100
out of 100

Vulnerabilities Found

0
Crit
0
High
0
Medi
0
Low
0
Info
Last scanned: 10/2/2026

Quality ScoreB

70
out of 100
58
Maint.
42
Popular
100
Docs
78
Compat
Maintenance58%
Popularity42%
Documentation100%
Compatibility78%

Maintenance58

Unknown
Commit Frequency65%
Release Frequency35%
Issue Response80%

Popularity42

884
Stars
0
Downloads
65
Forks
Stars Score83%
Downloads Score0%
Forks Score63%

Documentation100

README Quality100%

Available Documentation

API DocsExamplesChangelog

Compatibility78

MCP Spec Compliance80%
Transport Support75%

Features

TypeScript

Vulnerabilities(0)

This grade comes from an automated scan. Individual findings from automated scans are not published.

READMEmacOS Automator MCP

View source

macOS Automator MCP 🤖 — Give your agent a Mac to operate

macOS Automator MCP

![CI](https://github.com/steipete/macos-automator-mcp/actions/workflows/ci.yml)

![npm](https://www.npmjs.com/package/@steipete/macos-automator-mcp)

![Node.js](https://nodejs.org/)

![macOS](https://www.apple.com/macos/)

![License](LICENSE)

macOS Automator MCP is a Model Context Protocol server that lets MCP clients discover and run AppleScript or JavaScript for Automation (JXA). It is for agents that need to control macOS applications, inspect the system, or reuse scripts from a bundled knowledge base.

Install

You need macOS and Node.js 24 or newer. Add the server to your MCP client's configuration; npx downloads the current npm release when the client starts it.

json
{
  "mcpServers": {
    "macos_automator": {
      "command": "npx",
      "args": ["-y", "--package", "@steipete/macos-automator-mcp", "macos-automator-mcp"]
    }
  }
}

If your client has a separate package field, use @steipete/macos-automator-mcp without @latest.

Quick start

Restart your MCP client after adding the configuration. First, ask it to call get_scripting_tips with a small search:

json
{
  "search_term": "Safari front tab URL",
  "limit": 3
}

Then verify script execution with a read-only inline script through execute_script:

json
{
  "script_content": "return \"Hello from macOS Automator\""
}

The result is Hello from macOS Automator. Calls that control applications or the user interface may prompt for macOS permissions.

Tools

| Tool | Purpose |

| -------------------- | ---------------------------------------------------------------------- |

| get_scripting_tips | List knowledge-base categories or search for AppleScript and JXA tips. |

| execute_script | Run one inline script, script file, or knowledge-base script ID. |

Use get_scripting_tips before writing a script from scratch. A returned runnable ID can be passed to execute_script as kb_script_id; scripts with placeholders accept named input_data or positional arguments.

execute_script runs with the privileges of the process hosting the MCP server. Only run scripts you trust, and inspect generated scripts before allowing destructive actions. See the tool reference for every input and response option.

Permissions

The application that launches the MCP server—such as Terminal, an editor, or a desktop MCP client—owns its macOS privacy permissions:

  • Grant Automation access when scripts control Finder, Safari, Mail, or another application.
  • Grant Accessibility access when scripts use System Events for clicks, keystrokes, menus, or other UI scripting.

macOS may show a first-use prompt for each target application. The server cannot grant these permissions itself. See configuration and permissions for setup and common error codes.

Knowledge base

The package includes hundreds of AppleScript and JXA tips covering system tasks, files, browsers, terminals, productivity apps, developer tools, and UI automation. Search by keyword or category, then execute a result by its runnable ID.

A local knowledge base can add or override bundled tips without changing the package. It defaults to ~/.macos-automator/knowledge_base; see configuration and permissions for its layout and override rules.

Configuration

| Variable | Values | Default |

| --------------- | ---------------------------------------- | ----------------------------------- |

| LOG_LEVEL | DEBUG, INFO, WARN, ERROR | INFO |

| KB_PARSING | lazy, eager | lazy |

| LOCAL_KB_PATH | Absolute path to a custom knowledge base | ~/.macos-automator/knowledge_base |

lazy loads the knowledge base on first use; eager loads it at server startup. More detail is in configuration and permissions.

Troubleshooting

  • Permission errors such as -1743 or -10004 usually mean the host application needs Automation or Accessibility access.
  • Script syntax errors are easiest to isolate with include_executed_script_in_output and include_substitution_logs, then reproduce in Script Editor.
  • Use an absolute POSIX path with script_path, and raise timeout_seconds for scripts that legitimately need more than 60 seconds.
  • JXA normally works best with output_format_mode: "direct"; the default auto mode selects it for JXA.

See Debugging AppleScript and JXA for a longer diagnostic guide.

Development

sh
pnpm install
pnpm run build
pnpm test
pnpm run lint
pnpm run validate

The repository uses pnpm 11 and Node.js 24. The development guide covers local server setup and knowledge-base contributions.

Community

Report bugs and propose scripts in GitHub Issues.

<a href="https://glama.ai/mcp/servers/@steipete/macos-automator-mcp">

<img width="380" height="200" src="https://glama.ai/mcp/servers/@steipete/macos-automator-mcp/badge" alt="macOS Automator MCP server on Glama" />

</a>

License

MIT

Embed Security Badge

Add this badge to your README or documentation

macOS Automator MCP MCPSafe Security
[![macOS Automator MCP MCPSafe Security](https://api.mcpsafe.org/api/badge/steipete-macos-automator-mcp.svg)](https://mcpsafe.org/registry/steipete-macos-automator-mcp)
Need more customization options?Badge Documentation

Server Information

Source
GITHUB
Language
typescript
License
MIT
Added
Sep 6, 2026
Updated
Oct 1, 2026