Skip to main content
Glama

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-apple

Requisitos

  • 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 dev

Conectando 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 install

Ejecutando en modo de desarrollo

bun run dev

Estilo 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.

  1. Bifurcar el repositorio

  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )

  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )

  4. Empujar a la rama ( git push origin feature/amazing-feature )

  5. Abrir una solicitud de extracción

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wearesage/mcp-apple'

If you have feedback or need assistance with the MCP directory API, please join our Discord server