Provides comprehensive integration with Apple's native macOS applications including Messages (send/read messages), Notes (list, search, create, delete notes), Contacts (search contacts), Mail (send emails, search messages), Reminders (list, search, create reminders), Calendar (search events, create entries), and Maps (search locations, get directions, manage guides).
Enables web search capabilities using DuckDuckGo's search engine.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PyApple MCP Toolssend a message to Mom saying I'll be home by 7pm"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PyApple MCP Tools
A Python implementation of Apple-native tools for the Model Context Protocol (MCP), providing seamless integration with macOS applications.
Features
Messages: Send and read messages using the Apple Messages app
Notes: List, search, create, and delete notes in Apple Notes app
Contacts: Search contacts from Apple Contacts
Emails: Send emails, search messages, and manage mail with Apple Mail
Reminders: List, search, and create reminders in Apple Reminders app
Calendar: Search events, create calendar entries, and manage your schedule
Web Search: Search the web using DuckDuckGo
Maps: Search locations, get directions, and manage guides with Apple Maps
Quick Installation
Automated Setup (Recommended)
The setup helper will:
Find your pyapple-mcp installation
Locate your Claude Desktop config file
Automatically add the configuration
Display helpful setup information
Manual Installation
Install pyapple-mcp:
pip install pyapple-mcpConfigure Claude Desktop by editing
~/Library/Application Support/Claude Desktop/claude_desktop_config.json:{ "mcpServers": { "pyapple": { "command": "pyapple-mcp" } } }Restart Claude Desktop to load the new configuration.
Usage Examples
Basic Commands
Advanced Workflows
You can chain commands together for complex workflows:
Development
Local Setup
Clone the repository:
git clone https://github.com/pyapple-mcp/pyapple-mcp.git cd pyapple-mcpInstall dependencies:
pip install -e ".[dev]"Run the development server:
python -m pyapple_mcp.server
Testing with MCP Inspector
Requirements
macOS 10.15+ (Catalina or later)
Python 3.10+
Appropriate permissions for accessing:
Contacts
Calendar
Messages
Mail
Notes
Reminders
Automation (for controlling apps)
Permissions Setup
On first use, macOS will prompt for various permissions. Grant access to:
Contacts - for contact search functionality
Calendar - for calendar event management
Messages - for sending/reading messages
Mail - for email operations
Notes - for notes access
Reminders - for reminder management
Automation - for controlling applications via AppleScript
Troubleshooting
Common Issues
Permission Denied Errors:
Go to System Settings > Privacy & Security
Grant access to the required applications
Restart Claude Desktop
Module Import Errors:
Ensure you're running on macOS
Install PyObjC frameworks:
pip install pyobjc
AppleScript Execution Errors:
Check that the target applications are installed
Verify automation permissions in System Settings
Setup Issues:
Run
pyapple-mcp-setup --helpfor setup optionsCheck that pyapple-mcp is in your PATH:
which pyapple-mcpUse
pyapple-mcp-setup --config-path /path/to/configfor custom config locations
Debug Mode
Run with debug logging:
Architecture
Contributing
Fork the repository
Create a feature branch:
git checkout -b feature-nameMake your changes
Run tests:
pytestSubmit a pull request
License
MIT License - see LICENSE file for details.
Acknowledgments
Inspired by the original apple-mcp TypeScript implementation
Built with the MCP Python SDK
Uses PyObjC for macOS system integration