MCP Google Calendar Server

by iamapark

345 downloads
Not rated
GitHub

Description

# MCP Google Calendar Server MCP(Model Context Protocol) 기반의 Google Calendar 통합 서버입니다. Claude Desktop과 같은 MCP 클라이언트에서 Google Calendar에 일정을 추가할 수 있도록 지원합니다. ## 기능 - Google OAuth 2.0 인증 - Google Calendar 일정 추가 - Google Calendar 일정 조회 (기간별 조회 지원) - 오늘 날짜 조회 - 한국 시간대(KST) 지원 - 상세한…

About

# MCP Google Calendar Server MCP(Model Context Protocol) 기반의 Google Calendar 통합 서버입니다. Claude Desktop과 같은 MCP 클라이언트에서 Google Calendar에 일정을 추가할 수 있도록 지원합니다. ## 기능 - Google OAuth 2.0 인증 - Google Calendar 일정 추가 - Google Calendar 일정 조회 (기간별 조회 지원) - 오늘 날짜 조회 - 한국 시간대(KST) 지원 - 상세한 에러 처리 및 로깅 ## 설치 방법 1. 저장소 클론 ```bash git…

Details

Author
iamapark
Downloads
345
Categories
Productivity

- Google OAuth 2.0 authentication
- Add events to Google Calendar
- List calendar events by date range
- Get today's date in YYYY-MM-DD format
- Korean timezone (KST) support
- Detailed error handling and Pino logging

Install dependencies, configure GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET in a .env file, and set up the server in claude_desktop_config.json. Build with npm run build, then invoke tools such as addCalendarEvent or listCalendarEvents through Claude Desktop.

MCP Google Calendar Server

MCP(Model Context Protocol) 기반의 Google Calendar 통합 서버입니다. Claude Desktop과 같은 MCP 클라이언트에서 Google Calendar에 일정을 추가할 수 있도록 지원합니다.

기능

- Google OAuth 2.0 인증
- Google Calendar 일정 추가
- Google Calendar 일정 조회 (기간별 조회 지원)
- 오늘 날짜 조회
- 한국 시간대(KST) 지원
- 상세한 에러 처리 및 로깅

설치 방법

1. 저장소 클론

git clone [repository-url]
cd mcp-server-google-calendar

2. 의존성 설치

npm install

3. 환경 변수 설정
.env 파일을 생성하고 다음 내용을 추가합니다:

GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret

Google Cloud Console 설정

1. Google Cloud Console에서 새 프로젝트를 생성합니다.
2. Google Calendar API를 활성화합니다.
3. OAuth 2.0 클라이언트 ID를 생성합니다:
- 애플리케이션 유형: "데스크톱 앱"
- 생성된 클라이언트 ID와 시크릿을 .env 파일에 설정

Claude Desktop 연동 설정

1. Claude Desktop 설치

- Claude Desktop 다운로드
- MCP 기능은 웹 버전이 아닌 데스크톱 앱에서만 사용 가능합니다.

2. MCP 서버 설정

- ~/Library/Application Support/Claude/claude_desktop_config.json 파일을 생성하고 다음 내용을 추가합니다:

   {
     "mcp-server-google-calendar": {
       "command": "/usr/local/bin/node",
       "args": ["/{절대경로}/mcp-server-google-calendar/dist/main.js"],
       "env": {
         "GOOGLE_CLIENT_ID": "your_client_id",
         "GOOGLE_CLIENT_SECRET": "your_client_secret",
         "NODE_ENV": "production"
       }
     }
   }
   

설정 항목 설명:

- command: Node.js 실행 파일의 절대 경로
- args: 실행할 JavaScript 파일의 절대 경로 (TypeScript 빌드 후 생성되는 파일)
- cwd: 프로젝트의 작업 디렉토리 절대 경로
- env: 환경 변수 설정
- GOOGLE_CLIENT_ID: Google Cloud Console에서 생성한 클라이언트 ID
- GOOGLE_CLIENT_SECRET: Google Cloud Console에서 생성한 클라이언트 시크릿
- NODE_ENV: 실행 환경 설정

> 주의: 위 예시는 현재 설치된 경로를 기준으로 작성되었습니다. 다른 환경에서는 해당 환경의 절대 경로로 수정해야 합니다.

3. 빌드 및 준비

   # TypeScript 컴파일
   npm run build

# Node.js 실행 파일 위치 확인
which node

4. Claude Desktop 재시작
- 설정 적용을 위해 Claude Desktop을 재시작합니다.
- 상태 아이콘을 클릭하여 서버 연결 상태를 확인할 수 있습니다.
- 연결 문제 발생 시 로그를 확인합니다.

사용 가능한 도구

googleAuthLogin

Google Calendar API 인증을 수행합니다.

// Claude에서 사용 예시
tool("googleAuthLogin");

addCalendarEvent

Google Calendar에 새로운 일정을 추가합니다.

// Claude에서 사용 예시
tool("addCalendarEvent", {
  title: "회의",
  startTime: "2024-03-20 15:00", // YYYY-MM-DD HH:mm 형식
  duration: "60", // 분 단위
});

listCalendarEvents

특정 기간의 Google Calendar 일정을 조회합니다.

// Claude에서 사용 예시
tool("listCalendarEvents", {
  period: "2024-03-20~2024-03-27", // YYYY-MM-DD~YYYY-MM-DD 형식
});

getTodayDate

오늘 날짜를 YYYY-MM-DD 형식으로 반환합니다.

// Claude에서 사용 예시
tool("getTodayDate");

디버깅

로그 확인

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.