{"id":40447412,"url":"https://github.com/aplaceforallmystuff/mcp-fantastical","last_synced_at":"2026-01-20T17:04:32.148Z","repository":{"id":330728423,"uuid":"1106287474","full_name":"aplaceforallmystuff/mcp-fantastical","owner":"aplaceforallmystuff","description":"MCP server for Fantastical calendar app - create events, view calendar, and manage schedules","archived":false,"fork":false,"pushed_at":"2025-12-27T21:53:09.000Z","size":24,"stargazers_count":0,"open_issues_count":1,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-29T10:52:29.023Z","etag":null,"topics":["calendar","claude","fantastical","macos","mcp","mcp-server","model-context-protocol","productivity"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aplaceforallmystuff.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-29T00:31:49.000Z","updated_at":"2025-12-27T21:53:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/aplaceforallmystuff/mcp-fantastical","commit_stats":null,"previous_names":["aplaceforallmystuff/mcp-fantastical"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/aplaceforallmystuff/mcp-fantastical","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aplaceforallmystuff%2Fmcp-fantastical","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aplaceforallmystuff%2Fmcp-fantastical/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aplaceforallmystuff%2Fmcp-fantastical/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aplaceforallmystuff%2Fmcp-fantastical/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aplaceforallmystuff","download_url":"https://codeload.github.com/aplaceforallmystuff/mcp-fantastical/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aplaceforallmystuff%2Fmcp-fantastical/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28607624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T16:10:39.856Z","status":"ssl_error","status_checked_at":"2026-01-20T16:10:39.493Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calendar","claude","fantastical","macos","mcp","mcp-server","model-context-protocol","productivity"],"created_at":"2026-01-20T17:04:32.071Z","updated_at":"2026-01-20T17:04:32.135Z","avatar_url":"https://github.com/aplaceforallmystuff.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MCP Fantastical Server\n\n[![npm version](https://img.shields.io/npm/v/mcp-fantastical.svg)](https://www.npmjs.com/package/mcp-fantastical)\n[![CI](https://github.com/aplaceforallmystuff/mcp-fantastical/actions/workflows/ci.yml/badge.svg)](https://github.com/aplaceforallmystuff/mcp-fantastical/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![MCP](https://img.shields.io/badge/MCP-Compatible-blue)](https://modelcontextprotocol.io)\n\nMCP server for [Fantastical](https://flexibits.com/fantastical) - the powerful calendar app for macOS.\n\n## Why Use This?\n\n- **Natural language event creation** - Use Fantastical's powerful natural language parsing (\"Meeting with John tomorrow at 3pm\")\n- **View your schedule** - Check today's events or upcoming appointments without leaving your conversation\n- **Quick calendar access** - Jump to any date in Fantastical instantly\n- **Calendar-aware AI** - Let Claude understand your availability and schedule context\n- **Zero configuration** - Works with your existing Fantastical and Calendar setup\n\n## Features\n\n| Category | Capabilities |\n|----------|-------------|\n| **Event Creation** | Create events using natural language, specify calendar, add notes |\n| **Schedule Viewing** | View today's events, upcoming events for any number of days |\n| **Navigation** | Open Fantastical to specific dates |\n| **Search** | Search events by title, location, or notes |\n| **Calendar Management** | List all available calendars |\n\n## Prerequisites\n\n- macOS (Fantastical is macOS-only)\n- Node.js 18+\n- [Fantastical](https://flexibits.com/fantastical) installed\n- Calendar access permissions for Terminal/Claude\n\n## Installation\n\n### Using npm (Recommended)\n\n```bash\nnpx mcp-fantastical\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/jmchristian/mcp-fantastical.git\ncd mcp-fantastical\nnpm install\nnpm run build\n```\n\n## Configuration\n\nNo API keys required - this server uses AppleScript to communicate with Fantastical and the Calendar app.\n\n### For Claude Desktop\n\nAdd to your Claude Desktop config file:\n\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"fantastical\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-fantastical\"]\n    }\n  }\n}\n```\n\n### For Claude Code\n\nAdd to `~/.claude.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"fantastical\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"mcp-fantastical\"]\n    }\n  }\n}\n```\n\n### Permissions\n\nOn first run, you may need to grant accessibility permissions:\n1. System Preferences → Privacy \u0026 Security → Accessibility\n2. Add Terminal (or your terminal app) to the allowed list\n\n## Usage Examples\n\n### Creating Events\n- \"Schedule a meeting with the team tomorrow at 2pm\"\n- \"Add dentist appointment Friday at 10am to my Personal calendar\"\n- \"Create a recurring standup every Monday at 9am\"\n- \"Block off next Tuesday afternoon for deep work\"\n\n### Viewing Schedule\n- \"What's on my calendar today?\"\n- \"Show me my schedule for the next week\"\n- \"What meetings do I have tomorrow?\"\n- \"Am I free on Friday afternoon?\"\n\n### Navigation\n- \"Open my calendar to next Monday\"\n- \"Show me December 25th in Fantastical\"\n- \"Jump to next week in my calendar\"\n\n### Searching\n- \"Find all meetings with Sarah\"\n- \"Search for dentist appointments\"\n- \"Look up project review meetings\"\n\n## Available Tools\n\n| Tool | Description |\n|------|-------------|\n| `fantastical_create_event` | Create an event using natural language parsing |\n| `fantastical_get_today` | Get today's calendar events |\n| `fantastical_get_upcoming` | Get upcoming events for specified number of days |\n| `fantastical_show_date` | Open Fantastical to a specific date |\n| `fantastical_get_calendars` | List all available calendars |\n| `fantastical_search` | Search for events by query |\n\n## Development\n\n```bash\n# Watch mode for development\nnpm run watch\n\n# Build TypeScript\nnpm run build\n\n# Run locally\nnode dist/index.js\n```\n\n## Troubleshooting\n\n### \"AppleScript error: Not authorized to send Apple events\"\nGrant accessibility permissions:\n1. Open System Preferences → Privacy \u0026 Security → Accessibility\n2. Click the lock to make changes\n3. Add Terminal (or your terminal app) and enable it\n\n### \"Error: This MCP server only works on macOS\"\nThis server requires macOS because Fantastical is a macOS application. It uses AppleScript to communicate with Fantastical and the Calendar app.\n\n### Events not showing up\n- Ensure Fantastical is syncing with iCloud/Calendar\n- Check that Calendar.app has access to the same calendars\n- Verify the event was created in the correct calendar\n\n### Fantastical not opening\n- Ensure Fantastical is installed\n- Try opening Fantastical manually first\n- Check that URL schemes are enabled in Fantastical preferences\n\n## Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\nMIT - see [LICENSE](LICENSE) for details.\n\n## Links\n\n- [Fantastical](https://flexibits.com/fantastical) - Official Fantastical website\n- [Model Context Protocol](https://modelcontextprotocol.io) - MCP specification\n- [GitHub Repository](https://github.com/aplaceforallmystuff/mcp-fantastical)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faplaceforallmystuff%2Fmcp-fantastical","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faplaceforallmystuff%2Fmcp-fantastical","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faplaceforallmystuff%2Fmcp-fantastical/lists"}