PyApple MCP Tools

Python implementation of Apple-native tools for the Model Context Protocol

Python 3.9+ MIT License MCP Compatible

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

πŸ“§ Mail

Send emails, search messages, and manage mail with optimized local database search

⏰ 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

Installation

Automated Setup (Recommended)

# Install pyapple-mcp
pip install pyapple-mcp

# Run the setup helper to configure Claude Desktop
pyapple-mcp-setup

The setup helper will automatically configure Claude Desktop for you.

Manual Installation

# Install pyapple-mcp
pip install pyapple-mcp

Then configure Claude Desktop by editing ~/Library/Application Support/Claude Desktop/claude_desktop_config.json:

{
  "mcpServers": {
    "pyapple": {
      "command": "pyapple-mcp"
    }
  }
}

Requirements

  • macOS 10.14+ (Mojave or later)
  • Python 3.9+
  • Appropriate permissions for accessing Contacts, Calendar, Messages, Mail, Notes, Reminders, and Automation

Usage Examples

Basic Commands

Can you send a message to John Doe saying "Hello from Claude!"?
Find all notes about "AI research" and summarize them
Create a reminder to "Buy groceries" for tomorrow at 5pm

Advanced Workflows

Read my note about the conference attendees, find their contact information, and send them a thank you email

API Reference

Development

# Clone the repository
git clone https://github.com/54yyyu/pyapple-mcp.git
cd pyapple-mcp

# Install dependencies
pip install -e ".[dev]"

# Run the development server
python -m pyapple_mcp.server

Testing

# Test the server
mcp dev pyapple_mcp/server.py

# Test with dependencies
mcp dev pyapple_mcp/server.py --with httpx --with beautifulsoup4

Code Quality

black .        # Format code
isort .        # Sort imports  
mypy .         # Type checking
pytest         # Run tests