JCAppleScript — Claude Code MCP server for macOS apps
Give an AI agent access to macOS apps through AppleScript and predefined commands. Useful for tasks in Finder, Mail, Messages, and other apps.
Open on GitHubWhat JCAppleScript does
JCAppleScript exposes commands for Messages, Mail, Reminders, Calendar, Notes, Finder, Safari, Music, Terminal, System Settings, Xcode, and Speech Recognition. An agent can search the command registry and inspect the script a command will run. Developers can add commands for other apps by implementing the ScriptableApp protocol.
Build the server with swift build -c release; the executable is created at .build/release/jcas-mcp. To connect it to Claude Desktop, add the executable’s path to claude_desktop_config.json. Safe mode disables tools that run arbitrary AppleScript or JXA, along with commands marked dangerous. Only the ready-made safe commands remain available.
What it helps with
- Send a message through Messages
- Search Mail and draft a reply
- Create an event in Calendar
- Open or build an Xcode project
- Inspect a Finder folder
Example prompts for the agent
- Send John a Messages note saying I’ll be late.
- Find emails about the release in Mail and draft a reply.
- Open the project in Xcode and run its tests.
How to install JCAppleScript
Install
The MCP registry has no launch command for it: see the repository README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about JCAppleScript
How do I install JCAppleScript for Claude Code?
Build the server with swift build -c release. The executable is at .build/release/jcas-mcp; for Claude Desktop, add its path to claude_desktop_config.json.
What does JCAppleScript do?
It provides an MCP server through which an agent can run predefined macOS app commands, search the registry, and preview a command’s script.
What does JCAppleScript safe mode disable?
With JCAS_SAFE_MODE=1, arbitrary AppleScript and JXA tools are disabled, as are commands marked dangerous. Ready-made safe commands remain available.