Herramientas MCP (Protocolo de contexto de modelo) de Apple
Una colección de herramientas que permiten a los asistentes de IA como Claude interactuar con aplicaciones y servicios de Apple a través del Protocolo de Contexto de Modelo (MCP).
Descripción general
Este paquete proporciona herramientas MCP para interactuar con diversas aplicaciones y servicios de Apple, incluidos:
Contactos : busca y recupera contactos desde la aplicación Contactos de Apple
Notas : busque, recupere, cree notas y enumere carpetas en la aplicación Notas de Apple
Mensajes : envía, lee, programa mensajes y revisa mensajes no leídos
Correo : leer correos electrónicos no leídos, buscar correos electrónicos y enviar correos electrónicos
Recordatorios : busca, crea y abre recordatorios en la aplicación Recordatorios de Apple
Calendario : busca, crea y abre eventos de calendario en la aplicación Calendario de Apple
Mapas : busca ubicaciones, administra guías, guarda favoritos y obtén indicaciones
Búsqueda web : busque en la web con DuckDuckGo y recupere contenido de los resultados de búsqueda
Related MCP server: MCP Personal Assistant Agent
Instalación
# Install with npm
npm install @sage/mcp-apple
# Install with yarn
yarn add @sage/mcp-apple
# Install with bun
bun add @sage/mcp-appleRequisitos
sistema operativo macOS
Node.js 18+ o entorno de ejecución de Bun
Permisos adecuados para acceder a las aplicaciones de Apple (Contactos, Notas, Mensajes, Mail, etc.)
Uso
Iniciando el servidor MCP
# Using the CLI
npx apple-mcp
# Using bun
bun run devConectando con Claude
Para usar estas herramientas con Claude, deberá conectar el servidor MCP a Claude. Esto puede hacerse mediante el proxy MCP o directamente a través de la interfaz de Claude, si está disponible.
# Example using mcp-proxy
mcp-proxy --server "bun run /path/to/apple-mcp/index.ts"Ejemplos de herramientas
Contactos
// Search for a contact by name
{
"operation": "contacts",
"name": "John Doe"
}
// List all contacts
{
"operation": "contacts"
}Notas
// Search for notes containing specific text
{
"operation": "notes",
"operation": "search",
"searchText": "meeting notes"
}
// Create a new note
{
"operation": "notes",
"operation": "create",
"title": "Shopping List",
"body": "- Milk\n- Eggs\n- Bread",
"folderName": "Personal"
}
// List all notes in a folder
{
"operation": "notes",
"operation": "list",
"folderName": "Work"
}
// List all folders
{
"operation": "notes",
"operation": "listFolders"
}
// Create a new folder
{
"operation": "notes",
"operation": "createFolder",
"folderName": "Projects"
}Mensajes
// Send a message
{
"operation": "messages",
"operation": "send",
"phoneNumber": "+1234567890",
"message": "Hello, how are you?"
}
// Read messages from a contact
{
"operation": "messages",
"operation": "read",
"phoneNumber": "+1234567890",
"limit": 5
}
// Schedule a message
{
"operation": "messages",
"operation": "schedule",
"phoneNumber": "+1234567890",
"message": "Don't forget our meeting tomorrow!",
"scheduledTime": "2023-12-01T09:00:00Z"
}
// Check unread messages
{
"operation": "messages",
"operation": "unread"
}Correo
// Check unread emails
{
"operation": "mail",
"operation": "unread",
"limit": 10
}
// Search emails
{
"operation": "mail",
"operation": "search",
"searchTerm": "invoice",
"limit": 5
}
// Send an email
{
"operation": "mail",
"operation": "send",
"to": "recipient@example.com",
"subject": "Meeting Agenda",
"body": "Here's the agenda for our meeting tomorrow...",
"cc": "colleague@example.com"
}
// List mailboxes
{
"operation": "mail",
"operation": "mailboxes"
}
// List accounts
{
"operation": "mail",
"operation": "accounts"
}Recordatorios
// List all reminders
{
"operation": "reminders",
"operation": "list"
}
// Search for reminders
{
"operation": "reminders",
"operation": "search",
"searchText": "groceries"
}
// Create a reminder
{
"operation": "reminders",
"operation": "create",
"name": "Buy milk",
"listName": "Shopping",
"notes": "Get organic milk",
"dueDate": "2023-12-01T18:00:00Z"
}
// Open a reminder
{
"operation": "reminders",
"operation": "open",
"searchText": "Buy milk"
}
// List reminders by list ID
{
"operation": "reminders",
"operation": "listById",
"listId": "x-apple-reminder://list/123456"
}Calendario
// Search for events
{
"operation": "calendar",
"operation": "search",
"searchText": "meeting",
"fromDate": "2023-12-01T00:00:00Z",
"toDate": "2023-12-31T23:59:59Z"
}
// List upcoming events
{
"operation": "calendar",
"operation": "list",
"limit": 5
}
// Create an event
{
"operation": "calendar",
"operation": "create",
"title": "Team Meeting",
"startDate": "2023-12-05T14:00:00Z",
"endDate": "2023-12-05T15:00:00Z",
"location": "Conference Room A",
"notes": "Quarterly review meeting",
"isAllDay": false,
"calendarName": "Work"
}
// Open an event
{
"operation": "calendar",
"operation": "open",
"eventId": "x-apple-calendar://event/123456"
}Mapas
// Search for locations
{
"operation": "maps",
"operation": "search",
"query": "coffee shops near me",
"limit": 5
}
// Save a location
{
"operation": "maps",
"operation": "save",
"name": "Favorite Coffee Shop",
"address": "123 Main St, Anytown, USA"
}
// Get directions
{
"operation": "maps",
"operation": "directions",
"fromAddress": "123 Main St, Anytown, USA",
"toAddress": "456 Oak Ave, Anytown, USA",
"transportType": "driving"
}
// Drop a pin
{
"operation": "maps",
"operation": "pin",
"name": "Meeting Point",
"address": "Central Park, New York, NY"
}
// List guides
{
"operation": "maps",
"operation": "listGuides"
}
// Create a guide
{
"operation": "maps",
"operation": "createGuide",
"guideName": "Favorite Restaurants"
}
// Add to guide
{
"operation": "maps",
"operation": "addToGuide",
"guideName": "Favorite Restaurants",
"address": "789 Pine St, Anytown, USA"
}
// Get map center coordinates
{
"operation": "maps",
"operation": "getCenter"
}
// Set map center coordinates
{
"operation": "maps",
"operation": "setCenter",
"latitude": 37.7749,
"longitude": -122.4194
}Búsqueda web
// Search the web
{
"operation": "webSearch",
"query": "how to make chocolate chip cookies"
}Arquitectura
La herramienta Apple MCP está construida con una arquitectura modular:
index.ts : Punto de entrada principal que configura el servidor MCP y registra herramientas
tools.ts : define los esquemas y descripciones de las herramientas
src/handlers/ : Contiene funciones de controlador para cada herramienta
src/scripts/ : Contiene scripts de AppleScript para interactuar con aplicaciones de Apple
utils/ : Contiene módulos de utilidad para cada servicio de Apple
La herramienta utiliza carga diferida para mejorar el rendimiento y solo carga los módulos cuando son necesarios.
Seguridad y permisos
Esta herramienta requiere acceso a varias aplicaciones y servicios de Apple. Deberá conceder permisos cuando macOS lo solicite. Estos permisos se pueden gestionar en Preferencias del Sistema > Seguridad y Privacidad > Privacidad.
Desarrollo
Configuración
# Clone the repository
git clone https://github.com/yourusername/apple-mcp.git
cd apple-mcp
# Install dependencies
bun installEjecutando en modo de desarrollo
bun run devEstilo de código
Utilice sangría de 2 espacios
Mantenga las líneas por debajo de los 100 caracteres
Utilice anotaciones de tipo explícitas para los parámetros y retornos de funciones
Siga PascalCase para tipos, interfaces y constantes de herramientas
Utilice camelCase para variables y funciones
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
Bifurcar el repositorio
Crea tu rama de funciones (
git checkout -b feature/amazing-feature)Confirme sus cambios (
git commit -m 'Add some amazing feature')Empujar a la rama (
git push origin feature/amazing-feature)Abrir una solicitud de extracción