public-calendar-mcp
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
Public Calendar MCP Server
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.