fantastical
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_calendarsA | List all Fantastical calendars. Fast and lightweight — no shortcuts required, uses JXA directly. Returns plain text: one calendar per line as "name (id)". |
| list_eventsA | List calendar events in a date range (YYYY-MM-DD). Accepts 'today', 'tomorrow', 'yesterday', or YYYY-MM-DD. Defaults to today only. Start with 2-week chunks. If results are sparse, increase to months or more. Returns compact tab-separated output: id, title, startDate, endDate, attendeeCount. All events are cached — use get_event_details for full data (calendar, URL, etc.). Can be called in parallel for different date ranges. |
| create_eventA | Create event using natural language (e.g. 'Meeting tomorrow at 3pm'). |
| search_eventsA | Search events by title. Default search window is ±30 days. Override with from_date/to_date (YYYY-MM-DD). Start with 2-week chunks. If results are sparse, increase to months or more. Same compact tab-separated output as list_events with caching. Can be called in parallel for different queries. |
| get_event_detailsA | Get full details of a cached event by ID. Returns all fields: title, startDate, endDate, calendar, fantasticalURL, calendarName. Events are cached from previous list_events/search_events calls. Attendees are fetched lazily on first request and cached for the session. |
| clear_cacheA | Clear the in-memory event and attendee caches. Use when starting a fresh analysis session. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool serves a distinct purpose: cache management, event creation, event detail retrieval, calendar listing, event listing by date, and event search by title. No two tools have overlapping functionality.
All tool names follow a consistent verb_noun pattern using lowercase and underscores (e.g., list_calendars, search_events), making them predictable and easy to distinguish.
With 6 tools, the set is well-scoped for a calendar event server. Each tool has a clear role, and the count is within the ideal 3-15 range.
The toolset covers event creation and read operations (list, search, get details) and calendar listing, but lacks update and delete functionality for events, and calendar management beyond listing. These are notable gaps for a calendar application.