Overview
applescript-mcp is a macOS Model Context Protocol (MCP) server that enables large language model (LLM) applications to interact with macOS via AppleScript, allowing for automation of various system functions.
To use applescript-mcp, set up the server on your macOS device, install the required Node.js dependencies, and run the server to enable communication with LLM applications using specified commands.
- Calendar management (events and reminders) - Clipboard operations (copy, paste, clear) - Finder integration to manage files - System notifications handling - Controls for system settings such as volume and dark mode - Future features planned for mail and messaging integration
- Automating calendar event creation and reminders through LLM queries.
- Integrating with Finder to manage files via AI assistance.
- Sending system notifications based on AI-driven triggers.
Add to your AI client
Use these steps to connect applescript-mcp MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"applescript-mcp-joshrutkowski": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-applescript-mcp-joshrutkowski"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"applescript-mcp-joshrutkowski": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-applescript-mcp-joshrutkowski"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"applescript-mcp-joshrutkowski": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-applescript-mcp-joshrutkowski"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"applescript-mcp-joshrutkowski": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-applescript-mcp-joshrutkowski"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"applescript-mcp-joshrutkowski": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-applescript-mcp-joshrutkowski"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"applescript-mcp-joshrutkowski": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-applescript-mcp-joshrutkowski"
]
}
}
}FAQ
What macOS versions are supported?
macOS 10.15 or later is required to run applescript-mcp.
How can I contribute to the project?
You can contribute by forking the repository, making changes, and submitting a Pull Request.
Are there any common issues?
Yes, common issues include permission errors, script failures in the Script Editor, and communication issues due to incorrect stdio stream configurations.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":81,"uuid":"67ec56c3-c50a-4dbc-bf6e-6986e2ca190f","name":"applescript-mcp","title":"applescript-mcp MCP Server","description":"A macOS AppleScript MCP server","avatar_url":"https://avatars.githubusercontent.com/u/54906829?v=4","created_at":"$D2024-12-13T09:00:31.728Z","updated_at":"$D2024-12-13T09:34:48.171Z","status":"created","author_name":"joshrutkowski","author_avatar_url":"https://avatars.githubusercontent.com/u/54906829?v=4","tags":"[]","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/joshrutkowski/applescript-mcp","target":"_self","content":"$29","summary":"$2a","img_url":"https://github.com/joshrutkowski/applescript-mcp/actions/workflows/node.js.yml/badge.svg","type":null,"metadata":"{\"star\":\"138\",\"license\":\"MIT license\",\"language\":\"TypeScript\",\"is_official\":false,\"latest_commit_time\":\"2025-04-19 13:24:04\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]