applescript-mcp MCP Server
Features
- Calendar management (events, reminders)
- Clipboard operations
- Finder integration
- System notifications
- System controls (volume, dark mode, apps)
- iTerm terminal integration
- Mail (create new email, list emails, get email)
- Shortcuts automation
- Messages (list chats, get messages, search messages, send a message)
- Notes (create formatted notes, list notes, search notes)
- Pages (create documents)
Planned Features
- Safari (open in Safari, save page content, get selected page/tab)
- Reminders (create, get)
Prerequisites
- macOS 10.15 or later
- Node.js 18 or later
Available Categories
Calendar
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Clipboard
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Finder
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Notifications
Note: Sending notification requires that you enable notifications in System Settings > Notifications > Script Editor.
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
System
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
iTerm
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Shortcuts
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Messages
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Notes
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Pages
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Architecture
Core Components
- AppleScriptFramework (
framework.ts
): The main server class that:
- Categories (
src/categories/*.ts
): Modular script collections organized by functionality:
- Types (
src/types/index.ts
): TypeScript interfaces defining:
Execution Flow
- Client sends a tool request via MCP protocol
- Server identifies the appropriate category and script
- Script content is generated (static or dynamically via function)
- AppleScript is executed via macOS
osascript
command
- Results are returned to the client
Logging System
- Logs to both stderr and MCP logging protocol
- Supports multiple severity levels (debug, info, warning, error, etc.)
- Provides detailed execution information for troubleshooting
Development
Setup
Adding New Functionality
1. Create Category File
src/categories/newcategory.ts
:2. Add Scripts
3. Register Category
src/index.ts
:Advanced Script Development
- Use dynamic script generation:
- Process complex data:
Debugging
Using MCP Inspector
Logging
Example configuration
npm run build
add the following to your mcp.json
file:Common Issues
- Permission Errors: Check System Preferences > Security & Privacy > Privacy > Automation
- Script Failures: Test scripts directly in Script Editor.app before integration
- Communication Issues: Check stdio streams aren't being redirected
- Database Access: Some features (like Messages) require Full Disk Access permission
Resources
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
applescript-mcp MCP Server
Features
- Calendar management (events, reminders)
- Clipboard operations
- Finder integration
- System notifications
- System controls (volume, dark mode, apps)
- iTerm terminal integration
- Mail (create new email, list emails, get email)
- Shortcuts automation
- Messages (list chats, get messages, search messages, send a message)
- Notes (create formatted notes, list notes, search notes)
- Pages (create documents)
Planned Features
- Safari (open in Safari, save page content, get selected page/tab)
- Reminders (create, get)
Prerequisites
- macOS 10.15 or later
- Node.js 18 or later
Available Categories
Calendar
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Clipboard
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Finder
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Notifications
Note: Sending notification requires that you enable notifications in System Settings > Notifications > Script Editor.
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
System
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
iTerm
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Shortcuts
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Messages
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Notes
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Pages
[object Object] | [object Object] | [object Object] |
[object Object] | [object Object] | [object Object] |
Examples
Architecture
Core Components
- AppleScriptFramework (
framework.ts
): The main server class that:
- Categories (
src/categories/*.ts
): Modular script collections organized by functionality:
- Types (
src/types/index.ts
): TypeScript interfaces defining:
Execution Flow
- Client sends a tool request via MCP protocol
- Server identifies the appropriate category and script
- Script content is generated (static or dynamically via function)
- AppleScript is executed via macOS
osascript
command
- Results are returned to the client
Logging System
- Logs to both stderr and MCP logging protocol
- Supports multiple severity levels (debug, info, warning, error, etc.)
- Provides detailed execution information for troubleshooting
Development
Setup
Adding New Functionality
1. Create Category File
src/categories/newcategory.ts
:2. Add Scripts
3. Register Category
src/index.ts
:Advanced Script Development
- Use dynamic script generation:
- Process complex data:
Debugging
Using MCP Inspector
Logging
Example configuration
npm run build
add the following to your mcp.json
file:Common Issues
- Permission Errors: Check System Preferences > Security & Privacy > Privacy > Automation
- Script Failures: Test scripts directly in Script Editor.app before integration
- Communication Issues: Check stdio streams aren't being redirected
- Database Access: Some features (like Messages) require Full Disk Access permission
Resources
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request