MCP Fantastical Server
Provides integration with Fantastical calendar app and macOS Calendar.app, enabling natural language event creation, schedule viewing, calendar navigation, event searching, and calendar management through AppleScript.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Fantastical Serverwhat's on my calendar for tomorrow?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Fantastical Server
MCP server for Fantastical - the powerful calendar app for macOS.
Why Use This?
Natural language event creation - Use Fantastical's powerful natural language parsing ("Meeting with John tomorrow at 3pm")
View your schedule - Check today's events or upcoming appointments without leaving your conversation
Quick calendar access - Jump to any date in Fantastical instantly
Calendar-aware AI - Let Claude understand your availability and schedule context
Zero configuration - Works with your existing Fantastical and Calendar setup
Features
Category | Capabilities |
Event Creation | Create events using natural language, specify calendar, add notes |
Schedule Viewing | View today's events, upcoming events for any number of days |
Navigation | Open Fantastical to specific dates |
Search | Search events by title, location, or notes |
Calendar Management | List all available calendars |
Prerequisites
macOS (Fantastical is macOS-only)
Node.js 18+
Fantastical installed
Calendar access permissions for Terminal/Claude
Installation
Using npm (Recommended)
npx mcp-fantasticalFrom Source
git clone https://github.com/aplaceforallmystuff/mcp-fantastical.git
cd mcp-fantastical
npm install
npm run buildConfiguration
No API keys required - this server uses AppleScript to communicate with Fantastical and the Calendar app.
For Claude Desktop
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"fantastical": {
"command": "npx",
"args": ["-y", "mcp-fantastical"]
}
}
}For Claude Code
Add to ~/.claude.json:
{
"mcpServers": {
"fantastical": {
"command": "npx",
"args": ["-y", "mcp-fantastical"]
}
}
}Permissions
On first run, you may need to grant the following permissions:
Accessibility (for event creation via URL scheme):
System Preferences → Privacy & Security → Accessibility
Add Terminal (or your terminal app) to the allowed list
Full Calendar Access (for reading events):
The native helper ships as an ad-hoc-signed .app bundle (FantasticalHelper.app). The first time the MCP server reads calendar data, macOS will show a one-time prompt attributed to "FantasticalHelper" asking to grant Full Calendar Access. Approve it.
If you miss the prompt or need to re-grant later:
System Settings → Privacy & Security → Calendars
Enable FantasticalHelper
Note: Prior versions shipped a raw helper binary, which macOS couldn't attribute a TCC permission to when launched under Claude Desktop — the prompt never appeared and access was silently denied (#6). The bundled + signed helper fixes this.
Usage Examples
Creating Events
"Schedule a meeting with the team tomorrow at 2pm"
"Add dentist appointment Friday at 10am to my Personal calendar"
"Create a recurring standup every Monday at 9am"
"Block off next Tuesday afternoon for deep work"
Viewing Schedule
"What's on my calendar today?"
"Show me my schedule for the next week"
"What meetings do I have tomorrow?"
"Am I free on Friday afternoon?"
Navigation
"Open my calendar to next Monday"
"Show me December 25th in Fantastical"
"Jump to next week in my calendar"
Searching
"Find all meetings with Sarah"
"Search for dentist appointments"
"Look up project review meetings"
Available Tools
Tool | Description |
| Create an event using natural language parsing |
| Get today's calendar events |
| Get upcoming events for specified number of days |
| Open Fantastical to a specific date |
| List all available calendars |
| Search for events by query |
Development
# Watch mode for development
npm run watch
# Build TypeScript
npm run build
# Run locally
node dist/index.jsTroubleshooting
"AppleScript error: Not authorized to send Apple events"
Grant accessibility permissions:
Open System Preferences → Privacy & Security → Accessibility
Click the lock to make changes
Add Terminal (or your terminal app) and enable it
Calendar permission errors, or "Calendar access denied" under Claude Desktop
macOS TCC permissions don't inherit through the Claude Desktop → npx → node → helper chain. The native helper is wrapped in an ad-hoc-signed FantasticalHelper.app bundle so macOS has a stable code identity to attribute the calendar permission to.
Solutions:
Look for a one-time system prompt attributed to FantasticalHelper and approve it. If it appeared behind another window, restart your MCP client and retry.
Check System Settings → Privacy & Security → Calendars and enable FantasticalHelper.
If running from source, rebuild the bundle:
npm run build:native.If the bundle is missing a code signature for any reason, re-sign it:
codesign --force --sign - dist/native/FantasticalHelper.app.
"Error: This MCP server only works on macOS"
This server requires macOS because Fantastical is a macOS application. It uses AppleScript to communicate with Fantastical and the Calendar app.
Events not showing up
Ensure Fantastical is syncing with iCloud/Calendar
Check that Calendar.app has access to the same calendars
Verify the event was created in the correct calendar
Grant Full Calendar Access (see above)
Fantastical not opening
Ensure Fantastical is installed
Try opening Fantastical manually first
Check that URL schemes are enabled in Fantastical preferences
License
MIT - see LICENSE for details.
Links
Fantastical - Official Fantastical website
Model Context Protocol - MCP specification
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aplaceforallmystuff/mcp-fantastical'
If you have feedback or need assistance with the MCP directory API, please join our Discord server