Google Calendar AutoAuth MCP-сервер
Сервер Model Context Protocol (MCP) для интеграции Google Calendar в Claude Desktop с поддержкой автоматической аутентификации. Этот сервер позволяет помощникам ИИ управлять Google Calendar посредством взаимодействия на естественном языке.
Функции
Создавайте события календаря с названием, описанием, местом и участниками
Обновите существующие события календаря
Удалить события календаря
Получить сведения о событии
Список событий в указанном диапазоне времени
Поиск событий по ключевому слову
Список всех доступных календарей
Поддержка ввода даты/времени на естественном языке (например, «завтра в 14:00», «следующий понедельник»)
Полная интеграция с API Календаря Google
Простой процесс аутентификации OAuth2 с автоматическим запуском браузера
Поддержка учетных данных как настольных, так и веб-приложений
Глобальное хранилище учетных данных для удобства
Related MCP server: Google Calendar MCP Server
Установка и аутентификация
Установка через Smithery
Чтобы автоматически установить сервер интеграции Google Calendar для Claude Desktop через Smithery :
npx -y @smithery/cli install @falgom4/calendar-mcp --client claudeУстановка вручную
Создайте проект Google Cloud и получите учетные данные:
а. Создайте проект Google Cloud:
Перейти в Google Cloud Console
Создайте новый проект или выберите существующий
Включите API Google Calendar для вашего проекта
б) Создайте учетные данные OAuth 2.0:
Перейдите в раздел «API и службы» > «Учетные данные».
Нажмите «Создать учетные данные» > «Идентификатор клиента OAuth».
Выберите тип приложения: «Приложение для настольного компьютера» или «Веб-приложение».
Дайте ему имя и нажмите «Создать».
Для веб-приложения добавьте
http://localhost:3000/oauth2callbackк разрешенным URI перенаправления.Загрузите JSON-файл ключей OAuth вашего клиента
Переименуйте файл ключа в
gcp-oauth.keys.json
Запустить аутентификацию:
Аутентификацию можно пройти двумя способами:
а. Глобальная аутентификация (рекомендуется):
# First time: Place gcp-oauth.keys.json in your home directory's .calendar-mcp folder mkdir -p ~/.calendar-mcp mv gcp-oauth.keys.json ~/.calendar-mcp/ # Run authentication from anywhere npx @nchufa/calendar authб) Локальная аутентификация:
# Place gcp-oauth.keys.json in your current directory # The file will be automatically copied to global config npx @nchufa/calendar authПроцесс аутентификации будет:
Найдите
gcp-oauth.keys.jsonв текущем каталоге или~/.calendar-mcp/Если файл найден в текущем каталоге, скопируйте его в
~/.calendar-mcp/Откройте браузер по умолчанию для аутентификации Google
Сохранить учетные данные как
~/.calendar-mcp/credentials.json
Примечание :
После успешной аутентификации учетные данные сохраняются глобально в
~/.calendar-mcp/и могут быть использованы из любого каталога.Поддерживаются учетные данные как настольного приложения, так и веб-приложения.
Для учетных данных веб-приложения обязательно добавьте
http://localhost:3000/oauth2callbackк вашим авторизованным URI перенаправления.
Настройте в Claude Desktop:
Добавьте следующее в файл конфигурации Claude Desktop:
{
"mcpServers": {
"calendar": {
"command": "npx",
"args": [
"@nchufa/calendar"
]
}
}
}Доступные инструменты
Сервер предоставляет следующие инструменты, которые можно использовать через Claude Desktop:
1. Создать событие ( create_event )
Создает новое событие календаря.
{
"summary": "Team Meeting",
"description": "Weekly team sync to discuss project progress",
"location": "Conference Room A",
"start": "2025-04-01T14:00:00",
"end": "2025-04-01T15:00:00",
"attendees": ["colleague@example.com", "manager@example.com"],
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "email",
"minutes": 30
},
{
"method": "popup",
"minutes": 10
}
]
}
}Также поддерживается дата/время на естественном языке:
{
"summary": "Coffee with John",
"location": "Starbucks Downtown",
"start": "tomorrow at 2:30pm",
"end": "tomorrow at 3:30pm"
}2. Получить событие ( get_event )
Извлекает сведения о конкретном событии календаря.
{
"eventId": "abc123xyz456",
"calendarId": "primary"
}3. Обновление события ( update_event )
Обновляет существующее событие календаря.
{
"eventId": "abc123xyz456",
"summary": "Updated Meeting Title",
"location": "New Location",
"start": "2025-04-01T15:00:00",
"end": "2025-04-01T16:00:00"
}4. Удалить событие ( delete_event )
Удаляет событие календаря.
{
"eventId": "abc123xyz456",
"calendarId": "primary"
}5. Список событий ( list_events )
Перечисляет события календаря в указанном диапазоне времени.
{
"calendarId": "primary",
"timeMin": "2025-04-01T00:00:00",
"timeMax": "2025-04-07T23:59:59",
"maxResults": 10,
"orderBy": "startTime"
}6. Поиск событий ( search_events )
Поиск событий, соответствующих запросу.
{
"query": "meeting",
"calendarId": "primary",
"timeMin": "2025-04-01T00:00:00",
"maxResults": 5
}7. Список календарей ( list_calendars )
Список всех доступных календарей.
{}Поддержка даты/времени на естественном языке
Сервер поддерживает различные форматы естественного языка для дат и времени:
Конкретные даты: "2025-04-01T14:00:00" (формат ISO)
Простые ссылки: «сегодня», «завтра», «сейчас».
Относительное время: «через 2 часа», «через 3 дня».
Ссылки на дни: «следующий понедельник», «следующий вторник»
Комбинированные форматы: «завтра в 14:00», «понедельник в 15:30»
Это позволяет легко создавать и обновлять события с использованием инструкций на естественном языке.
Заметки о безопасности
Учетные данные OAuth надежно хранятся в вашей локальной среде (
~/.calendar-mcp/)Сервер использует автономный доступ для поддержания постоянной аутентификации.
Никогда не передавайте и не передавайте свои учетные данные в систему контроля версий.
Регулярно проверяйте и отзывайте неиспользуемый доступ в настройках вашего аккаунта Google.
Поиск неисправностей
Ключи OAuth не найдены
Убедитесь, что
gcp-oauth.keys.jsonнаходится либо в вашем текущем каталоге, либо в~/.calendar-mcp/Проверьте права доступа к файлу
Неверный формат учетных данных
Убедитесь, что ваш файл ключей OAuth содержит
webилиinstalledучетные данные.Для веб-приложений проверьте правильность настройки URI перенаправления.
Порт уже используется
Если порт 3000 уже используется, освободите его перед запуском аутентификации.
Вы можете найти и остановить процесс, используя этот порт.
Внося вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.
Лицензия
Массачусетский технологический институт
Благодарности
Особая благодарность GongRzhe и его проекту Calendar-Autoauth-MCP-Server , который послужил основой для этой реализации.
Поддерживать
Если у вас возникли какие-либо проблемы или есть вопросы, пожалуйста, сообщите о проблеме в репозитории GitHub.