Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Icloud MCP

de eodozzyversión 0.1.1i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.eodozzy/icloud-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

Read-only-by-default MCP server for iCloud mail, calendar, and contacts (IMAP/CalDAV/CardDAV).

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Documentos, hojas de cálculo y oficina
  • Debes completar: ICLOUD_USERNAME, ICLOUD_APP_PASSWORD

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: ICLOUD_USERNAME, ICLOUD_KEYRING_SERVICE, ICLOUD_APP_PASSWORD, ICLOUD_ENABLE_WRITES, ICLOUD_IMAP_HOST, ICLOUD_IMAP_PORT, ICLOUD_SMTP_HOST, ICLOUD_SMTP_PORT, ICLOUD_CALDAV_URL, ICLOUD_CARDDAV_URL, ICLOUD_TZ

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • PyPIuv de Python instalado (para el comando uvx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "icloud": {
      "command": "uvx",
      "args": [
        "icloud-mcp"
      ],
      "env": {
        "ICLOUD_USERNAME": "your-value",
        "ICLOUD_KEYRING_SERVICE": "your-value",
        "ICLOUD_APP_PASSWORD": "your-value",
        "ICLOUD_ENABLE_WRITES": "your-value",
        "ICLOUD_IMAP_HOST": "your-value",
        "ICLOUD_IMAP_PORT": "your-value",
        "ICLOUD_SMTP_HOST": "your-value",
        "ICLOUD_SMTP_PORT": "your-value",
        "ICLOUD_CALDAV_URL": "your-value",
        "ICLOUD_CARDDAV_URL": "your-value",
        "ICLOUD_TZ": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add icloud --env ICLOUD_USERNAME=your-value --env ICLOUD_KEYRING_SERVICE=your-value --env ICLOUD_APP_PASSWORD=your-value --env ICLOUD_ENABLE_WRITES=your-value --env ICLOUD_IMAP_HOST=your-value --env ICLOUD_IMAP_PORT=your-value --env ICLOUD_SMTP_HOST=your-value --env ICLOUD_SMTP_PORT=your-value --env ICLOUD_CALDAV_URL=your-value --env ICLOUD_CARDDAV_URL=your-value --env ICLOUD_TZ=your-value -- uvx icloud-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "icloud": {
      "command": "uvx",
      "args": [
        "icloud-mcp"
      ],
      "env": {
        "ICLOUD_USERNAME": "your-value",
        "ICLOUD_KEYRING_SERVICE": "your-value",
        "ICLOUD_APP_PASSWORD": "your-value",
        "ICLOUD_ENABLE_WRITES": "your-value",
        "ICLOUD_IMAP_HOST": "your-value",
        "ICLOUD_IMAP_PORT": "your-value",
        "ICLOUD_SMTP_HOST": "your-value",
        "ICLOUD_SMTP_PORT": "your-value",
        "ICLOUD_CALDAV_URL": "your-value",
        "ICLOUD_CARDDAV_URL": "your-value",
        "ICLOUD_TZ": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "icloud": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "icloud-mcp"
      ],
      "env": {
        "ICLOUD_USERNAME": "your-value",
        "ICLOUD_KEYRING_SERVICE": "your-value",
        "ICLOUD_APP_PASSWORD": "your-value",
        "ICLOUD_ENABLE_WRITES": "your-value",
        "ICLOUD_IMAP_HOST": "your-value",
        "ICLOUD_IMAP_PORT": "your-value",
        "ICLOUD_SMTP_HOST": "your-value",
        "ICLOUD_SMTP_PORT": "your-value",
        "ICLOUD_CALDAV_URL": "your-value",
        "ICLOUD_CARDDAV_URL": "your-value",
        "ICLOUD_TZ": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • ICLOUD_USERNAME obligatorio env
    Your Apple ID email (the IMAP/CalDAV username).
  • ICLOUD_KEYRING_SERVICE env
    OS-keyring service name to read the app-specific password from. Default: icloud-mcp. Set to reuse an existing entry.
  • ICLOUD_APP_PASSWORD secreto env
    App-specific password. Fallback only; preferred storage is the OS keyring. Used only when no keyring entry is found.
  • ICLOUD_ENABLE_WRITES env
    Enable mutating tools (send/reply/forward mail, create/update/delete event & contact). Off by default; each write still requires interactive confirmation. Accepts 1/true/yes/on.
  • ICLOUD_IMAP_HOST env
    IMAP host override. Default: imap.mail.me.com
  • ICLOUD_IMAP_PORT env
    IMAP port override. Default: 993
  • ICLOUD_SMTP_HOST env
    SMTP host override (used only by write/send tools). Default: smtp.mail.me.com
  • ICLOUD_SMTP_PORT env
    SMTP port override. Default: 587
  • ICLOUD_CALDAV_URL env
    CalDAV base URL override. Default: https://caldav.icloud.com/
  • ICLOUD_CARDDAV_URL env
    CardDAV base URL override. Default: https://contacts.icloud.com/
  • ICLOUD_TZ env
    IANA timezone for rendering/scoping events. Default: system local time.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub eodozzy, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Documentos, hojas de cálculo y oficinai

  • Más estrellas que el 0% de los otros 2197 servidores de esta categoría
  • Publicado en el registro más recientemente que el 16% de los otros 2197 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 2197 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Icloud MCP?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: ICLOUD_USERNAME, ICLOUD_APP_PASSWORD

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.1.1) llegó al registro hace 4 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Agent-Native Google Calendar - manage events, sync, and public booking

Se ejecuta en la nube★ 7620MITActualizado hace 2 meses
Instalar

Excel MCP Server

de haris-musa

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

Se ejecuta en tu computadora★ 4276MITActualizado hace 6 días
Instalar

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

Se ejecuta en tu computadora★ 847MITActualizado hace 4 días
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

icloud-mcp

A Model Context Protocol server that gives AI assistants read-only access to your iCloud mail and calendar over IMAP and CalDAV. Credentials live in your OS keyring (macOS Keychain by default) — never in a config file or the repo.

Defaults target iCloud, but every endpoint is overridable, so it works against any standard IMAP/CalDAV provider.

Status

Read-only by default; writes are strictly opt-in. Mail, calendar, and contacts can be listed, searched, and read with no ability to change anything: the IMAP connection is opened read-only and bodies are fetched with BODY.PEEK[], so messages are never even marked as read.

Mutating tools span mail (send_mail, reply_mail, forward_mail), calendar (create_event, update_event, delete_event), and contacts (create_contact, update_contact, delete_contact) — but all are disabled unless you set `ICLOUD_ENABLE_WRITES=1`, and even then every write requires an interactive confirmation (MCP elicitation) before it runs. See Writes (opt-in).

Writes (opt-in)

Mutations are gated two ways:

  1. Operator switch — write tools refuse with an explanatory error unless ICLOUD_ENABLE_WRITES=1 is set in the server's environment.
  2. Per-action confirmation — when enabled, each write tool calls back to the client to confirm the exact action before executing. Destructive operations (delete event / contact) are gated identically — no extra force flag, just the same confirmation.

iCloud issues a single app-specific password covering IMAP, SMTP, CalDAV, and CardDAV — there is no scoped "write-only" credential — so write-safety is *structural*: mail is sent over a separate, fresh SMTP connection (the read path's IMAP client has no send capability), and the opt-in flag + confirmation guard every mutation.

Install

pip install icloud-mcp

Or run it without installing — handy for MCP clients that launch the server on demand:

uvx icloud-mcp

To install the latest unreleased code straight from GitHub:

pip install git+https://github.com/eodozzy/icloud-mcp

Or for local development:

git clone git@github.com:eodozzy/icloud-mcp

cd icloud-mcp python3 -m venv .venv && .venv/bin/pip install -e ".[test]"

Requires Python 3.11+.

Credentials

Generate an app-specific password for your Apple ID (never use your main password), then store it in your keyring:

# macOS

security add-generic-password -a "you@icloud.com" -s "icloud-mcp" -w "xxxx-xxxx-xxxx-xxxx"

On other platforms, the cross-platform keyring library is used — keyring set icloud-mcp you@icloud.com also works anywhere.

The username comes from the ICLOUD_USERNAME environment variable. Resolution order for the password:

  1. OS keyring (ICLOUD_KEYRING_SERVICE, default icloud-mcp, + username)
  2. ICLOUD_APP_PASSWORD environment variable (fallback)

To reuse an existing keyring entry (e.g. one named my-icloud), set ICLOUD_KEYRING_SERVICE=my-icloud.

Configuration

Set ICLOUD_USERNAME (required). All else is optional — see .env.example for the full list of endpoint/timezone overrides.

Register with an MCP client

The server speaks MCP over stdio: a client launches the icloud-mcp command as a subprocess and talks to it over stdin/stdout. "Installing" it into a client just means telling that client which command to run and which env vars to pass — the password itself stays in the keyring, never in the client config.

If icloud-mcp isn't on your PATH (e.g. you installed into a virtualenv), use the absolute path to the launcher, e.g. /path/to/repo/.venv/bin/icloud-mcp.

Claude Code
claude mcp add icloud \

--env ICLOUD_USERNAME=you@icloud.com \ --env ICLOUD_KEYRING_SERVICE=icloud-mcp \ -- icloud-mcp

Then claude mcp list to confirm. Add -s user to make it available across all projects rather than just the current one.

Claude Desktop

Add the server to Claude Desktop's config file. On macOS this is:

~/Library/Application Support/Claude/claude_desktop_config.json

(On Windows: %APPDATA%\Claude\claude_desktop_config.json.)

The easiest way to open it is Settings → Developer → Edit Config. Add an mcpServers key alongside whatever is already in the file — do not paste a second top-level { ... } object, or the file becomes invalid JSON:

{

"mcpServers": { "icloud": { "command": "icloud-mcp", "env": { "ICLOUD_USERNAME": "you@icloud.com", "ICLOUD_KEYRING_SERVICE": "icloud-mcp" } } } }

If the file already contains other keys, merge mcpServers in as a sibling (remember the comma between keys):

{

"someExistingSetting": "...", "mcpServers": { "icloud": { "...": "..." } } }

Then fully quit Claude Desktop (⌘Q, not just closing the window) and reopen it. The server shows up as a *Local MCP server* and its tools become available.

Notes:

  • First call prompts for Keychain access. macOS asks whether icloud-mcp may read the keyring item; click Always Allow to avoid repeat prompts.
  • Claude Desktop may rewrite this file when it saves its own preferences, dropping hand-added keys it doesn't recognize. If the server disappears after you change other settings, just re-add the mcpServers block.

Tools & resources

Tools (model-invoked):

ToolDescription
list_mailList a folder (default INBOX), newest first, with optional since_date
search_mailFull-text search the inbox (or a named folder)
list_foldersList the available IMAP mailbox folder names
get_messageFetch one message by UID, with full body
list_eventsCalendar events in a date window
search_eventsEvents whose title matches text, in a window
list_calendarsNames of all calendars
list_contactsList address-book contacts (name, emails, phones, org)
search_contactsFind contacts matching text across name, org, and emails
send_mail ⚠️Send a plain-text email
reply_mail ⚠️Reply to a message by UID (quotes original; reply_all optional)
forward_mail ⚠️Forward a message by UID to a new recipient
create_event ⚠️Create a calendar event
update_event ⚠️Edit an event by UID (only the fields you pass)
delete_event ⚠️Delete an event by UID
create_contact ⚠️Create a new contact
update_contact ⚠️Edit a contact by UID (merges into the existing vCard)
delete_contact ⚠️Delete a contact by UID

⚠️ Write tools require ICLOUD_ENABLE_WRITES=1 and confirm each action — see Writes (opt-in).

Resources (passive context):

URIDescription
icloud://mail/inbox/recentMost recent inbox messages
icloud://calendar/todayToday + tomorrow's events

Behavior notes

  • Empty/missing headers: messages whose Subject header is absent *or* present-but-blank render as (no subject); a blank/absent From renders as (unknown). (Some mail has an empty subject line rather than no subject line at all — both are normalized.)
  • Snippets prefer the text/plain part; for HTML-only mail, tags are stripped ( / / content discarded) so you still get a readable preview.
  • Double-wrapped bodies: some senders (e.g. USPS Informed Delivery) embed a redundant MIME header block at the top of the decoded body. A leading Content-*/MIME-Version header block is stripped so those headers don't leak into the snippet or body.
  • `since_date` is date-granular and evaluated in the IMAP server's timezone (UTC for iCloud), so a since_date of today can include late-yesterday messages in your local time.

Development

.venv/bin/pytest            # run the fixture-based test suite (no live account)

.venv/bin/mcp dev -m icloud_mcp.server # interactive MCP Inspector

Security notes

  • The app-specific password lives in the OS keyring only — never in .env, never committed.
  • Read access (mail, calendar, contacts) cannot mutate anything; the IMAP session is opened read-only.
  • Writes are off by default. They require ICLOUD_ENABLE_WRITES=1 *and* an interactive confirmation per action, and mail is sent over a separate SMTP connection isolated from the read path.
  • An app-specific password can be revoked at any time from appleid.apple.com without affecting your Apple ID.

License

MIT — see LICENSE.


Not affiliated with, endorsed by, or sponsored by Apple Inc. iCloud is a trademark of Apple Inc.

Pregunta a PopNx