# temporal-cortex/mcp [Health: Active]

**Category:** 🏢 Workplace & Productivity  
**Repository:** https://github.com/temporal-cortex/mcp  
**GitHub Stars:** 12  
**npm Downloads (last month):** 588  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/temporal-cortex-mcp

## Description
AI-native calendar middleware for scheduling, availability, and conflict-free booking across Google Calendar, Outlook, and CalDAV. 15 tools across 5 layers: temporal context, calendar operations, multi-calendar availability, open scheduling, and Two-Phase Commit booking. Deterministic datetime resolution and RRULE expansion powered by Truth Engine.

## Tools
Capabilities this server exposes over MCP:

- **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).
- **compose_proposal** — Compose a scheduling proposal message with proposed time slots. Formats times in the specified timezone for email, Slack, or SMS. Does NOT send the message — returns formatted text for the agent to send via its channel MCP (Gmail, Slack, etc.).
- **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_contact** — Resolve a contact's email to available scheduling paths. Returns the best way to schedule with them: Open Scheduling (instant booking), email, or phone. Call after search_contacts to determine the scheduling method.
- **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.
- **search_contacts** — Search your contacts by name. Returns matching contacts with emails, phone numbers, organization, and job title. Requires contacts permission to be configured.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "mcp": {
    "command": "npx",
    "args": ["-y","@temporal-cortex/cortex-mcp"],
    "env": {
      "GOOGLE_CLIENT_ID": "",
      "GOOGLE_CLIENT_SECRET": "",
      "MICROSOFT_CLIENT_ID": "",
      "TIMEZONE": ""
    }
  }
}
```

**Requires environment variables:** `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `MICROSOFT_CLIENT_ID`, `TIMEZONE` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What temporal-cortex/mcp MCP server does

temporal-cortex/mcp MCP server adds calendar scheduling capabilities to MCP-compatible AI clients. It supports Google Calendar, Microsoft Outlook, and CalDAV providers, including services such as iCloud and Fastmail when configured through CalDAV. The toolset covers calendar discovery, event listing, timezone conversion, human-readable datetime resolution, duration calculation, recurrence expansion, availability queries, and booking.

The server also supports open scheduling through Temporal Cortex profiles. Agents can resolve a person from an email, phone number, or agent ID, inspect public availability by slug, and request a booking when Platform Mode is enabled. Contact search and contact resolution can identify whether a person should be scheduled through open scheduling, email, or phone.

## How it works

An agent can begin with `get_temporal_context` to establish the current time, timezone, and calendar metadata, then use `list_calendars` to discover connected calendars. `list_events`, `find_free_slots`, and `get_availability` provide calendar data for a selected period. The multi-calendar availability tool merges events into one busy/free view and supports privacy controls.

Temporal operations are computed rather than left to model interpretation. `resolve_datetime` converts expressions such as “next Tuesday at 2pm” or “in 2 hours” into absolute timestamps, while `convert_timezone`, `adjust_timestamp`, and `compute_duration` handle related calculations. `expand_rrule` turns recurrence rules into event instances, including timezone-sensitive cases.

For booking, `check_availability` tests a slot and `book_slot` uses a Two-Phase Commit process. If another booking wins the slot, the operation reports a conflict instead of silently creating a double booking. `compose_proposal` only formats a message; it does not send email, Slack, or SMS.

## Setup and configuration

The local package requires Node.js 18 or newer, or Docker, plus at least one calendar provider. Google Calendar uses OAuth client credentials, Outlook requires an Azure AD application and `MICROSOFT_CLIENT_ID`, and CalDAV requires an app-specific password. The interactive setup command can guide provider authentication, timezone configuration, and MCP client setup.

Install the local server with `npx -y @temporal-cortex/cortex-mcp`. The documented MCP configurations use environment variables such as `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, and `TIMEZONE`. A managed Platform option is also available through the Temporal Cortex web application; it uses connected calendars and an API key instead of requiring a local Node.js setup.

## Tools and capabilities

The listed tools include:

- Discover calendars and events with `list_calendars` and `list_events`.
- Resolve identities and contacts with `resolve_identity`, `search_contacts`, and `resolve_contact`.
- Calculate time values with `resolve_datetime`, `convert_timezone`, `adjust_timestamp`, and `compute_duration`.
- Inspect availability with `find_free_slots`, `get_availability`, and `check_availability`.
- Book or propose meetings with `book_slot`, `request_booking`, and `compose_proposal`.
- Expand recurring schedules with `expand_rrule`.

Data-oriented tools default to TOON output, with JSON available through an explicit format option according to the README.

## Limitations and notes

Public availability queries and booking through another person’s Temporal Link require Platform Mode. Contact searching requires contacts permission. `request_booking` also requires an attendee email and returns a conflict if the requested slot has already been taken, so the agent should query availability again.

The local installation still requires provider credentials and configuration. The server does not send proposal messages itself; another channel-specific MCP server or integration must deliver the text returned by `compose_proposal`. temporal-cortex/mcp MCP server is distributed under the MIT license, while the managed Platform is a separate hosted usage path.

_Full upstream README: https://allmcps.com/mcp/temporal-cortex-mcp/readme_

