Calnode MCP
Самохостинг-планировщик встреч с встроенным MCP-сервером: агент смотрит слоты, бронирует, переносит и отменяет записи на звонки.
- 134 ★ репозитория
- Последний коммит
Широкий доступ
Почему такой уровень
- Агент создает, переносит и отменяет брони, а за этим следуют письма гостям и события в календарях.
- Сервис хранит персональные данные гостей и OAuth-доступы к календарям хозяев.
Установка
- Работает в
Ручная установка
docker run -p 3000:3000 -v ./data:/data ghcr.io/calnode/calnode:latestПервая команда быстрого старта из README. MCP-сервер встроен: `calnode mcp` по stdio или адрес `/mcp` по HTTP.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент создает, переносит и отменяет брони, а за этим следуют письма гостям и события в календарях.
- Сервис хранит персональные данные гостей и OAuth-доступы к календарям хозяев.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Calnode, планировщик в духе Calendly, поставляется одним бинарным файлом на Go с базой SQLite. MCP-сервер встроен в него: десять инструментов, среди них `get_available_slots`, `create_booking`, `reschedule_booking`, `cancel_booking`, `list_bookings`, `get_meeting_notes` и `get_transcript`. Они вызывают те же внутренние сервисы, что и REST API, поэтому письма, события календаря и вебхуки срабатывают так же. Для локального агента запускают `calnode mcp` по stdio. Для удаленного добавляют адрес `/mcp` как пользовательский коннектор Claude: Calnode сам выступает сервером OAuth 2.1 и просит войти через Google или Microsoft. Для скриптов подходит ключ API с префиксом `cno_`.
Для кого. Владельцам небольших сервисов и консультантам, которые сами хостят запись на звонки и хотят отдать ее ИИ-агенту.
Подходит, если
- Агент подбирает свободное время и бронирует звонок с клиентом по запросу на обычном языке.
- Планировщик нужно развернуть на дешевом VPS без Redis и Postgres.
- События бронирования уходят в n8n или Make через подписанные вебхуки.
- Агент читает заметки и расшифровку прошедшей встречи через `get_meeting_notes`.
Не подходит, если
- Нужна готовая облачная запись на встречи без собственного сервера.
- Вам нужны настраиваемые роли доступа: в Calnode их три, `owner`, `admin` и `member`.
- Требуется админ-панель не на английском: интерфейс администратора и видеокомната только английские.
Пример запроса к агенту
Найди слоты для типа события intro-call на следующей неделе по часовому поясу Окленда и забронируй вторник после обеда.MCP
- Транспорт
- stdio, http
- Авторизация
- OAuth
Переменные окружения
BASE_URL- Публичный адрес установки; нужен при развертывании.
CALNODE_ENCRYPTION_KEYсекрет- Ключ шифрования сохраненных учетных данных; при быстром старте создается сам.
CALNODE_RECOVERY_SECRETсекрет- Секрет восстановления для развертывания в продакшене.
DATABASE_URL- Адрес базы, например `sqlite:///data/calnode.db`.
Ограничения
Это целое приложение: его развертывают через Docker или бинарный файл, а не подключают одной командой. Удаленное подключение из Claude требует HTTPS и платного тарифа с пользовательскими коннекторами. Для локального `calnode mcp` OAuth не нужен, но агент получает полный доступ к локальной базе. Видео и расшифровка встреч требуют внешний LiveKit и Deepgram. Версия в README ранняя (`0.1`), а переводы интерфейса на ряд языков машинные.
Как отключить. Удалите коннектор из Claude или запись `calnode mcp` из конфигурации клиента. Отзовите ключи `cno_` и OAuth-согласия в настройках Calnode, затем остановите контейнер.
Частые вопросы
Как подключить Calnode к Claude?
В Claude откройте Settings, Connectors, Add custom connector и введите `https://<ваш-сервер>/mcp`. Затем нажмите Connect, войдите и разрешите доступ. Сервер должен работать по HTTPS.
Можно ли обойтись без OAuth?
Да. Локальный агент запускает `calnode mcp` по stdio, а скрипты используют ключ API `cno_` в заголовке Authorization.
Что может сделать агент-участник команды?
Роль `member` видит и меняет только брони, где он ведущий. Роли `owner` и `admin` работают со всем рабочим пространством.
Чем Calnode отличается от cal.com?
Автор противопоставляет их: один бинарный файл и SQLite вместо Redis и Postgres, вебхуки через API и встроенный MCP-сервер. Лицензия Apache-2.0.
Как развернуть Calnode?
Командой `docker run` с образом `ghcr.io/calnode/calnode:latest` либо из готовых бинарных архивов Linux на странице релизов. Для продакшена задают `BASE_URL`, `CALNODE_ENCRYPTION_KEY` и `CALNODE_RECOVERY_SECRET`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыСвой планировщик встреч на Cloudflare Workers со встроенным MCP-сервером: агент смотрит слоты, создает и переносит записи
Google Calendar MCP Server — календарь для Claude
Google Calendar MCP Server
MCP календарь для Claude Desktop: агент смотрит, создает, переносит и удаляет события Google Calendar, включая повторяющиеся, по запросу на обычном языке
MCP сервер для календаря macOS: агент создает, находит и меняет события естественным языком
MCP-сервер Яндекс Календаря
Яндекс Календарь MCP для Claude
MCP-сервер для Яндекс Календаря: просмотр, создание и удаление событий через пароль приложения
MCP-сервер Яндекс Календаря по CalDAV
yandex-calendar-mcp
MCP-сервер Яндекс Календаря по CalDAV: чтение расписания, создание и правка событий, приглашения с реальной отправкой писем
Подключает агента к Nextcloud: заметки, календарь, контакты, файлы, почта и доски Deck через 110 с лишним инструментов MCP
Коротко о README
Репозиторий описывает Calnode как компактную альтернативу cal.com и Calendly: страницы записи, платные брони через Stripe, интеграции с Zoom и Google или Microsoft Calendar, 88 эндпоинтов REST API и вебхуки с HMAC-подписью. Данные хранятся в SQLite, резервные копии идут через Litestream.