### Apple Maps MCP Tool Implementation Example (TypeScript) Source: https://context7.com/supermemoryai/apple-mcp/llms.txt This snippet provides an example of how to implement and use the Apple Maps MCP tool in a TypeScript project. It shows asynchronous calls to functions like `searchLocations` and `getDirections`, along with their expected return types. ```typescript import maps from './utils/maps'; const searchResult = await maps.searchLocations("pizza near me", 3); // Returns: { success: true, locations: [{ name: "...", address: "...", latitude: 37.7, longitude: -122.4 }], message: "..." } const directions = await maps.getDirections( "Current Location", "Apple Park, Cupertino", "driving" ); // Returns: { success: true, message: "Directions opened in Maps", route: {...} } ``` -------------------------------- ### Apple Maps MCP Tool Operations (TypeScript) Source: https://context7.com/supermemoryai/apple-mcp/llms.txt This snippet demonstrates various operations for the Apple Maps MCP tool, including searching for locations, saving favorites, getting directions, dropping pins, creating and adding to guides, and listing guides. These are presented as JSON objects representing tool calls. ```typescript // MCP Tool Call - Search locations { "name": "maps", "arguments": { "operation": "search", "query": "coffee shops near me", "limit": 5 } } // Response: "Found 5 locations:\n\nName: Blue Bottle Coffee Address: 123 Main St Coordinates: 37.7749, -122.4194" // Save location to favorites { "name": "maps", "arguments": { "operation": "save", "name": "Favorite Coffee Shop", "address": "123 Main Street, San Francisco" } } // Get directions { "name": "maps", "arguments": { "operation": "directions", "fromAddress": "Home", "toAddress": "123 Main Street, San Francisco", "transportType": "driving" } } // transportType options: "driving", "walking", "transit" // Drop pin at location { "name": "maps", "arguments": { "operation": "pin", "name": "Meeting Point", "address": "Golden Gate Park, San Francisco" } } // Create guide (collection of locations) { "name": "maps", "arguments": { "operation": "createGuide", "guideName": "Best Restaurants 2025" } } // Add location to guide { "name": "maps", "arguments": { "operation": "addToGuide", "address": "456 Market Street, San Francisco", "guideName": "Best Restaurants 2025" } } // List all guides { "name": "maps", "arguments": { "operation": "listGuides" } } ``` -------------------------------- ### Apple Notes Tool: Create, Search, and List Notes Source: https://context7.com/supermemoryai/apple-mcp/llms.txt This tool enables the creation, searching, and listing of notes within the Apple Notes application. It supports organizing notes into folders. Dependencies include the 'notes' utility module. Operations include 'create', 'search', and 'list', with inputs specifying note content, titles, and search terms. ```typescript // MCP Tool Call - Create a note { "name": "notes", "arguments": { "operation": "create", "title": "Meeting Notes", "body": "Discussed Q4 roadmap and budget allocations", "folderName": "Work" } } // Response: "Created note 'Meeting Notes' in folder 'Work'" // Search notes { "name": "notes", "arguments": { "operation": "search", "searchText": "roadmap" } } // Response: "Meeting Notes:\nDiscussed Q4 roadmap and budget allocations" // List all notes { "name": "notes", "arguments": { "operation": "list" } } // Implementation example import notes from './utils/notes'; const result = await notes.createNote( "Project Ideas", "1. New mobile app\n2. API integration\n3. Dashboard redesign", "Projects" ); // Returns: { success: true, note: {...}, folderName: "Projects", usedDefaultFolder: false } const searchResults = await notes.findNote("mobile"); // Returns: [{ name: "Project Ideas", content: "1. New mobile app..." ] ``` -------------------------------- ### Manage Apple Reminders: Create, Search, List Source: https://context7.com/supermemoryai/apple-mcp/llms.txt Create new reminders with details like name, list, notes, and due date. Search for existing reminders and list all reminders. Requires reminders utility. ```typescript // MCP Tool Call - Create reminder { "name": "reminders", "arguments": { "operation": "create", "name": "Call dentist", "listName": "Personal", "notes": "Schedule annual checkup", "dueDate": "2025-01-20T14:00:00Z" } } // Response: "Created reminder 'Call dentist' in list 'Personal'" // Search reminders { "name": "reminders", "arguments": { "operation": "search", "searchText": "dentist" } } // List all reminders { "name": "reminders", "arguments": { "operation": "list" } } // Response: "Found 3 lists and 15 reminders." ``` ```typescript const newReminder = await reminders.createReminder( "Buy groceries", "Shopping", "Milk, eggs, bread", "2025-01-15T18:00:00Z" ); const lists = await reminders.getAllLists(); // Returns: [{ name: "Personal", id: "x-apple-reminder://..." }, { name: "Work", id: "..." }] ``` -------------------------------- ### Manage Apple Calendar: Create, Search, List Events Source: https://context7.com/supermemoryai/apple-mcp/llms.txt Create new calendar events with details like title, start/end dates, location, and notes. Search for events within a date range and list upcoming events. Requires calendar utility. ```typescript // MCP Tool Call - Create event { "name": "calendar", "arguments": { "operation": "create", "title": "Team Meeting", "startDate": "2025-01-15T14:00:00Z", "endDate": "2025-01-15T15:00:00Z", "location": "Conference Room A", "notes": "Discuss Q1 goals and project assignments", "isAllDay": false, "calendarName": "Work" } } // Response: "Created event 'Team Meeting' in calendar 'Work'. Event scheduled from 1/15/25 2:00 PM to 1/15/25 3:00 PM" // Search events { "name": "calendar", "arguments": { "operation": "search", "searchText": "meeting", "limit": 10, "fromDate": "2025-01-01", "toDate": "2025-01-31" } } // List upcoming events { "name": "calendar", "arguments": { "operation": "list", "limit": 5, "fromDate": "2025-01-14", "toDate": "2025-01-21" } } ``` ```typescript const result = await calendar.createEvent( "Project Deadline", "2025-01-31T23:59:00Z", "2025-01-31T23:59:00Z", "Online", "Final submission for Q1 deliverables", false, "Work" ); // Returns: { success: true, message: "...", eventId: "..." } ``` -------------------------------- ### Manage Apple Mail: Send, Search, List Accounts Source: https://context7.com/supermemoryai/apple-mcp/llms.txt Send emails, search for specific messages, and list all configured email accounts. Supports CC, BCC, and filtering by account and mailbox. Requires mail utility. ```typescript // MCP Tool Call - Send email { "name": "mail", "arguments": { "operation": "send", "to": "colleague@company.com", "subject": "Project Update", "body": "The Q4 release is on track for delivery next week.", "cc": "manager@company.com", "bcc": "archive@company.com" } } // Response: "Email sent successfully to colleague@company.com" // Search emails { "name": "mail", "arguments": { "operation": "search", "searchTerm": "invoice", "limit": 10 } } // List all email accounts { "name": "mail", "arguments": { "operation": "accounts" } } // Response: "Found 2 email accounts:\n\nwork@company.com\npersonal@gmail.com" ``` ```typescript import mail from './utils/mail'; await mail.sendMail( "recipient@example.com", "Meeting Request", "Can we schedule a call for tomorrow?", "cc@example.com", "bcc@example.com" ); ``` -------------------------------- ### Manage Apple Reminders: Open Reminder Source: https://context7.com/supermemoryai/apple-mcp/llms.txt Open a specific reminder by searching for its name. This action brings the reminder to the forefront for user interaction. Requires reminders utility. ```typescript // Open specific reminder { "name": "reminders", "arguments": { "operation": "open", "searchText": "Call dentist" } } ``` -------------------------------- ### Apple Contacts Tool: Search and Retrieve Contact Information Source: https://context7.com/supermemoryai/apple-mcp/llms.txt This tool allows for searching and retrieving contact information from the Apple Contacts application. It supports fuzzy matching and phone number lookups. Dependencies include the 'contacts' utility module. Input is typically a contact name or phone number, and the output is contact details or a list of phone numbers. ```typescript // MCP Tool Call - Find specific contact { "name": "contacts", "arguments": { "name": "John Doe" } } // Response: "John Doe: +1234567890, +1098765432" // Get all contacts { "name": "contacts", "arguments": {} } // Response: "Found 150 contacts:\n\nJohn Doe: +1234567890\nJane Smith: +1555123456..." // Implementation example - Finding contact by phone import contacts from './utils/contacts'; const phoneNumbers = await contacts.findNumber("mom"); // Returns: ["+15551234567"] const contactName = await contacts.findContactByPhone("+15551234567"); // Returns: "Mom" const allContacts = await contacts.getAllNumbers(); // Returns: { "John Doe": ["+1234567890"], "Jane Smith": ["+1555123456"] } ``` -------------------------------- ### Manage Apple Mail: Read Unread, List Mailboxes Source: https://context7.com/supermemoryai/apple-mcp/llms.txt Retrieve unread emails from a specified account and mailbox, and list available mailboxes for an account. Supports limiting the number of unread emails returned. Requires mail utility. ```typescript // Get unread emails from specific account { "name": "mail", "arguments": { "operation": "unread", "account": "work@company.com", "mailbox": "Inbox", "limit": 5 } } // Get mailboxes for account { "name": "mail", "arguments": { "operation": "mailboxes", "account": "work@company.com" } } ``` ```typescript const unreadEmails = await mail.getUnreadMails(10); // Returns: [{ subject: "...", sender: "...", dateSent: "...", content: "...", isRead: false, mailbox: "Inbox" }] ``` -------------------------------- ### Apple Messages Tool: Send, Read, Schedule, and Unread Messages Source: https://context7.com/supermemoryai/apple-mcp/llms.txt This tool interacts with the Apple Messages application to send, read, schedule messages, and retrieve unread messages. It supports sending messages to specific phone numbers and resolving contact names for unread messages. Dependencies include the 'message' utility module. Operations include 'send', 'read', 'schedule', and 'unread'. ```typescript // MCP Tool Call - Send a message { "name": "messages", "arguments": { "operation": "send", "phoneNumber": "+15551234567", "message": "Meeting at 3pm today" } } // Response: "Message sent to +15551234567" // Read message history { "name": "messages", "arguments": { "operation": "read", "phoneNumber": "+15551234567", "limit": 5 } } // Response: "[2025-01-14 10:30:00] Mom: Don't forget dinner tonight\n[2025-01-14 09:15:00] Me: Will be there!" // Get unread messages with contact name resolution { "name": "messages", "arguments": { "operation": "unread", "limit": 10 } } // Schedule message for later { "name": "messages", "arguments": { "operation": "schedule", "phoneNumber": "+15551234567", "message": "Happy Birthday!", "scheduledTime": "2025-01-15T09:00:00Z" } } // Implementation example import message from './utils/message'; await message.sendMessage("+15551234567", "Hello from MCP!"); const messages = await message.readMessages("+15551234567", 10); // Returns: [{ content: "Hello", date: "2025-01-14T10:00:00Z", sender: "+15551234567", is_from_me: false }] const unread = await message.getUnreadMessages(5); // Returns array with displayName field populated from contacts ``` -------------------------------- ### Manage Apple Calendar: Open Event Source: https://context7.com/supermemoryai/apple-mcp/llms.txt Open a specific calendar event using its unique ID. This allows for viewing or editing the event details. Requires calendar utility. ```typescript // Open specific event { "name": "calendar", "arguments": { "operation": "open", "eventId": "event-id-from-search" } } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.