Public Calendar
FreeNot checkedEnables AI agents to search and access public calendar data, supporting iCal, CalDAV, and Google Calendar sources with event search, details, and availability c
About
Enables AI agents to search and access public calendar data, supporting iCal, CalDAV, and Google Calendar sources with event search, details, and availability checks.
README
A Model Context Protocol (MCP) server that enables AI agents to search and access public calendar data. Works with Claude Desktop and includes an optional native macOS management app.
Quick Start
1. Install and Build
git clone <repository-url>
cd public-calendar-mcp-server
npm install
npm run build
2. Configure Claude Desktop
Add to your Claude Desktop MCP settings (~/.claude_desktop/mcp_settings.json):
{
"mcpServers": {
"public-calendar-mcp": {
"command": "node",
"args": ["/absolute/path/to/public-calendar-mcp-server/dist/index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}
3. Restart Claude Desktop
Quit and restart Claude Desktop. You should now have access to calendar tools in Claude!
Features
- 🔍 Event Search: Search public events by date range, location, and keywords
- 📅 Event Details: Retrieve detailed information about specific events
- ⏰ Availability Check: Check time slot availability across calendars
- 🔗 Multiple Sources: Support for iCal, CalDAV, and Google Calendar sources
- 🖥️ macOS App: Optional native GUI for managing calendar sources (macOS only)
- ⚡ Fast Caching: Intelligent caching for improved performance
Available Tools in Claude
Once configured, you'll have access to these tools in Claude Desktop:
check_availability- Check if time slots are free across calendarsget_event_details- Get detailed information about specific eventslist_calendar_sources- View configured calendar sourcesadd_calendar_source- Add new calendar sourcesremove_calendar_source- Remove calendar sources
How It Works
Claude Desktop launches the MCP server (standard MCP pattern). The server provides:
- MCP Protocol Interface: For Claude Desktop communication
- HTTP API Interface: For optional GUI management
Calendar sources are stored in: ~/Library/Application Support/PublicCalendarMCP/config.json
Setup Options
Option 1: Claude Desktop Only (Recommended)
Perfect for most users - just add the MCP configuration above and you're ready to go!
Managing Calendar Sources: Edit ~/Library/Application Support/PublicCalendarMCP/config.json directly or use the MCP tools in Claude.
Option 2: Claude Desktop + macOS GUI App
For macOS users who want a visual interface for managing calendar sources:
- Follow the Claude Desktop setup above
- Build and run the macOS app:
cd macos && ./build.sh - Use the app to visually add/edit/remove calendar sources
- Changes are immediately available in Claude Desktop
Both options work with the same calendar sources - the GUI app just provides an easier way to manage them.
📖 See CLAUDE_DESKTOP_CONFIG.md for detailed Claude Desktop setup
📖 See SETUP.md for calendar source configuration
📖 See ARCHITECTURE_OVERVIEW.md for how Claude Desktop + macOS app work together
Calendar Source Types
- iCal (.ics): ✅ No setup required - works with any public iCal URL
- CalDAV: 🔧 Requires server credentials and authentication setup
- Google Calendar: 🔧 Requires Google Cloud API key
Development
Prerequisites
- Node.js 18+
- TypeScript
- macOS (for GUI components)
Setup
npm install
npm run build
Development
npm run dev
Testing
npm test
Project Structure
src/
├── adapters/ # Calendar source adapters
├── interfaces/ # Core interfaces
├── services/ # Business logic services
├── tools/ # MCP tool implementations
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
└── index.ts # Main entry point
License
MIT
Installing Public Calendar
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/anton-jackson/calendar-mcpFAQ
Is Public Calendar MCP free?
Yes, Public Calendar MCP is free — one-click install via Unyly at no cost.
Does Public Calendar need an API key?
No, Public Calendar runs without API keys or environment variables.
Is Public Calendar hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Public Calendar in Claude Desktop, Claude Code or Cursor?
Open Public Calendar on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Notion
Read and write pages in your workspace
by NotionLinear
Issues, cycles, triage — from Claude
by LinearGoogle Drive
Search and read your Drive files
by Googlemindsdb/mindsdb
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).
by mindsdbCompare Public Calendar with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All productivity MCPs
