applescript-mcp
local-only server
The server can only run on the clientβs local machine because it depends on local resources.
Integrations
Allows interaction with macOS through AppleScript, including calendar management, clipboard operations, Finder integration, system notifications, system controls, and iTerm terminal integration
Required as a prerequisite for running the MCP server
Planned feature to allow opening pages in Safari, saving page content, and getting selected page/tab
applescript-mcp MCP Server
A Model Context Protocol server that enables LLM applications to interact with macOS through AppleScript. This server provides a standardized interface for AI applications to control system functions, manage files, handle notifications, and more.
Features
- ποΈ Calendar management (events, reminders)
- π Clipboard operations
- π Finder integration
- π System notifications
- βοΈ System controls (volume, dark mode, apps)
- π iTerm terminal integration
Planned Features
- π¬ Mail (list emails, save attachments, summarize, send)
- π§ Safari (open in Safari, save page content, get selected page/tab)
- π¬ Messages (send, get, list)
- β Reminders (create, get)
- ποΈ Notes (create, get, list)
Prerequisites
- macOS 10.15 or later
- Node.js 18 or later
Available Categories
Calendar
Command | Description | Parameters |
---|---|---|
add | Create calendar event | title , startDate , endDate |
list | List today's events | None |
Clipboard
Command | Description | Parameters |
---|---|---|
set_clipboard | Copy to clipboard | content |
get_clipboard | Get clipboard contents | None |
clear_clipboard | Clear clipboard | None |
Finder
Command | Description | Parameters |
---|---|---|
get_selected_files | Get selected files | None |
search_files | Search for files | query , location (optional) |
quick_look | Preview file | path |
Notifications
Command | Description | Parameters |
---|---|---|
send_notification | Show notification | title , message , sound (optional) |
toggle_do_not_disturb | Toggle DND mode | None |
System
Command | Description | Parameters |
---|---|---|
volume | Set system volume | level (0-100) |
get_frontmost_app | Get active app | None |
launch_app | Open application | name |
quit_app | Close application | name , force (optional) |
toggle_dark_mode | Toggle dark mode | None |
iTerm
Command | Description | Parameters |
---|---|---|
paste_clipboard | Paste to iTerm | None |
run | Execute command | command , newWindow (optional) |
Development
Setup
Adding New Functionality
1. Create Category File
Create src/categories/newcategory.ts
:
2. Add Scripts
3. Register Category
Update src/index.ts
:
Debugging
Using MCP Inspector
The MCP Inspector provides a web interface for testing and debugging your server:
Logging
Enable debug logging by setting the environment variable:
Common Issues
- Permission Errors: Check System Preferences > Security & Privacy
- Script Failures: Test scripts directly in Script Editor.app
- Communication Issues: Check stdio streams aren't being redirected
Resources
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
MIT License - see LICENSE for details
This server cannot be installed
Enables LLM applications to interact with macOS through AppleScript.