# Temporal Cortex Calendar MCP

18 инструментов для календаря: находит контакт, считает свободное время в нужном часовом поясе и бронирует слот без пересечений с уже занятыми.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 13
- Автор: temporal-cortex
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/temporal-cortex/mcp
- Обновлён: 2026-08-31
- HTML: https://affpapa.org/nevibecode/mcp/temporal-cortex-calendar-mcp

## Что делает

Сервер ставится через `npx` и даёт агенту набор инструментов по пяти слоям. Сначала агент вызывает `get_temporal_context` и `resolve_datetime`, чтобы превратить «следующий вторник в два» в точную отметку времени в нужном поясе. Потом `get_availability` сводит данные занятости из нескольких календарей в одну картину, а бронирование идёт через двухфазную фиксацию: слот захватывается, проверяется на конфликты и только после этого записывается. Если два агента метят на одно время, проходит один.

Повторяющиеся события раскрывает встроенный движок, а не догадка языковой модели: переходы на летнее время, последний будний день месяца, исключения с часовыми поясами, лишние интервалы в повторениях. По умолчанию данные приходят в формате TOON, JSON включается полем `format`.

Заранее нужен Node.js 18+ или Docker и хотя бы один календарь. Для Google Calendar — OAuth-креды, для Outlook — регистрация приложения в Azure AD с `MICROSOFT_CLIENT_ID`, для CalDAV-провайдеров вроде iCloud и Fastmail — пароль приложения. Без ключей и пароля провайдера авторизация не пройдёт, и инструменты календаря останутся пустыми. Мастер `npx @temporal-cortex/cortex-mcp setup` проводит по входу в провайдер и часовому поясу интерактивно.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `GOOGLE_OAUTH_CREDENTIALS`, `MICROSOFT_CLIENT_ID`, `MICROSOFT_CLIENT_SECRET`, `TIMEZONE`, `WEEK_START`, `TENANT_ID`, `LOCK_TTL_SECS`, `OAUTH_REDIRECT_PORT` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
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
```
Вместо <…> подставьте свои значения. Ещё 10 переменных окружения — в README сервера

### Codex

**Командой платформы**
```bash
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-mcp
```
Вместо <…> подставьте свои значения. Ещё 10 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 10 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 10 переменных окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
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-mcp
```
Вместо <…> подставьте свои значения. Ещё 10 переменных окружения — в README сервера

## Когда брать
- Свести занятость из личного и рабочего календаря в одну картину
- Перевести «в следующую пятницу после обеда» в точное время с часовым поясом
- Забронировать встречу вдвоём без риска получить два бронирования на один слот
- Раскрыть повторяющееся событие с учётом перехода на летнее время
- Найти общий свободный час у нескольких участников

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
