AppleScript MCP Server (Dual access: python and node.js)

by peakmojo

461 687 downloads Not rated yet MIT

About

MCP server that execute applescript giving you full control of your Mac

Details

License
MIT

Explore

Run AppleScript to access Mac applications and data
Interact with Notes, Calendar, Contacts, Messages, and more
Search for files using Spotlight or Finder
Read/write file contents and execute shell commands

  • Remote execution support via SSH

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name AppleScript MCP Server (Dual access: python and node.js)
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

brew install uv
uv sync --dev

When running in a Docker container, you can use the special hostname host.docker.internal to connect to your Mac host:

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "applescript mcp server (dual access: python and node.js)": {
            "applescript-mcp": {
                "command": "uv",
                "args": [
                    "sync",
                    "--dev"
                ]
            }
        }
    }
}

McpServers

{
    "applescript-mcp": {
        "command": "uv",
        "args": [
            "sync",
            "--dev"
        ]
    }
}

npm version License: MIT

Overview

A Model Context Protocol (MCP) server that lets you run AppleScript code to interact with Mac. This MCP is intentionally designed to be simple, straightforward, intuitive, and require minimal setup.

I can't believe how simple and powerful it is. The core code is <100 line of code.

<a href="https://glama.ai/mcp/servers/@peakmojo/applescript-mcp">
AppleScript Server MCP server
</a>

https://github.com/user-attachments/assets/b85e63ba-fb26-4918-8e6d-2377254ee388

Features

Run AppleScript to access Mac applications and data
Interact with Notes, Calendar, Contacts, Messages, and more
Search for files using Spotlight or Finder
Read/write file contents and execute shell commands

  • Remote execution support via SSH


Example Prompts

Create a reminder for me to call John tomorrow at 10am
Add a new meeting to my calendar for Friday from 2-3pm titled "Team Review"
Create a new note titled "Meeting Minutes" with today's date
Show me all files in my Downloads folder from the past week
What's my current battery percentage?
Show me the most recent unread emails in my inbox
List all the currently running applications on my Mac
Play my "Focus" playlist in Apple Music
Take a screenshot of my entire screen and save it to my Desktop
Find John Smith in my contacts and show me his phone number
Create a folder on my Desktop named "Project Files"
Open Safari and navigate to apple.com
Tell me how much free space I have on my main drive
List all my upcoming calendar events for this week

Usage with Claude Desktop

Node.js

{
  "mcpServers": {
    "applescript_execute": {
      "command": "npx",
      "args": [
        "@peakmojo/applescript-mcp"
      ]
    }
  }
}

Python (uvx)

No clone needed — run directly from the git repo:

{
  "mcpServers": {
    "applescript_execute": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/peakmojo/applescript-mcp",
        "mcp-server-applescript"
      ]
    }
  }
}

Python (local development)

For local development, clone the repo and use uv to run from source:

brew install uv
git clone https://github.com/peakmojo/applescript-mcp.git
{
  "mcpServers": {
    "applescript_execute": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your/repo",
        "run",
        "mcp-server-applescript"
      ]
    }
  }
}

Development

Setup

brew install uv
uv sync --dev

Run all checks (in parallel)

uv run check

This runs linting, formatting, type checking, and tests with 100% coverage — all in parallel.

Individual commands

uv run lint        # ruff linter
uv run format      # ruff auto-format
uv run typecheck   # pyrefly type checker
uv run test        # pytest with 100% coverage enforcement

Docker Usage

When running in a Docker container, you can use the special hostname host.docker.internal to connect to your Mac host:

Configuration

{
  "mcpServers": {
    "applescript_execute": {
      "command": "npx",
      "args": [
        "@peakmojo/applescript-mcp",
        "--remoteHost", "host.docker.internal",
        "--remoteUser", "yourusername",
        "--remotePassword", "yourpassword"
      ]
    }
  }
}

This allows your Docker container to execute AppleScript on the Mac host system. Make sure:

1. SSH is enabled on your Mac (System Settings → Sharing → Remote Login)
2. Your user has proper permissions
3. The correct credentials are provided in the config

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.

Videos about AppleScript MCP Server (Dual access: python and node.js)

Relevant YouTube tutorials, setups, and demos