Apple-MCPs

Servidores MCP locales para macOS de Mail, Calendario, Recordatorios, Notas, Contactos, Mensajes, Atajos, Archivos, Mapas y herramientas del sistema.

Documentación

Apple-MCPs

CI Python 3.11+ macOS License MIT MCP spec 2026-07-28

Servidores MCP para usar aplicaciones de Apple y herramientas de macOS desde un cliente de IA.

Los servidores pueden crear recordatorios, enviar mensajes, consultar calendarios, buscar correos, gestionar archivos y obtener indicaciones a través del Model Context Protocol (MCP). Las integraciones se ejecutan en tu Mac y funcionan con las aplicaciones de Apple que ya usas. Los datos devueltos a un cliente MCP pueden enviarse al proveedor de modelos de ese cliente, y las aplicaciones de Apple pueden sincronizar sus datos a través de iCloud u otra cuenta configurada.

Apple-MCPs es gratuito y de código abierto bajo la Licencia MIT.

Construido sobre la especificación MCP 2026-07-28 (Python SDK 2.x) con compatibilidad retroactiva para clientes que hablan revisiones de protocolo más antiguas.

Instalación

Ejecutar desde PyPI (uvx)

Instala uv y luego ejecuta el servidor unificado:

uvx apple-tools-mcp

Los servidores independientes funcionan de la misma manera. Por ejemplo, usa uvx apple-mcp-mail o uvx apple-calendar-mcp.

Claude Code

claude mcp add --transport stdio --scope project apple-tools -- uvx apple-tools-mcp

Codex

Registra el servidor unificado con el CLI de Codex:

codex mcp add apple-tools -- uvx apple-tools-mcp

Reinicia el cliente después de la instalación o las actualizaciones, luego llama a search_tools con una consulta como calendar health para verificar el descubrimiento sin leer datos de aplicaciones.

Cliente MCP genérico (config JSON stdio)

{
  "mcpServers": {
    "apple-tools": {
      "command": "uvx",
      "args": ["apple-tools-mcp"]
    }
  }
}

Configura los modos de seguridad y directorios específicos de la aplicación en la configuración de env de tu cliente. Consulta la guía de configuración de Apple Tools para conocer las configuraciones disponibles y los valores predeterminados.

Los archivos adjuntos de Mail están deshabilitados a menos que APPLE_MAIL_MCP_ALLOWED_ATTACHMENT_ROOT apunte a un directorio dedicado. Las herramientas de archivos permanecen limitadas a APPLE_FILES_MCP_ALLOWED_ROOTS, y los controles de privacidad de macOS pueden limitar aún más el acceso a carpetas como Escritorio, Documentos, Descargas o iCloud Drive.

Claude Desktop

Descarga el paquete .mcpb para un servidor desde Releases y haz doble clic en él. Claude Desktop instala el paquete y gestiona su configuración.

Desde un clon

git clone https://github.com/JonathanRReed/Apple-MCPs.git
cd Apple-MCPs
uv sync --all-packages

Esto crea un entorno de workspace con cada punto de entrada del servidor en .venv/bin, incluido .venv/bin/apple-tools-mcp. Cada carpeta de servidor también tiene un start.sh que los clientes MCP pueden llamar directamente. El script usa uv cuando está disponible y, de lo contrario, crea un entorno virtual simple.

Servidores

Apple-Tools-MCP es el punto de partida recomendado. Combina Mail, Calendar, Reminders, Messages, Contacts, Notes, Shortcuts, Files, System y Maps en un solo servidor. También tiene valores predeterminados guardados, preferencias de enrutamiento por contacto, ayudas para hilos de Mail, soporte de deshacer, herramientas de resumen y flujos de trabajo entre aplicaciones.

Usa un servidor independiente cuando quieras exponer menos aplicaciones de Apple al cliente:

Permisos de macOS

macOS controla el acceso a las aplicaciones de Apple y a los datos protegidos. Cada servidor tiene herramientas para informar su acceso actual, explicar el permiso requerido y volver a verificar después de un cambio. Debes aprobar o cambiar los permisos de macOS tú mismo en el aviso del sistema o en Configuración del Sistema.

ServidorQué puede solicitar macOSHerramienta de saludHerramientas de recuperación
Apple-Tools-MCPTodo lo siguiente, según se useapple_healthapple_permission_guide, apple_recheck_permissions
MailAcceso de automatización a Mailmail_healthmail_permission_guide, mail_recheck_permissions
CalendarAcceso a Calendarcalendar_healthcalendar_permission_guide, calendar_recheck_permissions
RemindersAcceso a Remindersreminders_healthreminders_permission_guide, reminders_recheck_permissions
MessagesAcceso de automatización a Messages, más Acceso Total al Disco para el historialmessages_healthmessages_permission_guide, messages_recheck_permissions
ContactsAcceso a Contactscontacts_healthcontacts_permission_guide, contacts_recheck_permissions
NotesAcceso de automatización a Notesnotes_healthnotes_permission_guide, notes_recheck_permissions
ShortcutsGeneralmente sin aviso de privacidad separadoshortcuts_healthshortcuts_permission_guide, shortcuts_refresh_state
FilesEl acceso se limita a las raíces permitidas configuradas; macOS también puede requerir acceso a carpetas protegidasfiles_healthfiles_permission_guide
SystemSystem Events, Accessibility o avisos de automatización para algunas accionessystem_healthsystem_permission_guide
MapsSin aviso de privacidad; el asistente local de Swift necesita las herramientas de línea de comandos de Xcodemaps_healthmaps_permission_guide

Encontrar y usar herramientas

Cada servidor lista sus herramientas disponibles a través de MCP tools/list, incluidos los esquemas de entrada y salida y las anotaciones de lectura o escritura. Dos herramientas auxiliares facilitan la búsqueda en un catálogo grande:

  • search_tools: busca nombres de herramientas, descripciones y alias
  • get_tool_info: lee el esquema, los metadatos y los ejemplos de una herramienta

Notas de uso

  • Resuelve una persona a través de Contacts antes de enviar un mensaje, a menos que ya tengas su dirección de destinatario exacta.
  • Usa los ayudantes de hilos de Mail (mail_get_thread, mail_reply_latest_in_thread, mail_archive_thread) cuando el usuario mencione una conversación.
  • Reminders es para elementos con fecha de vencimiento, Notes para material de referencia, Calendar para tiempo programado.
  • Cuando Mail deba enviar desde una identidad específica, pasa el correo exacto del remitente en from_account.
  • La búsqueda de Mail requiere una cadena de consulta: un remitente, un fragmento de asunto o * como comodín.
  • Reminders due_date requiere un desplazamiento de zona horaria como yyyy-MM-ddTHH:mm:ss-08:00.
  • Omite service_name en los envíos de iMessage.
  • Apple-Tools-MCP incluye herramientas de resumen: apple_generate_daily_briefing, apple_generate_weekly_briefing y apple_triage_communications_task.
  • Las herramientas de respaldo por aviso (apple_list_prompts, apple_get_prompt y equivalentes por servidor) cubren clientes que solo admiten herramientas.

Envoltorios de Python

El repositorio incluye envoltorios de Python generados para clientes que llaman a herramientas MCP desde código:

  • generated/tool_catalogs/: metadatos de herramientas buscables para cada servidor
  • generated/tool_wrappers/python/: envoltorios de Python para cada herramienta

Consulta docs/code-mode.md para conocer la disposición de los envoltorios, la interfaz del cliente y el flujo de trabajo recomendado.

Transportes y verificaciones de protocolo

stdio es el transporte predeterminado para uso local. Cada servidor también admite streamable-http a través de variables de entorno. Configura APPLE_<DOMAIN>_MCP_TRANSPORT=streamable-http y las variables _HOST y _PORT correspondientes. Los enlaces HTTP deben usar una dirección de bucle local como 127.0.0.1, ::1 o localhost. Los servidores no tienen autenticación remota. Rechazan enlaces de red y comodín, y no deben exponerse a través de un túnel o proxy público.

Ejecuta la suite oficial de conformidad MCP contra Apple-Tools-MCP:

APPLE_AGENT_MCP_TRANSPORT=streamable-http \
APPLE_AGENT_MCP_PORT=8765 \
APPLE_AGENT_MCP_CONFORMANCE_MODE=1 \
./Apple-Tools-MCP/start.sh
npx -y @modelcontextprotocol/conformance@0.2.0-alpha.11 server --url http://127.0.0.1:8765/mcp --requirements 2026-07-28

Verificaciones rápidas de humo de Inspector en todos los servidores:

bash scripts/inspector_smoke.sh
uv run python scripts/protocol_smoke.py

CI ejecuta lint, la suite completa de pruebas en macOS y Linux, verificaciones de desviación de artefactos generados, verificaciones de humo de Inspector y la suite de conformidad. Consulta .github/workflows.

Disposición del repositorio

  • Apple-Tools-MCP/: servidor unificado, módulo apple_agent_mcp, prefijo de entorno APPLE_AGENT_MCP_*
  • Apple<Domain>-MCP/: servidores independientes. La carpeta de calendar es Apple-Calendar-MCP.
  • AppleMCPCommon/: ayudantes compartidos de descubrimiento y búsqueda, publicados como apple-mcp-common
  • generated/: catálogos de herramientas generados y envoltorios de Python
  • scripts/: scripts de instalación, verificación de protocolo, generación de artefactos y compilación de paquetes
  • docs/: documentación del proyecto y de lanzamiento

El repositorio es un workspace de uv: pyproject.toml en la raíz define los miembros, y uv.lock fija todo el grafo de dependencias.

Documentación del proyecto

Notas

  • Apple-Tools-MCP persiste los valores predeterminados del asistente en ~/.apple-tools-mcp/preferences.json (o APPLE_AGENT_MCP_STATE_FILE) y las acciones recientes del asistente en ~/.apple-tools-mcp/actions.json para flujos de trabajo de auditoría y deshacer.
  • APPLE_AGENT_MCP_CONFORMANCE_MODE=1 es solo para validación de protocolo; registra los fixtures oficiales de conformidad.