Calendar App Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Calendar App Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP (Model Context Protocol) server that provides access to macOS Calendar.app events and reminders for use with Claude and other AI assistants.
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
uvx calendar-app-mcp # Automatically runs as MCP server with no arguments
uvx calendar-app-mcp mcp # Explicitly runs the MCP serverOnce running, Claude can interact with your calendar data through the MCP protocol, allowing it to:
This package provides several MCP tools and resources:
#### Tools
get_events: Retrieve events for a specific date rangeget_reminders: Retrieve reminders for a specific date rangelist_calendars: List all available calendarsget_today_summary: Get a summary of today's events and reminderssearch: Search for events and reminders containing a specific termget_current_time: Get the current date and time in any timezoneconvert_time: Convert a time from one timezone to anotherlist_timezones: List available timezones, optionally filtered by region#### Resources
calendar://events/{date}: Access events for a specific datecalendar://calendars: Access the list of available calendarsdatetime://current/{timezone}: Get the current time in a specific timezone#### Prompts
daily_agenda: Generate a prompt for reviewing your daily schedule# 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 mcpAfter installation, the package provides two command-line executables:
# General-purpose calendar app tool - shows help when run without arguments
calendar-app
# MCP-focused variant - defaults to running the MCP server when no arguments are provided
calendar-app-mcpBoth commands support the same subcommands, but calendar-app-mcp is optimized for use as an MCP server.
# 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]'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
# Check version
uvx calendar-app-mcp --version
# or
uvx calendar-app-mcp versionMost 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-completedTo 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 installThe UV_NO_CONFIG=1 environment variable tells UV to ignore any system-level configuration and use only the public PyPI registry.
To publish a new version to PyPI:
pyproject.tomluv run pytest --black --ruffUV_NO_CONFIG=1 uv run python -m build UV_NO_CONFIG=1 uv run twine upload dist/calendar_app_mcp-X.Y.Z*Replace X.Y.Z with the actual version number.
uvx calendar-app-mcp@latest --versiongit tag vX.Y.Z && git push origin vX.Y.ZSee the CLAUDE.md file for more detailed instructions.
Run all tests:
python -m pytestRun tests with coverage report:
python -m pytest --cov=calendar_appRun specific test file:
python -m pytest tests/unit/utils/test_date_utils.pyRun specific test:
python -m pytest tests/unit/utils/test_date_utils.py::TestParseDate::test_valid_date~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.