Skip to main content
Glama
ajayjohn

Apple Calendar MCP Server

by ajayjohn

Apple Calendar MCP Server

A Model Context Protocol (MCP) server that connects to Apple Calendar via a local Eventlink instance.

Features

  • Fetch Events: Get calendar events for specific dates or ranges.

  • Natural Language Dates: Supports "today", "tomorrow", "next Monday".

  • Create Events: Add new events to your calendar.

  • SSE Transport: Runs as a local web service.

  • MacOS Integration: Runs automatically at login via Launch Agent.

Related MCP server: iCloud Calendar MCP

Prerequisite

  1. Eventlink: You must have Eventlink (or compatible server) running locally.

  2. Node.js: Version 18+ (LTS recommended).

Installation

  1. Clone this repository.

  2. Copy .env.example to .env and configure your settings:

    cp .env.example .env
    • EVENTLINK_TOKEN: Your Eventlink bearer token.

    • EVENTLINK_URL: URL to Eventlink (default: http://localhost:9000).

    • PORT: Port for this MCP server (default: 6372).

  3. Run the installation script:

    ./install.sh

    This will:

    • Install dependencies.

    • Build the project.

    • Create and load a macOS Launch Agent to keep the server running in the background.

Usage

Managing the Server

  • Start: ./start.sh (Manually start the background service)

  • Stop: ./stop.sh (Stop the background service)

  • Uninstall: ./uninstall.sh (Remove the service and clean up)

Connecting to Claude Desktop / Clients

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "apple-calendar": {
      "command": "node",
      "args": ["/path/to/mcp-server-apple-calendar/dist/index.js"],
      "env": {
        "EVENTLINK_TOKEN": "your_token",
        "EVENTLINK_URL": "http://localhost:9000"
      }
    }
  }
}

Note: The install script sets up a background service listening on SSE (typically http://localhost:6372/sse). If your client supports SSE over HTTP, point it there. For Claude Desktop, using stdio (command execution) as shown above is also supported if you prefer not to use the background service, but this server is optimized for background execution.

Wait, this server is designed for SSE primarily via the background service.

If you want to use the SSE endpoint: URL: http://localhost:6372/sse

Tools

calendar_get_events

Fetches events for a given date.

  • date (string): "YYYY-MM-DD", "today", "tomorrow", "next Monday".

  • offset (number): Number of days (default: 1).

  • calendarName (string): Optional calendar override.

calendar_create_event

Creates a new event.

  • title (string): Event title.

  • startDate (string): "YYYY-MM-DD HH:MM".

  • endDate (string): "YYYY-MM-DD HH:MM".

  • notes (string): Optional notes.

License

MIT

F
license - not found
-
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.

  • Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.

  • Schedule and manage Google Calendar events directly from your workspace. Check availability, view…

View all MCP Connectors

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/ajayjohn/mcp-server-apple-calendar'

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