Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TIMEZONE | No | IANA timezone (e.g., America/New_York). Overrides OS detection. | |
| HTTP_HOST | No | Bind address for HTTP transport. Use 0.0.0.0 only behind a reverse proxy. | 127.0.0.1 |
| HTTP_PORT | No | Port for HTTP transport. When set, enables streamable HTTP mode instead of stdio. | |
| TENANT_ID | No | UUID for tenant isolation | |
| REDIS_URLS | No | Comma-separated Redis URLs for distributed locking (optional, uses in-memory locks if unset) | |
| LOCK_TTL_SECS | No | Lock time-to-live in seconds for Two-Phase Commit booking | 30 |
| ALLOWED_ORIGINS | No | Comma-separated allowed Origin headers for HTTP mode | |
| GOOGLE_CLIENT_ID | No | Google OAuth Client ID from Cloud Console | |
| OAUTH_REDIRECT_PORT | No | Port for the local OAuth callback server | 8085 |
| GOOGLE_CLIENT_SECRET | No | Google OAuth Client Secret | |
| GOOGLE_OAUTH_CREDENTIALS | No | Path to Google OAuth JSON credentials file (alternative to CLIENT_ID + CLIENT_SECRET) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| adjust_timestamp | Adjust a timestamp by adding or subtracting a duration. DST-aware: '+1d' preserves wall-clock time across daylight saving transitions. |
| book_slot | Book a calendar slot using Two-Phase Commit for safe, conflict-free booking. |
| check_availability | Check if a calendar time slot is available (not held by another booking). |
| compute_duration | Compute the duration between two timestamps. Returns days, hours, minutes, seconds, and a human-readable string. |
| convert_timezone | Convert a datetime to a different timezone. |
| expand_rrule | Expand a recurrence rule (RRULE) into concrete event instances. |
| find_free_slots | Find available free time slots in a calendar within a time window. |
| get_availability | Get unified availability across multiple calendars. Merges events from all specified calendars into a single busy/free view with privacy controls. |
| get_temporal_context | Get the current temporal context — time, timezone, calendar metadata. Call this first to orient yourself in time before making calendar queries. |
| list_calendars | List all connected calendars across providers. Returns calendar IDs, names, labels, and metadata. Call this first to discover what calendars are available before using other calendar tools. |
| list_events | List calendar events in a time range. Returns events in TOON or JSON format. |
| query_public_availability | Query another user's public availability by their Temporal Link slug. Returns available time slots for a given date. Use after resolve_identity to find the slug. Requires Platform Mode. |
| request_booking | Book a meeting on another user's public calendar by their Temporal Link slug. Requires attendee_email. Content sanitization and Two-Phase Commit happen server-side. If the slot is taken, returns a 409 Conflict error — query availability again. Requires Platform Mode. |
| resolve_datetime | Resolve a human-readable time expression to an absolute datetime. Supports: 'next Tuesday at 2pm', 'tomorrow morning', '+3h', 'in 2 hours', 'start of next week', RFC 3339 passthrough, and more. |
| resolve_identity | Resolve an email, phone, or agent ID to a Temporal Cortex slug (DNS for Human Time). Use this to find someone's Open Scheduling profile before querying their availability or booking a meeting. Requires Platform Mode. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| check_schedule | View your calendar schedule and availability for a given time range. |
| convert_time | Convert a time between timezones with context about both locations. |
| discover_calendars | Discover and list all connected calendars across providers with labels and metadata. |
| schedule_meeting | Guide through scheduling a meeting: resolve times, check availability, and book a slot. |
| schedule_with_someone | Schedule a meeting with someone via Open Scheduling: resolve identity, check availability, and book. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| tool-usage-guide | Recommended tool call ordering: Layer 1 (temporal context) -> Layer 2 (calendar ops) -> Layer 3 (availability) -> Layer 4 (booking). |
| rrule-reference | RFC 5545 recurrence rule syntax reference for the expand_rrule tool. |
| booking-rules | Current booking rules: working hours, minimum lead time, max duration, and buffer settings. Use to suggest times within allowed windows. |