BankMCPβ’: your AI can now read your bank. Self-hosted, read-only MCP server for your own bank accounts via open banking (Enable Banking). Standard MCP; tested with Claude and Ollama.
MCP server for macOS Calendar
MCP iCal Server connects an MCP client to your macOS Calendar app. You can ask for your schedule, create events, move meetings, and check availability in plain language, and the server translates that into Calendar actions.
Builders who want their agent to manage a Mac Calendar in natural language.
You can check, create, and update calendar events without opening Calendar or rephrasing your request into app steps.
What it does
Natural language event creation
Create calendar events from plain requests, including time, location, notes, reminders, and recurring patterns.
Schedule and availability queries
Ask what is on your calendar or find free time slots for a meeting.
Event updates
Move events, change calendars, edit locations and notes, and adjust reminders or repeat rules.
Multi-calendar support
Work with different calendars, including custom calendars and synced Google Calendar setups.
How to get it
- 1Clone and Setup
# Clone the repository git clone https://github.com/Omar-V2/mcp-ical.git cd mcp-ical # Install dependencies uv sync
- 2Run the following command in your terminal.
/Applications/Claude.app/Contents/MacOS/Claude
- 3Start Using!
Try: "What's my schedule looking like for next week?"
README
MCP iCal Server
π Overview
Transform how you interact with your macOS calendar using natural language! The mcp-ical server leverages the Model Context Protocol (MCP) to turn your calendar management into a conversational experience.
You: "What's my schedule for next week?"
Claude: "Let me check that for you..."
[Displays a clean overview of your upcoming week]
You: "Add a lunch meeting with Sarah tomorrow at noon"
Claude: "β¨ π
Created: Lunch with Sarah Tomorrow, 12:00 PM"
β¨ Features
π Event Creation
Transform natural language into calendar events instantly!
"Schedule a team lunch next Thursday at 1 PM at Bistro Garden"
β
π Created: Team Lunch
π
Thursday, 1:00 PM
π Bistro Garden
Supported Features
- Custom calendar selection
- Location and notes
- Smart reminders
- Recurring events
Power User Examples
π Recurring Events:
"Set up my weekly team sync every Monday at 9 AM with a 15-minute reminder"
π Detailed Events:
"Schedule a product review meeting tomorrow from 2-4 PM in the Engineering calendar,
add notes about reviewing Q1 metrics, and remind me 1 hour before"
π± Multi-Calendar Support:
"Add a dentist appointment to my Personal calendar for next Wednesday at 3 PM"
π Smart Schedule Management & Availability
Quick access to your schedule with natural queries:
"What's on my calendar for next week?"
β
π Shows your upcoming events with smart formatting
"When am I free to schedule a 2-hour meeting next Tuesday?"
β
π Available time slots found:
β’ Tuesday 10:00 AM - 12:00 PM
β’ Tuesday 2:00 PM - 4:00 PM
βοΈ Intelligent Event Updates
Modify events naturally:
Before: "Move tomorrow's team meeting to 3 PM instead"
β
After: β¨ Meeting rescheduled to 3:00 PM
Update Capabilities
- Time and date modifications
- Calendar transfers
- Location updates
- Note additions
- Reminder adjustments
- Recurring pattern changes
π Calendar Management
- View all available calendars
- Smart calendar suggestions
- Seamless Google Calendar integration when configured with iCloud
π‘ Pro Tip: Since you can create events in custom calendars, if you have your Google Calendar synced with your iCloud Calendar, you can use this MCP server to create events in your Google Calendar too! Just specify the Google calendar when creating/updating events.
π Quick Start
π‘ Note: While these instructions focus on setting up the MCP server with Claude for Desktop, this server can be used with any MCP-compatible client. For more details on using different clients, see the MCP documentation.
Prerequisites
- uv package manager
- macOS with Calendar app configured
- An MCP client - Claude for desktop is recommended
Installation
Whilst this MCP server can be used with any MCP compatible client, the instructions below are for use with Claude for desktop.
-
Clone and Setup
# Clone the repository git clone https://github.com/Omar-V2/mcp-ical.git cd mcp-ical # Install dependencies uv sync -
Configure Claude for Desktop
Create or edit
~/Library/Application\ Support/Claude/claude_desktop_config.json:{ "mcpServers": { "mcp-ical": { "command": "uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-ical", "run", "mcp-ical" ] } } } -
Launch Claude for Calendar Access
β οΈ Critical: Claude must be launched from the terminal to properly request calendar permissions. Launching directly from Finder will not trigger the permissions prompt.
Run the following command in your terminal.
/Applications/Claude.app/Contents/MacOS/Claudeβ οΈ Warning: Alternatively, you can manually grant calendar access, but this involves modifying system files and should only be done if you understand the risks involved.
-
Start Using!
Try: "What's my schedule looking like for next week?"
π Note: When you first use a calendar-related command, macOS will prompt for calendar access. This prompt will only appear if you launched Claude from the terminal as specified above.
π§ͺ Testing
β οΈ Warning: Tests will create temporary calendars and events. While cleanup is automatic, only run tests in development environments.
# Install dev dependencies
uv sync --dev
# Run test suite
uv run pytest tests
π Known Issues
Recurring Events
- Non-standard recurring schedules may not always be set correctly
- Better results with Claude 3.5 Sonnet compared to Haiku
- Reminder timing for recurring all-day events may be off by one day
π€ Contributing
Feedback and contributions are welcome. Here's how you can help:
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
- Built with Model Context Protocol
- macOS Calendar integration built with PyObjC
Files in the repo
- docs
- src
- tests
- .gitignore
- .python-version
- LICENSE
- pyproject.toml
- README.md
- uv.lock
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More connectors
A memory plugin for AI coding that turns engineering experience, repository knowledge, and your way of working into memory that remains useful in future tasks.
Encrypted, fully offline agentic memory. One click install, GUI w/ memory map, all OS and agents. Superior memory creation, storage and retrieval.
Agent-native flight & hotel search and booking β MCP server, CLI, and Python/JS SDKs. Hundreds of airlines plus the major booking sites, with per-flight reliability history. Free-cancellation hotel rates: hold the room with a small upfront charge, then pay the balance later by link, up to the hotel's own deadline.
Control Ableton Live with any LLM: create tracks, arrange clips & compose music via MCP
Calendar sync tool & universal calendar MCP server. Aggregate, sync and control calendars on Google, Outlook, Office 365, iCloud, CalDAV or ICS.