Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Inicia sesión con Google para escribir reseñas.Prototipo · se actualiza cada 30 min
PopNx MCPServidores MCP para quienes usan IA · en palabras sencillas

Apple Calendar

de mgcreaversión 1.39.0i★ 6 (Estrellas de todo el repositorio)iSe ejecuta en tu computadora
Nombre en el registroio.github.mgcrea/mcp-apple-calendar

Cómo instalar

What it does

Search, read and act on Apple Calendar — ranges, free-time lookup, writes off by default

  • Connects Se ejecuta en tu computadora
  • Account or key No key needed
  • Category Documentos, hojas de cálculo y oficina

Instalación

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

Pasó 3/3 revisiones · Funciona en tu computadora · ✓ Comandos revisados el 14 nov 2026

Primero: ¿qué IA usas?

Elige tu app y los pasos aparecen abajo.

Funciona con Claude, pero hay que preparar algo antes

Instala Node.js en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil

Que la IA lo instale

Copia este mensaje en un chat de Claude. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server Apple Calendar para Claude en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "apple-calendar": { "command": "npx", "args": [ "-y", "@mgcrea/mcp-apple-calendar" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Apple Calendar aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala Node.js (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    node -v
    • Aparece un número de versión, p. ej. v26.13.1 = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl

    Abrir la página de descarga de Node.js ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v

    Se instala una vez y sirve para todo lo que usa Node.js

  2. Abre el archivo de configuración de la app de Claude de escritorio

    SettingsDeveloperEdit Config

  3. Pega esta configuración y guarda el archivo

    {
      "mcpServers": {
        "apple-calendar": {
          "command": "npx",
          "args": [
            "-y",
            "@mgcrea/mcp-apple-calendar"
          ]
        }
      }
    }
  4. Cierra Claude y vuelve a abrirlo

  5. Pruébalo

    Usa Apple Calendar y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Claude dice que está usando Apple Calendar o muestra una herramienta de Apple Calendar en la respuesta, ya está conectado

3 ajuste(s) opcional(es) (funciona sin ellos)

El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.

  • APPLE_CALENDAR_ALLOW_WRITES Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.
  • APPLE_CALENDAR_CALENDARS Restrict every read and write to these calendars, by name.
  • APPLE_CALENDAR_ACCOUNTS Restrict every read and write to these Calendar accounts, by name or id. Bounds reading, not just writing.

Las descripciones siguen en el inglés original.

Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión

ChatGPT todavía no puede conectar Apple Calendar

Apple Calendar se instala en tu computadora, pero ChatGPT solo conecta servidores que funcionan en la web

Lo que puedes hacer en su lugar

A · Usa una app que pueda conectar Apple Calendar

  • Instala Node.js en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
  • Instala Node.js en tu computadora primero (una sola vez)
  • Instala Node.js en tu computadora primero (una sola vez)
  • Instala Node.js en tu computadora primero (una sola vez)

B · Otros en Documentos, hojas de cálculo y oficina que funcionan con ChatGPT

Elegidos entre los más usados de la misma categoría, solo los que se conectan con una dirección y sin clave

Funciona con Claude Code, pero hay que preparar algo antes

Instala Node.js en tu computadora primero (una sola vez)

Que la IA lo instale

Copia este mensaje en un chat de Claude Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server Apple Calendar para Claude Code en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): claude mcp add --scope user apple-calendar -- npx -y @mgcrea/mcp-apple-calendar 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Apple Calendar aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala Node.js (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    node -v
    • Aparece un número de versión, p. ej. v26.13.1 = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl

    Abrir la página de descarga de Node.js ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v

    Se instala una vez y sirve para todo lo que usa Node.js

  2. Abre la Terminal

    Mac: pulsa Command+Espacio y escribe Terminal · Windows: abre PowerShell

  3. Pega este comando y pulsa Enter

    claude mcp add --scope user apple-calendar -- npx -y @mgcrea/mcp-apple-calendar
  4. Escribe /mcp en Claude Code

    Deberías ver Apple Calendar en la lista como conectado

  5. Pruébalo

    Usa Apple Calendar y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Claude Code dice que está usando Apple Calendar o muestra una herramienta de Apple Calendar en la respuesta, ya está conectado

3 ajuste(s) opcional(es) (funciona sin ellos)

El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.

  • APPLE_CALENDAR_ALLOW_WRITES Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.
  • APPLE_CALENDAR_CALENDARS Restrict every read and write to these calendars, by name.
  • APPLE_CALENDAR_ACCOUNTS Restrict every read and write to these Calendar accounts, by name or id. Bounds reading, not just writing.

Las descripciones siguen en el inglés original.

Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Funciona con Cursor, pero hay que preparar algo antes

Instala Node.js en tu computadora primero (una sola vez)

Que la IA lo instale

Copia este mensaje en un chat de Cursor. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server Apple Calendar para Cursor en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "mcpServers": { "apple-calendar": { "command": "npx", "args": [ "-y", "@mgcrea/mcp-apple-calendar" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Apple Calendar aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala Node.js (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    node -v
    • Aparece un número de versión, p. ej. v26.13.1 = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl

    Abrir la página de descarga de Node.js ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v

    Se instala una vez y sirve para todo lo que usa Node.js

  2. Pulsa este botón para abrir Cursor

    Abrir en Cursor

    Cursor te pedirá confirmar; pulsa Install

  3. Abre el chat de IA de Cursor en modo Agent

  4. Pruébalo

    Usa Apple Calendar y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si Cursor dice que está usando Apple Calendar o muestra una herramienta de Apple Calendar en la respuesta, ya está conectado

3 ajuste(s) opcional(es) (funciona sin ellos)

El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.

  • APPLE_CALENDAR_ALLOW_WRITES Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.
  • APPLE_CALENDAR_CALENDARS Restrict every read and write to these calendars, by name.
  • APPLE_CALENDAR_ACCOUNTS Restrict every read and write to these Calendar accounts, by name or id. Bounds reading, not just writing.

Las descripciones siguen en el inglés original.

Nombres de menú comprobados con la ayuda de Cursor el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Funciona con VS Code, pero hay que preparar algo antes

Instala Node.js en tu computadora primero (una sola vez)

Que la IA lo instale

Copia este mensaje en un chat de VS Code. La IA revisa tu equipo, te dice qué archivo va a cambiar y espera tu visto bueno cada vez.

Instala el MCP server Apple Calendar para VS Code en este equipo, en este orden: 1) Comprueba Node.js con node -v. Si falta, dime que lo instale desde https://nodejs.org/en/download; no lo instales tú. 2) Usa solo esta configuración (ya revisada por PopNx MCP): { "servers": { "apple-calendar": { "type": "stdio", "command": "npx", "args": [ "-y", "@mgcrea/mcp-apple-calendar" ] } } } 3) Dime la ruta completa del archivo que vas a cambiar o el comando que vas a ejecutar y espera mi visto bueno. 4) No hace falta clave. 5) Haz lo acordado y comprueba que las herramientas de Apple Calendar aparecen de verdad.

Este mensaje no lleva tu clave. Si hace falta una, la IA te pedirá que la pegues tú en el archivo o en el campo de la app.

  1. Instala Node.js (si no lo tienes)

    ¿Ya está instalado? Compruébalo primero · Abre la Terminal, escribe este comando y pulsa Enter

    node -v
    • Aparece un número de versión, p. ej. v26.13.1 = ya está instalado, sáltate este paso
    • Aparece "command not found" (en Windows, "is not recognized") = aún no está instalado, o acabas de instalarlo y debes cerrar y volver a abrir la Terminal
    Cómo abrir la Terminal

    Mac: pulsa ⌘ + Espacio, escribe Terminal y pulsa Enter

    Windows: abre Inicio, escribe Windows PowerShell y elige Abrir

    Si no está instalado: Abre la página oficial de descargas, elige la versión LTS y el instalador de clics: .pkg en Mac · .msi en Windows. Haz doble clic y sigue hasta el final. No necesitas ningún comando curl

    Abrir la página de descarga de Node.js ↗

    Al terminar, cierra la Terminal, ábrela de nuevo y ejecuta el mismo comando. Debe aparecer un número de versión: node -v

    Se instala una vez y sirve para todo lo que usa Node.js

  2. Pulsa este botón para abrir VS Code

    Abrir en VS Code

    VS Code te pedirá confirmar; pulsa Install

  3. Abre el chat de IA de VS Code en modo Agent

  4. Pruébalo

    Usa Apple Calendar y dime qué puedes hacer por mí; luego muéstrame una cosa

    ✓ Si VS Code dice que está usando Apple Calendar o muestra una herramienta de Apple Calendar en la respuesta, ya está conectado

3 ajuste(s) opcional(es) (funciona sin ellos)

El comando de arriba funciona sin estos valores. Añádelos solo si quieres cambiar algo, según la descripción del autor.

  • APPLE_CALENDAR_ALLOW_WRITES Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.
  • APPLE_CALENDAR_CALENDARS Restrict every read and write to these calendars, by name.
  • APPLE_CALENDAR_ACCOUNTS Restrict every read and write to these Calendar accounts, by name or id. Bounds reading, not just writing.

Las descripciones siguen en el inglés original.

Nombres de menú comprobados con la ayuda de VS Code el 11 nov 2026 · tu pantalla puede variar un poco según la versión

Otras apps que usan MCP, como Windsurf, Zed o Gemini CLI, añaden servidores de forma distinta. Míralo en la lista de apps

Ver todas las apps que usan MCP →

La configuración JSON está en “Para desarrolladores”, abajo

¿Te atascaste? Pregunta a quien usa Apple Calendar💬 Conversación →
Para desarrolladores: comandos de Terminal y configuración JSON

Instalado en tu computadora

Claude Code

claude mcp add --scope user apple-calendar -- npx -y @mgcrea/mcp-apple-calendar

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "apple-calendar": {
      "command": "npx",
      "args": [
        "-y",
        "@mgcrea/mcp-apple-calendar"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "apple-calendar": {
      "command": "npx",
      "args": [
        "-y",
        "@mgcrea/mcp-apple-calendar"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "apple-calendar": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@mgcrea/mcp-apple-calendar"
      ]
    }
  }
}

Valores que debes completar

  • APPLE_CALENDAR_ALLOW_WRITES env
    Register the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.
  • APPLE_CALENDAR_CALENDARS env
    Restrict every read and write to these calendars, by name.
  • APPLE_CALENDAR_ACCOUNTS env
    Restrict every read and write to these Calendar accounts, by name or id. Bounds reading, not just writing.

Las descripciones siguen en el inglés original.

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

De un vistazo

Estrellas de GitHubi
6 (Estrellas de todo el repositorio)
Este repositorio tiene varias fichas MCP; sus estrellas cuentan una sola vez en las clasificaciones
Descargas por semanai
1017/sem
Conexión
Se ejecuta en tu computadora
Última versióni
1.39.0
Publicado en el registroi
12 nov 2026
Último cambio de códigoi
13 nov 2026
Creador
mgcrea
Paquetes
npm: @mgcrea/mcp-apple-calendar
Estado en el registro
Activo

Qué apps pueden usarlo

Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.

Se ejecutan en tu computadora en

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Todas las apps, con ventajas y desventajas →

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 16 nov 2026

  • ✓ Superada

    El creador coincide con el repo

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

  • ✓ Superada

    Sigue en mantenimiento

    Último cambio de código: hace 3 días

  • ✓ Superada

    Tiene licencia

    Usa MIT

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

Vulnerabilidades publicadas (OSV.dev)

Sin entradas en OSV.dev para @mgcrea/mcp-apple-calendar@1.39.0

Solo revisa esta versión del paquete, no todas sus dependencias · revisado 15 nov 2026

Qué revisamos → · JSON

Creadores: pedir otra revisión o avisar de un dato erróneo

Conversación

Pregunta, comparte un consejo o avisa de que no funciona. Ordenado por lo que la gente marcó como útil.

Aún no hay publicaciones. Sé la primera persona en preguntar o compartir.

Lo publicado aquí lo escriben usuarios, no el equipo de PopNx.

Inicia sesión para publicar

Reseñas de usuarios

Aún no hay reseñas

Inicia sesión para escribir una reseña

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

  • Más estrellas que el 81% de los otros 3972 servidores de esta categoría
  • Publicado en el registro más recientemente que el 88% de los otros 3972 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 3972 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 Apple Calendar?

Superó 3 de 3 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?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿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 hace 3 días, y la última versión (1.39.0) llegó al registro hace 4 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Puter MCP, XcodeBuildMCP, Anki MCP Server, Sosumi, Zapier

Alternativas parecidas

Misma categoría, otros creadores, comandos ya revisados. Primero los oficiales, luego por estrellas.

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

Puter MCP

Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more

de HeyPuterMuy usado★ 44,2 milActualizado hace 5 meses

Se ejecuta en la nube✓ del servicio · puter.com

XcodeBuildMCP

XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.

de getsentryMuy usado↓ 130,5 mil/sem paquete compartido★ 6,6 milActualizado hace 4 meses

Se ejecuta en tu computadora✓ del servicio · xcodebuildmcp.com

Anki MCP Server

MCP server for Anki flashcards: adaptive review, notes, media, and deck management via AnkiConnect.

de ankimcpEn crecimiento↓ 1,1 mil/sem★ 559Actualizado hace 42 días

Se ejecuta en tu computadora✓ del servicio · ankimcp.ai

Sosumi

Search and read Apple developer documentation, HIG, and WWDC transcripts as Markdown.

de NSHipsterEn crecimiento★ 492Actualizado hace 7 días

Se ejecuta en la nube✓ del servicio · sosumi.ai

Zapier

Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.

de zapierEn crecimiento★ 460Actualizado hace 4 meses

Se ejecuta en la nube✓ del servicio · zapier.com
  • Puter MCP — Funciona en la nube, sin instalar nada · Sin clave
  • XcodeBuildMCP — Se instala en tu equipo · Sin clave
  • Anki MCP Server — Se instala en tu equipo · Sin clave
  • Sosumi — Funciona en la nube, sin instalar nada · Sin clave
  • Zapier — Funciona en la nube, sin instalar nada · Sin clave · En el directorio de Claude

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.

@mgcrea/mcp-apple-calendar

Model Context Protocol server for the macOS Apple Calendar app.

Unofficial. Not affiliated with Apple. It reads the Calendar store already on your Mac.

One lane for reads, one for writes

  • Index lane — read-only SQLite over Calendar.sqlitedb. Every read goes through it.
  • Apple Events lane — writes only. There is no jxa/read.ts in this package, and a test asserts there never will be.

This is the inverse of Notes. Notes shipped on Apple Events because search took 97 ms. Calendar cannot: a ±90-day range query over 1,349 events takes 3,355 ms over Apple Events, whose is worse and unstable, and every per-property bulk fetch costs ~1.8 s whichever property it is — so the cost cannot be amortised the way Notes amortises a bulk fetch. The store opens read-only in 1 ms. Calendar needs the file lane for speed, not capability.

It does not need EventKit, which is why the companion app stays a pure broker rather than linking a framework that would drag its own TCC prompt in.

PermissionNeeded forWithout it
Full Disk Accessall readsnothing works — there is no read fallback
Automation → Calendarwrites onlyreads are unaffected

Neither is granted to Calendar.app — it is the _reader_ that needs permission. Grant Full Disk Access to whatever launches the server (Terminal, iTerm, VS Code, Claude), then restart it.

With writes off — the default — no Automation prompt appears at all. A read-only Calendar server needs exactly one permission.

Tools

Read: diagnostics, list_accounts, list_calendars, list_events, search_events, get_event.

Write, registered only when APPLE_CALENDAR_ALLOW_WRITES=1 — with the flag off they are invisible to the model, not merely refused: create_event, update_event, delete_events.

Configuration

VariableDefault
APPLE_CALENDAR_ALLOW_WRITESoffRegister the mutating tools.
APPLE_CALENDAR_ACCOUNTSallRead-side allowlist, comma-separated.
APPLE_CALENDAR_CALENDARSallRead-side allowlist, comma-separated.
APPLE_CALENDAR_DEFAULT_CALENDARCalendar'sCalendar a new event goes to when none named.
APPLE_CALENDAR_DEFAULT_RANGE_DAYS7An unbounded default would scan a decade.
APPLE_CALENDAR_MAX_RANGE_DAYS366Ceiling on a caller-supplied range.
APPLE_CALENDAR_DEFAULT_EVENT_DURATION_MINUTES60Used when a write names no end.
APPLE_CALENDAR_INCLUDE_DECLINEDoffInclude declined events in reads.
APPLE_CALENDAR_INCLUDE_CANCELLEDoffInclude cancelled events in reads.
APPLE_CALENDAR_TIMEZONEsystemOverride the zone ranges are resolved in.
APPLE_CALENDAR_INDEX_MODEautoauto \ro \immutable \off.
APPLE_CALENDAR_STOREautoExplicit Calendar.sqlitedb path.
APPLE_CALENDAR_OSASCRIPT_TIMEOUT_MS30000Sized for the first-run permission prompt.

Notes that will bite you

  • `~/Library/Calendars` does not exist. The store is ~/Library/Group Containers/group.com.apple.calendar/Calendar.sqlitedb.
  • Recurrence lives in a cache table. A naive SELECT ... FROM CalendarItem over a date range misses expanded repeats; the range query unions items carrying no recurrence rule with everything in the cache. 456 of 489 cached parents carry no rule of their own.
  • Dates are seconds since 2001, not 1970 — CalendarItem.last_modified and orig_date both.
  • A floating time zone is not the system one. Anything matching GMT±HHMM is a real zone; treating the rest as floating is what stops a two-hour silent shift.
  • Writes always go through Apple Events, never the store, which the app holds open and syncs.

Licence

MIT.