gcal-mcp
Provides tools for interacting with Google Calendar, including listing calendars and events, creating events, updating event details or colors, and deleting events.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
gcal-mcp — Google Calendar для MCP-клиентов
Небольшой MCP-сервер (stdio, JSON-RPC) для работы с Google Calendar: читать события, создавать, переносить, красить. Работает с любым MCP-клиентом — DeepSeek Harness, Claude Code, Claude Desktop, Kimi Code CLI.
Что умеет
Инструмент | Что делает |
| список календарей аккаунта: id, название, права доступа |
| события за период, по возрастанию времени, с ID для правок |
| создать событие; без конца — ставит час |
| перенести, переименовать, поменять описание, место или цвет |
| удалить по ID |
Цвета — палитра Google, номера 1–11. Палитра и подсказки, как выбрать свою схему: ЦВЕТА.md. Схему сервер не навязывает: каким цветом что помечать — личное дело каждого.
Ограничений по календарям нет: можно работать и со своим основным, и с расшаренными (у них свои ID — их отдаёт list_calendars).
Related MCP server: @calendar-mcp/server
Требования
Node.js 20+
Свой проект в Google Cloud — обязателен. OAuth-клиент выдаётся приложению конкретного проекта, чужой не подойдёт.
Установка
git clone https://github.com/<ваш-аккаунт>/gcal-mcp.git
cd gcal-mcp
npm installДальше — доступ к календарю, один раз.
1. Google Cloud Console
console.cloud.google.com→ новый проект.APIs & Services → Library → включить Google Calendar API.
OAuth consent screen (новый интерфейс — Google Auth Platform → Get started): App information → Audience: External → Contact information → Create.
Audience → Test users → добавить свой Gmail. Без этого Google не пустит в приложение, пока оно в Testing.
Publish app — по желанию. Без публикации refresh-токен живёт 7 дней, потом вход повторяется.
Clients → Create client → Desktop app → скачать JSON.
Скачанный файл переименовать в credentials.json и положить рядом с server.mjs.
2. Авторизация
node oauth.mjsОткроется браузер. Выбрать аккаунт → «Дополнительно» → «Перейти в … (небезопасно)» → «Разрешить». Рядом появится token.json; дальше обновляется сам.
Проверка: node server.mjs печатает [calendar-mcp] готов, инструментов: 5.
Подключение к клиентам
DeepSeek Harness — в ~/.dsh/profiles/desktop/cordis.patch.yml, затем перезапуск:
- id: mcp-gcal
name: "@deepseek-ai/dsh-mcp-client"
config:
serverName: gcal
transport: stdio
command: node
args:
- "/абсолютный/путь/до/gcal-mcp/server.mjs"
toolCallTimeoutMs: 90000
failOnStartupError: falseClaude Code:
claude mcp add gcal -- node /абсолютный/путь/до/server.mjsClaude Desktop, Kimi и прочие — JSON:
{
"mcpServers": {
"gcal": {
"command": "node",
"args": ["/абсолютный/путь/до/gcal-mcp/server.mjs"]
}
}
}Авторизация общая: все клиенты читают один и тот же token.json, второй раз в браузере разрешать не нужно.
Обновление
cd gcal-mcp
git pull
npm installПерезапустить клиент (в DSH — полностью приложение, не окно). token.json и credentials.json не трогаются: они в .gitignore и лежат рядом.
Диагностика
Симптом | Причина |
| файл не скачан или лежит с другим именем |
| адрес не добавлен в Test users |
| токен отозван или истёк Testing-режим → |
| не включён Calendar API в проекте |
Инструменты не появились | сервер не стартовал → запустить |
Пустой ответ вместо событий | не тот |
Безопасность
token.json— полный доступ к календарю. Не публиковать, не пересылать, не коммитить (в.gitignore).credentials.jsonбезtoken.jsonбесполезен.Сервер обращается только к
accounts.google.com,oauth2.googleapis.com,www.googleapis.com. Никакой телеметрии.Отозвать доступ:
myaccount.google.com→ Безопасность → Сторонние приложения.
Устройство
server.mjs— MCP-сервер: описания инструментов, обработчики, авторизация по требованию.gcal.mjs— токены, обновление, обёртка над Google API.authflow.mjs— вход в браузере: loopback-сервер на127.0.0.1, обмен кода на токен.oauth.mjs— ручной запуск того же входа.Зависимость одна — официальный
@modelcontextprotocol/sdk.
Лицензия
MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Cronofy — read calendars, events and free/busy, and create, update or delete events.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Google Calendar through a unified MCP API for managing events, calendars, and related tools.MIT
- AlicenseNot gradedqualityDmaintenanceEnables MCP clients to manage Google Calendar events, including CRUD operations, recurring events, free/busy queries, and push notifications via webhooks.ISC
- AlicenseNot gradedqualityDmaintenanceEnables seamless Google Calendar integration with MCP-compatible clients, allowing creation, viewing, updating, and deletion of calendar events via OAuth 2.0 authentication.MIT
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Google Calendar via MCP, allowing users to list, get, search, and create events as well as list accessible calendars.-