Google Calendar AutoAuth MCP Server

by falgom4
Verified

Google 캘린더 자동 인증 MCP 서버

Claude Desktop에서 Google 캘린더를 통합하고 자동 인증을 지원하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 AI 비서가 자연어 상호작용을 통해 Google 캘린더를 관리할 수 있습니다.

특징

  • 제목, 설명, 위치 및 참석자를 사용하여 캘린더 이벤트를 만듭니다.
  • 기존 캘린더 이벤트 업데이트
  • 캘린더 이벤트 삭제
  • 이벤트 세부 정보 검색
  • 지정된 시간 범위 내의 이벤트 나열
  • 키워드로 이벤트 검색
  • 사용 가능한 모든 달력을 나열합니다
  • 자연어 날짜/시간 입력 지원(예: "내일 오후 2시", "다음 월요일")
  • Google 캘린더 API와의 완벽한 통합
  • 자동 브라우저 실행을 통한 간단한 OAuth2 인증 흐름
  • 데스크톱 및 웹 애플리케이션 자격 증명 모두 지원
  • 편의성을 위한 글로벌 자격 증명 저장

설치 및 인증

수동 설치

  1. Google Cloud 프로젝트를 만들고 자격 증명을 얻으세요.a. Google Cloud 프로젝트 만들기:
    • Google Cloud Console 로 이동
    • 새 프로젝트를 만들거나 기존 프로젝트를 선택하세요
    • 프로젝트에 Google 캘린더 API를 활성화하세요

    b. OAuth 2.0 자격 증명을 생성합니다.

    • "API 및 서비스" > "자격 증명"으로 이동하세요.
    • "자격 증명 만들기" > "OAuth 클라이언트 ID"를 클릭하세요.
    • 애플리케이션 유형으로 "데스크톱 앱" 또는 "웹 애플리케이션"을 선택하세요.
    • 이름을 지정하고 "만들기"를 클릭하세요.
    • 웹 애플리케이션의 경우 권한이 부여된 리디렉션 URI에 http://localhost:3000/oauth2callback 추가합니다.
    • 클라이언트의 OAuth 키 JSON 파일을 다운로드하세요.
    • 키 파일의 이름을 gcp-oauth.keys.json 으로 바꾸세요.
  2. 인증 실행:두 가지 방법으로 인증할 수 있습니다.a. 글로벌 인증(권장):지엑스피1b. 로컬 인증:
    # Place gcp-oauth.keys.json in your current directory # The file will be automatically copied to global config npx @nchufa/calendar auth
    인증 과정은 다음과 같습니다.
    • 현재 디렉토리 또는 ~/.calendar-mcp/ 에서 gcp-oauth.keys.json 찾으세요.
    • 현재 디렉토리에서 발견되면 ~/.calendar-mcp/ 로 복사하세요.
    • Google 인증을 위해 기본 브라우저를 엽니다.
    • 자격 증명을 ~/.calendar-mcp/credentials.json 으로 저장합니다.

    메모 :

    • 인증이 성공하면 자격 증명은 ~/.calendar-mcp/ 에 전역적으로 저장되며 모든 디렉토리에서 사용할 수 있습니다.
    • 데스크톱 앱과 웹 애플리케이션 자격 증명이 모두 지원됩니다.
    • 웹 애플리케이션 자격 증명의 경우 권한이 있는 리디렉션 URI에 http://localhost:3000/oauth2callback 추가해야 합니다.
  3. 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일 후"
  • 요일 참조: "다음 월요일", "다음 화요일"
  • 결합된 형식: "내일 오후 2시", "월요일 오후 3시 30분"

이를 통해 자연어 명령을 사용하여 이벤트를 쉽게 만들고 업데이트할 수 있습니다.

보안 참고 사항

  • OAuth 자격 증명은 로컬 환경( ~/.calendar-mcp/ )에 안전하게 저장됩니다.
  • 서버는 오프라인 액세스를 사용하여 지속적인 인증을 유지합니다.
  • 버전 제어에 자격 증명을 공유하거나 커밋하지 마십시오.
  • Google 계정 설정에서 사용하지 않는 액세스 권한을 정기적으로 검토하고 취소하세요.

문제 해결

  1. OAuth 키를 찾을 수 없습니다
    • gcp-oauth.keys.json 이 현재 디렉토리 또는 ~/.calendar-mcp/ 에 있는지 확인하세요.
    • 파일 권한 확인
  2. 잘못된 자격 증명 형식
    • OAuth 키 파일에 web 또는 installed 자격 증명이 포함되어 있는지 확인하세요.
    • 웹 애플리케이션의 경우 리디렉션 URI가 올바르게 구성되었는지 확인하세요.
  3. 포트가 이미 사용 중입니다
    • 포트 3000이 이미 사용 중이면 인증을 실행하기 전에 포트를 비워주세요.
    • 해당 포트를 사용하여 프로세스를 찾아 중지할 수 있습니다.

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

특허

MIT

감사의 말

이 구현의 기반이 된 GongRzhe 와 그의 Calendar-Autoauth-MCP-Server 프로젝트에 특별히 감사드립니다.

지원하다

문제가 발생하거나 질문이 있는 경우 GitHub 저장소에 문제를 제출하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

AI 도우미가 이벤트 생성, 업데이트, 삭제, 캘린더 검색, 자연어 날짜/시간 입력 지원 등의 기능을 통해 자연어 상호작용을 통해 Google 캘린더를 관리할 수 있도록 지원합니다.

  1. Features
    1. Installation & Authentication
      1. Installing Manually
    2. Available Tools
      1. 1. Create Event (create_event)
      2. 2. Get Event (get_event)
      3. 3. Update Event (update_event)
      4. 4. Delete Event (delete_event)
      5. 5. List Events (list_events)
      6. 6. Search Events (search_events)
      7. 7. List Calendars (list_calendars)
    3. Natural Language Date/Time Support
      1. Security Notes
        1. Troubleshooting
          1. Contributing
            1. License
              1. Acknowledgments
                1. Support
                  ID: cyxk705ub0