/ Directory / Playground / applescript-mcp
● Community peakmojo ⚡ Instant

applescript-mcp

by peakmojo · peakmojo/applescript-mcp

Execute AppleScript from Claude to control any macOS app — Notes, Calendar, Finder, Messages, and more.

applescript-mcp gives Claude the ability to run arbitrary AppleScript on macOS, providing programmatic control over system apps and services. It can create calendar events, manage notes, search files via Spotlight, take screenshots, control media playback, and run shell commands. Available in Python and Node.js, with Docker support for remote execution via SSH.

Why use it

Key features

Live Demo

What it looks like in practice

applescript-mcp.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "applescript-mcp": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/peakmojo/applescript-mcp"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "applescript-mcp": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/peakmojo/applescript-mcp"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "applescript-mcp": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/peakmojo/applescript-mcp"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "applescript-mcp": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/peakmojo/applescript-mcp"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "applescript-mcp",
      "command": "TODO",
      "args": [
        "See README: https://github.com/peakmojo/applescript-mcp"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "applescript-mcp": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/peakmojo/applescript-mcp"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add applescript-mcp -- TODO 'See README: https://github.com/peakmojo/applescript-mcp'

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use applescript-mcp

How to create calendar events with natural language using applescript-mcp

👤 Mac users who want to manage their calendar via Claude ⏱ ~5 min beginner

When to use: You want to quickly create, modify, or query calendar events without opening Calendar.app.

Prerequisites
  • macOS with SSH enabled — System Settings → Sharing → Remote Login
  • applescript-mcp installed — npx -y @peakmojo/applescript-mcp or uvx applescript-mcp
Flow
  1. Create an event
    Create a calendar event titled 'Team Standup' for tomorrow at 10am, 30 minutes long, in my Work calendar.✓ Copied
    → Confirmation that the event was created with date and time
  2. Query upcoming events
    What events do I have this week?✓ Copied
    → List of calendar events with times and titles

Outcome: Calendar events created and queried without leaving the chat.

Pitfalls
  • AppleScript uses calendar names that must match exactly — List available calendars first before creating events
Combine with: filesystem

Search and organize files on your Mac with applescript-mcp

👤 Mac power users looking for file management automation ⏱ ~10 min intermediate

When to use: You need to find scattered files across your Mac and organize them.

Prerequisites
  • applescript-mcp running — npx -y @peakmojo/applescript-mcp
Flow
  1. Search for files
    Use Spotlight to find all PDF files on my Mac modified in the last week.✓ Copied
    → List of file paths matching the criteria
  2. Organize results
    Move all those PDFs into ~/Documents/Recent-PDFs/, creating the folder if needed.✓ Copied
    → Confirmation of files moved

Outcome: Files found via Spotlight and organized into a designated folder.

Pitfalls
  • Spotlight index may be incomplete — Ensure Spotlight indexing is enabled for the relevant drives in System Settings
Combine with: filesystem

Combinations

Pair with other MCPs for X10 leverage

applescript-mcp + filesystem

Use AppleScript to find files via Spotlight, then filesystem MCP to read and process their contents

Find all .md files modified today using Spotlight, then read and summarize each one.✓ Copied
applescript-mcp + github

Create calendar reminders for upcoming GitHub PR review deadlines

Check my open PR review requests on GitHub and create calendar reminders for any that are overdue.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
run_applescript script: str Execute any AppleScript command on the connected Mac 0

Cost & Limits

What this costs to run

API quota
No external API — runs locally on macOS
Tokens per call
200–1000 tokens per script execution
Monetary
Free
Tip
Keep scripts focused on one task per call to minimize token usage from large outputs.

Security

Permissions, secrets, blast radius

Credential storage: SSH credentials needed for remote execution — store in env vars, not in config files
Data egress: All execution is local to the Mac. No external network calls unless your script makes them.

Troubleshooting

Common errors and fixes

AppleScript execution failed — not authorized

Grant Terminal (or your MCP host) access in System Settings → Privacy & Security → Automation and Accessibility.

Verify: osascript -e 'tell application "Finder" to get name of every disk'
SSH connection refused

Enable Remote Login in System Settings → Sharing. Verify SSH credentials are correct.

Verify: ssh your-user@localhost 'echo ok'
Application not responding to AppleScript

Some apps have limited or no AppleScript support. Check the app's AppleScript dictionary in Script Editor.

Verify: Open Script Editor → File → Open Dictionary → select the app

Alternatives

applescript-mcp vs others

AlternativeWhen to use it insteadTradeoff
filesystem MCPYou only need file read/write without controlling macOS appsMuch narrower scope but no system-level access risks

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills