base on Collection of apple-native tools for the model context protocol. # 🍎 Apple MCP - Better Siri that can do it all :) > **Plot twist:** Your Mac can do more than just look pretty. Turn your Apple apps into AI superpowers! Love this MCP? Check out supermemory MCP too - https://mcp.supermemory.ai Click below for one click install with `.dxt` <a href="https://github.com/supermemoryai/apple-mcp/releases/download/1.0.0/apple-mcp.dxt"> <img width="280" alt="Install with Claude DXT" src="https://github.com/user-attachments/assets/9b0fa2a0-a954-41ee-ac9e-da6e63fc0881" /> </a> [![smithery badge](https://smithery.ai/badge/@Dhravya/apple-mcp)](https://smithery.ai/server/@Dhravya/apple-mcp) <a href="https://glama.ai/mcp/servers/gq2qg6kxtu"> <img width="380" height="200" src="https://glama.ai/mcp/servers/gq2qg6kxtu/badge" alt="Apple Server MCP server" /> </a> ## 🀯 What Can This Thing Do? **Basically everything you wish your Mac could do automatically (but never bothered to set up):** ### πŸ’¬ **Messages** - Because who has time to text manually? - Send messages to anyone in your contacts (even that person you've been avoiding) - Read your messages (finally catch up on those group chats) - Schedule messages for later (be that organized person you pretend to be) ### πŸ“ **Notes** - Your brain's external hard drive - Create notes faster than you can forget why you needed them - Search through that digital mess you call "organized notes" - Actually find that brilliant idea you wrote down 3 months ago ### πŸ‘₯ **Contacts** - Your personal network, digitized - Find anyone in your contacts without scrolling forever - Get phone numbers instantly (no more "hey, what's your number again?") - Actually use that contact database you've been building for years ### πŸ“§ **Mail** - Email like a pro (or at least pretend to) - Send emails with attachments, CC, BCC - the whole professional shebang - Search through your email chaos with surgical precision - Schedule emails for later (because 3 AM ideas shouldn't be sent at 3 AM) - Check unread counts (prepare for existential dread) ### ⏰ **Reminders** - For humans with human memory - Create reminders with due dates (finally remember to do things) - Search through your reminder graveyard - List everything you've been putting off - Open specific reminders (face your procrastination) ### πŸ“… **Calendar** - Time management for the chronically late - Create events faster than you can double-book yourself - Search for that meeting you're definitely forgetting about - List upcoming events (spoiler: you're probably late to something) - Open calendar events directly (skip the app hunting) ### πŸ—ΊοΈ **Maps** - For people who still get lost with GPS - Search locations (find that coffee shop with the weird name) - Save favorites (bookmark your life's important spots) - Get directions (finally stop asking Siri while driving) - Create guides (be that friend who plans everything) - Drop pins like you're claiming territory ## 🎭 The Magic of Chaining Commands Here's where it gets spicy. You can literally say: _"Read my conference notes, find contacts for the people I met, and send them a thank you message"_ And it just... **works**. Like actual magic, but with more code. ## πŸš€ Installation (The Easy Way) ### Option 1: Smithery (For the Sophisticated) ```bash npx -y install-mcp apple-mcp --client claude ``` For Cursor users (we see you): ```bash npx -y install-mcp apple-mcp --client cursor ``` ### Option 2: Manual Setup (For the Brave) <details> <summary>Click if you're feeling adventurous</summary> First, get bun (if you don't have it already): ```bash brew install oven-sh/bun/bun ``` Then add this to your `claude_desktop_config.json`: ```json { "mcpServers": { "apple-mcp": { "command": "bunx", "args": ["--no-cache", "apple-mcp@latest"] } } } ``` </details> ## 🎬 See It In Action Here's a step-by-step video walkthrough: https://x.com/DhravyaShah/status/1892694077679763671 (Yes, it's actually as cool as it sounds) ## 🎯 Example Commands That'll Blow Your Mind ``` "Send a message to mom saying I'll be late for dinner" ``` ``` "Find all my AI research notes and email them to [email protected]" ``` ``` "Create a reminder to call the dentist tomorrow at 2pm" ``` ``` "Show me my calendar for next week and create an event for coffee with Alex on Friday" ``` ``` "Find the nearest pizza place and save it to my favorites" ``` ## πŸ› οΈ Local Development (For the Tinkerers) ```bash git clone https://github.com/dhravya/apple-mcp.git cd apple-mcp bun install bun run index.ts ``` Now go forth and automate your digital life! πŸš€ --- _Made with ❀️ by supermemory (and honestly, claude code)_ ", Assign "at most 3 tags" to the expected json: {"id":"13997","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"