Skip to main content

Calendar app MCP for accessing macOS Calendar events and reminders

Project description

Calendar App MCP

An MCP (Model Context Protocol) server that provides access to macOS Calendar.app events and reminders for use with Claude and other AI assistants.

MCP Integration

This package can be run as an MCP server to integrate with Claude and other AI assistants supporting the MCP protocol, enabling them to access and interact with your macOS calendar data.

# Run as MCP server for AI assistant integration (default if no command specified)
uvx calendar-app-mcp
# or explicitly
uvx calendar-app-mcp mcp

Once running, Claude can interact with your calendar data through the MCP protocol, allowing it to:

  • Check your upcoming events
  • Find free time slots
  • View event details
  • Access reminders
  • Filter events by calendar, date range, and more

Features

  • Access macOS Calendar.app events and reminders
  • Filter by date range, calendar names, and all-day/busy status
  • Format output as JSON or Markdown
  • Secure, local access to calendar data

Installation

# Install from PyPI
pip install calendar-app-mcp

# Using uv
uv pip install calendar-app-mcp

# Using uvx (direct execution without installation)
uvx calendar-app-mcp calendars
uvx calendar-app-mcp mcp

Development Installation

# Clone the repository
git clone https://github.com/rygwdn/calendar-app-mcp.git
cd calendar-app-mcp

# Install uv package manager if not already installed
# https://github.com/astral-sh/uv

# Install the package in development mode
uv install -e .

# Install with development dependencies (for testing)
uv install -e '.[dev]'

CLI Usage

In addition to functioning as an MCP server, this package can be used as a command-line tool to access calendar data directly:

# List available calendars
uvx calendar-app-mcp calendars

# Get today's events and reminders
uvx calendar-app-mcp today

# Get only events
uvx calendar-app-mcp events

# Get only reminders
uvx calendar-app-mcp reminders

# Get both events and reminders
uvx calendar-app-mcp all

# Show JSON schema
uvx calendar-app-mcp schema

Command Options

Most subcommands accept these options:

# Output in JSON format (default is markdown)
uvx calendar-app-mcp events --json

# Filter by date range
uvx calendar-app-mcp events --from 2024-12-01 --to 2024-12-31

# Filter by specific calendars
uvx calendar-app-mcp events --calendars "Work" "Personal"

# Only show all-day events
uvx calendar-app-mcp events --all-day-only

# Only show busy events
uvx calendar-app-mcp events --busy-only

# Include completed reminders
uvx calendar-app-mcp reminders --include-completed

Development

Using UV with Public PyPI Registry

To ensure UV uses the public PyPI registry rather than any locally configured repositories:

# Generate a lock file using only PyPI
UV_NO_CONFIG=1 uv lock

# Install dependencies using only PyPI
UV_NO_CONFIG=1 uv install

The UV_NO_CONFIG=1 environment variable tells UV to ignore any system-level configuration and use only the public PyPI registry.

Running Tests

Run all tests:

python -m pytest

Run tests with coverage report:

python -m pytest --cov=calendar_app

Run specific test file:

python -m pytest tests/unit/utils/test_date_utils.py

Run specific test:

python -m pytest tests/unit/utils/test_date_utils.py::TestParseDate::test_valid_date

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

calendar_app_mcp-0.1.2.tar.gz (59.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

calendar_app_mcp-0.1.2-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file calendar_app_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: calendar_app_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 59.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for calendar_app_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a9313d99a8c229d46289005ffa93437d3c57cc07e99bf0444bb07ddd4e5665e4
MD5 24a22efb9832abfafea575e3ac38e344
BLAKE2b-256 da0ee6e433f8531849d4d2457fe465d3b5b6e00a4f16a1e1c7bebde29c788c04

See more details on using hashes here.

File details

Details for the file calendar_app_mcp-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for calendar_app_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 93821deb4d96c7f89726270fc4aef8db3c5bbff8cefac6d5d900be2b008dad5b
MD5 8d3819367cf3aee12ae6a26e8547986f
BLAKE2b-256 309de2214a7391271e7b949fbbca99f2493c2091400c69c18c27e0ca2dcb9c82

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page