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

Servidores MCP que permiten que un cliente de IA use aplicaciones de Apple y herramientas de macOS. Crea recordatorios, envía mensajes, consulta calendarios, busca correos, gestiona archivos y obtén indicaciones.

Los servidores se ejecutan en tu Mac. Tu cliente MCP puede enviar los datos devueltos a su proveedor de modelos, y las aplicaciones de Apple pueden sincronizarse a través de iCloud u otra cuenta. La ejecución local no significa que los datos permanezcan locales.

Requiere Python 3.11+ y macOS. Usa la especificación MCP 2026-07-28 y el SDK de Python 2.x, con soporte para revisiones de protocolo de cliente más antiguas. Licencia MIT.

Instalación

Instala uv y luego registra el servidor unificado con tu cliente.

Claude Code:

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

Codex:

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

Otros clientes stdio:

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

Ejecuta uvx apple-tools-mcp para iniciar el servidor directamente. Los servidores independientes usan el mismo enfoque, como uvx apple-mcp-mail o uvx apple-calendar-mcp.

Reinicia tu cliente después de instalar o actualizar. Llama a search_tools con calendar health para verificar el descubrimiento sin leer datos de la aplicación.

Para Claude Desktop, descarga el paquete .mcpb de un servidor desde Releases y haz doble clic en él.

Configura los modos de seguridad y directorios específicos de cada aplicación en la configuración de env de tu cliente. Una configuración de seguridad explícitamente inválida o en blanco selecciona safe_readonly; las configuraciones no establecidas conservan el valor predeterminado documentado de cada dominio. La guía de configuración enumera los valores predeterminados y las opciones. Los adjuntos de Mail están deshabilitados hasta que establezcas APPLE_MAIL_MCP_ALLOWED_ATTACHMENT_ROOT en un directorio dedicado. Las herramientas de archivos solo acceden a APPLE_FILES_MCP_ALLOWED_ROOTS; macOS puede imponer restricciones adicionales.

Elige un servidor

Comienza con Apple-Tools-MCP. Combina las diez aplicaciones y herramientas siguientes, además de valores predeterminados guardados, enrutamiento de contactos, ayudas de hilos de Mail, deshacer, resúmenes y flujos de trabajo entre aplicaciones.

Elige un servidor independiente para exponer menos aplicaciones a tu cliente:

ServidorAcceso a macOSHerramienta de saludAyuda de permisos
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
MessagesAutomatización; Acceso a disco completo 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 adicionalshortcuts_healthshortcuts_permission_guide, shortcuts_refresh_state
FilesRaíces permitidas y acceso a carpetas protegidasfiles_healthfiles_permission_guide
SystemAlgunas acciones necesitan System Events, Accessibility o Automationsystem_healthsystem_permission_guide
MapsSin aviso de privacidad; el asistente Swift necesita las herramientas de línea de comandos de Xcodemaps_healthmaps_permission_guide

El servidor unificado usa apple_health, apple_permission_guide y apple_recheck_permissions. Debes aprobar los permisos tú mismo en el aviso de macOS o en Configuración del sistema.

Encuentra y usa herramientas

MCP tools/list devuelve los esquemas de cada herramienta y sus anotaciones de lectura o escritura. Usa search_tools para buscar nombres, descripciones y alias; usa get_tool_info para el esquema y ejemplos de una sola herramienta.

Resuelve los destinatarios a través de Contacts antes de enviar, a menos que tengas la dirección exacta. Para conversaciones de Mail, usa mail_get_thread, mail_reply_latest_in_thread o mail_archive_thread. Pasa un correo de remitente exacto en from_account cuando la identidad del remitente sea importante.

La búsqueda de Mail requiere una consulta: un remitente, un fragmento de asunto o *. Reminders due_date requiere un desplazamiento de zona horaria, como yyyy-MM-ddTHH:mm:ss-08:00. Omite service_name al enviar iMessages.

El servidor unificado también proporciona apple_generate_daily_briefing, apple_generate_weekly_briefing y apple_triage_communications_task. Los clientes sin soporte de avisos pueden usar apple_list_prompts, apple_get_prompt y sus equivalentes por servidor.

Para llamadas desde Python, usa los metadatos en generated/tool_catalogs/ y los envoltorios en generated/tool_wrappers/python/. Consulta code-mode.md.

Transporte y estado almacenado

stdio es el valor predeterminado. Para usar Streamable HTTP, establece APPLE_<DOMAIN>_MCP_TRANSPORT=streamable-http y las variables _HOST y _PORT correspondientes.

HTTP debe vincularse a 127.0.0.1, ::1 o localhost. Los servidores no tienen autenticación remota y rechazan enlaces de red y comodín. No los expongas a través de un túnel o proxy público.

Apple-Tools-MCP almacena valores predeterminados en ~/.apple-tools-mcp/preferences.json, configurables mediante APPLE_AGENT_MCP_STATE_FILE. Almacena acciones recientes en ~/.apple-tools-mcp/actions.json para auditoría y deshacer.

Desarrollo

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

El espacio de trabajo de uv instala cada servidor en .venv/bin. Cada carpeta de servidor también tiene un start.sh para clientes; usa uv cuando esté disponible y, de lo contrario, crea un entorno virtual. El pyproject.toml raíz define los miembros del espacio de trabajo, y uv.lock fija las dependencias.

RutaContenido
Apple-Tools-MCP/Servidor unificado; módulo apple_agent_mcp, prefijo de entorno APPLE_AGENT_MCP_*
Apple<Domain>-MCP/Servidores independientes; Calendar usa Apple-Calendar-MCP
AppleMCPCommon/Descubrimiento y búsqueda compartidos, publicado como apple-mcp-common
generated/Catálogos de herramientas y envoltorios de Python
scripts/Instalación, comprobaciones, generación y compilaciones de paquetes
docs/Documentación del proyecto y de lanzamiento

Ejecuta comprobaciones rápidas:

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

Para la suite de conformidad oficial, inicia el servidor en una terminal separada:

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

El modo de conformidad registra accesorios de prueba. Úsalo solo para validación de protocolo. CI ejecuta lint, pruebas de macOS y Linux, comprobaciones de archivos generados, comprobaciones rápidas de Inspector y pruebas de conformidad.

Documentación

Contributing · Security · Troubleshooting · MCP compatibility · Publishing · Changelog · Trademark notice · Launch docs