Temporal Cortex Calendar MCP — Claude Code MCP server: what it does
18 calendar tools for your agent: it looks up the contact, works out free time in the right zone and books the slot without clashing with anything already there.
claude mcp add --env GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> --env GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> --env GOOGLE_OAUTH_CREDENTIALS=<GOOGLE_OAUTH_CREDENTIALS> --env MICROSOFT_CLIENT_ID=<MICROSOFT_CLIENT_ID> --env MICROSOFT_CLIENT_SECRET=<MICROSOFT_CLIENT_SECRET> --transport stdio temporal-cortex-calendar-mcp -- npx -y @temporal-cortex/cortex-mcpWhat Temporal Cortex Calendar MCP does
The server runs through npx and hands an agent tools spread over five layers. The agent starts with get_temporal_context and resolve_datetime, so a phrase like “next Tuesday at 2pm” becomes an exact timestamp in the right timezone. From there get_availability folds busy data from several calendars into one view. Booking uses two-phase commit: hold the slot, confirm nothing overlaps, then write. When two agents reach for the same hour, one wins and the other gets a clear error.
Recurring events are expanded by a deterministic engine rather than guessed by the model. That covers daylight-saving shifts, the last weekday of a month, exclusions that carry timezones, and repeat intervals above one. Output defaults to TOON, which the project reports as roughly 40% fewer tokens than JSON; pass format to get JSON instead.
Prerequisites are Node.js 18+ or Docker plus at least one calendar. Google Calendar wants OAuth credentials; Outlook wants an Azure AD app registration and MICROSOFT_CLIENT_ID; CalDAV providers such as iCloud and Fastmail want an app-specific password. Miss the provider credentials and the auth flow stops, leaving the calendar tools empty. The npx @temporal-cortex/cortex-mcp setup wizard walks through provider login and timezone interactively.
What it helps with
- Merge personal and work calendars into one availability view
- Turn a loose phrase like “Friday after lunch” into a precise timestamp
- Book a meeting between two people without double-booking the slot
- Expand a recurring event across a daylight-saving change
- Find a free hour that suits several attendees
Example prompts for the agent
- Check whether I'm free Tuesday at 3pm Berlin time and show the next open windows
- Find the contact for Anna in my calendar and offer her two slots this week
- Book a 45-minute team meeting next Thursday at 11:00 and confirm nothing overlaps
How to install Temporal Cortex Calendar MCP
Platform CLI
claude mcp add --env GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> --env GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> --env GOOGLE_OAUTH_CREDENTIALS=<GOOGLE_OAUTH_CREDENTIALS> --env MICROSOFT_CLIENT_ID=<MICROSOFT_CLIENT_ID> --env MICROSOFT_CLIENT_SECRET=<MICROSOFT_CLIENT_SECRET> --transport stdio temporal-cortex-calendar-mcp -- npx -y @temporal-cortex/cortex-mcpReplace <…> with your own values. 10 more environment variables are in the server README
Platform CLI
codex mcp add temporal-cortex-calendar-mcp --env GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> --env GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> --env GOOGLE_OAUTH_CREDENTIALS=<GOOGLE_OAUTH_CREDENTIALS> --env MICROSOFT_CLIENT_ID=<MICROSOFT_CLIENT_ID> --env MICROSOFT_CLIENT_SECRET=<MICROSOFT_CLIENT_SECRET> -- npx -y @temporal-cortex/cortex-mcpReplace <…> with your own values. 10 more environment variables are in the server README
Config file
{
"mcpServers": {
"temporal-cortex-calendar-mcp": {
"command": "npx",
"args": [
"-y",
"@temporal-cortex/cortex-mcp"
],
"env": {
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"GOOGLE_OAUTH_CREDENTIALS": "<GOOGLE_OAUTH_CREDENTIALS>",
"MICROSOFT_CLIENT_ID": "<MICROSOFT_CLIENT_ID>",
"MICROSOFT_CLIENT_SECRET": "<MICROSOFT_CLIENT_SECRET>"
}
}
}
}Replace <…> with your own values. 10 more environment variables are in the server README
Config file
{
"servers": {
"temporal-cortex-calendar-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@temporal-cortex/cortex-mcp"
],
"env": {
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"GOOGLE_OAUTH_CREDENTIALS": "<GOOGLE_OAUTH_CREDENTIALS>",
"MICROSOFT_CLIENT_ID": "<MICROSOFT_CLIENT_ID>",
"MICROSOFT_CLIENT_SECRET": "<MICROSOFT_CLIENT_SECRET>"
}
}
}
}Replace <…> with your own values. 10 more environment variables are in the server README
Platform CLI
gemini mcp add -e GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -e GOOGLE_OAUTH_CREDENTIALS=<GOOGLE_OAUTH_CREDENTIALS> -e MICROSOFT_CLIENT_ID=<MICROSOFT_CLIENT_ID> -e MICROSOFT_CLIENT_SECRET=<MICROSOFT_CLIENT_SECRET> temporal-cortex-calendar-mcp npx -y @temporal-cortex/cortex-mcpReplace <…> with your own values. 10 more environment variables are in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Temporal Cortex Calendar MCP
How do I install Temporal Cortex Calendar MCP in Claude Code?
Run `claude mcp add mcp -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -e MICROSOFT_CLIENT_SECRET=<MICROSOFT_CLIENT_SECRET> -- npx -y @temporal-cortex/cortex-mcp. To pass every credential and set the transport explicitly, use claude mcp add --env GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> --env GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> --env GOOGLE_OAUTH_CREDENTIALS=<GOOGLE_OAUTH_CREDENTIALS> --env MICROSOFT_CLIENT_ID=<MICROSOFT_CLIENT_ID> --env MICROSOFT_CLIENT_SECRET=<MICROSOFT_CLIENT_SECRET> --transport stdio temporal-cortex-calendar-mcp -- npx -y @temporal-cortex/cortex-mcp`.
What does Temporal Cortex Calendar MCP do?
It equips an AI agent with calendar operations: resolving contacts, computing time and timezone, summarising availability across providers, and booking a slot only after a conflict check.
Which calendar providers work with it?
Google Calendar, Microsoft Outlook and CalDAV, iCloud and Fastmail included. Each needs its own credentials: Google OAuth, an Azure AD registration, or an app-specific password.