AppleScript MCP Server (Dual access: python and node.js)
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.
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
Install uv
brew install uv
git clone ...
Run the server
{
"mcpServers": {
"applescript_execute": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/repo",
"run",
"src/applescript_mcp/server.py"
]
}
}
}
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:
- SSH is enabled on your Mac (System Settings → Sharing → Remote Login)
- Your user has proper permissions
- The correct credentials are provided in the config
Recommend MCP Servers 💡
mcp-task-orchestrator
MCP server that breaks down complex tasks into structured workflows with specialized AI roles and workspace-aware management
oddlyspaced/ultimate-android-mcp
A feature-rich MCP server enabling LLMs to automate connected Android devices/emulators via ADB-powered functionalities like app management, UI interaction, and device monitoring.
mcp-server-docker
MCP server for Docker
vmware-fusion-mcp-server
A Model Context Protocol (MCP) server for managing VMware Fusion virtual machines via the Fusion REST API
lifx-api-mcp-server
A local Model Context Protocol (MCP) server providing natural language access to LIFX devices via LLMs to control lights, set states, activate scenes, and trigger effects through the LIFX HTTP API.
MCPControl
Windows control server for the Model Context Protocol, providing programmatic control over system operations including mouse, keyboard, window management, and screen capture functionality