We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/huntkil/mcp_simple'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
# ๐๏ธ Google Calendar ์ฐ๋ ๊ธฐ๋ฅ ๊ตฌํ ์๋ฃ
## โ
๊ตฌํ๋ ๊ธฐ๋ฅ
### 1๏ธโฃ ํต์ฌ ์ปดํฌ๋ํธ
- **GoogleCalendarConnector**: Google Calendar API ์ฐ๋ ํด๋์ค
- **CalendarTrainingService**: ClariVein ํ๋ จ ์ผ์ ๊ด๋ฆฌ ์๋น์ค
- **Calendar Routes**: REST API ์๋ํฌ์ธํธ ์ ๊ณต
- **Type Definitions**: TypeScript ํ์
์ ์
### 2๏ธโฃ ์ฃผ์ ๊ธฐ๋ฅ
- **์๋ ํ๋ จ ์ผ์ ์์ฑ**: ์์ ํ 12์ฃผ๊ฐ ์ฒด๊ณ์ ํ๋ จ ์ผ์
- **์๋ฃ ๊ฒ์ง ์ผ์ **: ์ด์ํ ๊ฒ์ฌ, ์๋ด ๋ฑ ์๋ฃ ์ผ์ ์๋ ์ถ๊ฐ
- **๋จ๊ณ๋ณ ์ด๋ ํ๋ก๊ทธ๋จ**: ์ ์ถฉ๊ฒฉ์ ์ฐ์ โ ๋ง๋ผํคํ๋ จ 5๋จ๊ณ
- **์ค๋งํธ ์๋ฆผ**: ๊ฐ ๋จ๊ณ๋ณ ๋ง์ถค ์๋ฆผ ์ค์
- **์งํ ์ํฉ ์ถ์ **: ํ๋ จ ์๋ฃ ํ์ ๋ฐ ๋
ธํธ ์ถ๊ฐ
### 3๏ธโฃ API ์๋ํฌ์ธํธ
```
POST /api/calendar/training/schedule - ํ๋ จ ์ผ์ ์์ฑ
GET /api/calendar/training/schedule/:date - ํน์ ๋ ์ง ์ผ์ ์กฐํ
PATCH /api/calendar/training/complete/:eventId - ํ๋ จ ์๋ฃ ํ์
GET /api/calendar/auth/url - ์ธ์ฆ URL ์์ฑ
GET /api/calendar/auth/status - ์ธ์ฆ ์ํ ํ์ธ
GET /api/calendar/calendars - ์บ๋ฆฐ๋ ๋ชฉ๋ก ์กฐํ
POST /api/calendar/calendars - ์ ์บ๋ฆฐ๋ ์์ฑ
```
## ๐ ๋น ๋ฅธ ์์ ๊ฐ์ด๋
### 1๋จ๊ณ: ์ค์ ํ์ผ ์
๋ฐ์ดํธ
`config/server-config.json`์ Google Calendar ์ค์ ์ถ๊ฐ:
```json
{
"googleCalendar": {
"clientId": "YOUR_GOOGLE_CLIENT_ID",
"clientSecret": "YOUR_GOOGLE_CLIENT_SECRET",
"redirectUri": "http://localhost:4000/auth/google/callback",
"defaultTrainingTime": "07:00",
"defaultLocations": {
"gym": "ํฌ์ค์ฅ",
"park": "๊ณต์",
"hospital": "๋ณ์"
}
}
}
```
### 2๋จ๊ณ: ์์กด์ฑ ์ค์น
```bash
npm install googleapis google-auth-library
```
### 3๋จ๊ณ: ํ๋ก์ ํธ ๋น๋
```bash
npm run build
npm start
```
### 4๋จ๊ณ: Google Calendar ์ธ์ฆ
1. ์ธ์ฆ URL ์์ฑ: `GET /api/calendar/auth/url`
2. ๋ธ๋ผ์ฐ์ ์์ ์ธ์ฆ ์งํ
3. ์ธ์ฆ ์ํ ํ์ธ: `GET /api/calendar/auth/status`
### 5๋จ๊ณ: ํ๋ จ ์ผ์ ์์ฑ
```bash
curl -X POST http://localhost:4000/api/calendar/training/schedule \
-H "Content-Type: application/json" \
-d '{
"operationDate": "2024-01-01",
"currentDaysSinceOperation": 8,
"trainingTime": "07:00",
"location": {
"gym": "์คํฌ์ธ ์ผํฐ",
"park": "ํ๊ฐ๊ณต์",
"hospital": "๊ฐ๋จ๋ณ์"
},
"includeWeekends": true,
"includeMedicalSchedule": true
}'
```
## ๐ ํ๋ จ ์ผ์ ํ
ํ๋ฆฟ
### 1-2์ฃผ์ฐจ: ์ ์ถฉ๊ฒฉ ์ ์ฐ์
- ๊ณ ์ ์ ์์ ๊ฑฐ, ๊ฑท๊ธฐ, ์์ฒด ์ด๋
- ์๋ฐ ์คํํน ์ฐฉ์ฉ ํ์
- ์ข
์๋ฆฌ ์ํ ์ง์ ๋ชจ๋ํฐ๋ง
### 3-4์ฃผ์ฐจ: ์กฐ๊น
๋์
- ์ฒซ ์กฐ๊น
์๋ (5๋ถ ๊ฐ๊ฒฉ)
- ์ ์ง์ ๊ฐ๋ ์ฆ๊ฐ
- ์๋ฐ ์ฌ๋ฆฌ๋ธ ์ฐฉ์ฉ
### 5-6์ฃผ์ฐจ: ์ฐ์ ๋ฌ๋ฆฌ๊ธฐ
- 30๋ถ ์ฐ์ ์กฐ๊น
๋ชฉํ
- ์ฅ๊ฑฐ๋ฆฌ ์ง๊ตฌ๋ ฅ ํฅ์
- ์ ๊ธฐ์ ์ํ ์ ๊ฒ
### 7-8์ฃผ์ฐจ: ๊ตฌ์กฐํ๋ ์ด๋
- 40๋ถ ์ฐ์ ๋ฌ๋ฆฌ๊ธฐ
- ๊ณ ๊ฐ๋ ์ด๋ ์ ์
- ๋ง๋ผํค ํ๋ จ ์ค๋น
### 9-12์ฃผ์ฐจ: ๋ง๋ผํค ํ๋ จ
- ๋ณธ๊ฒฉ์ ์ธ ๋ง๋ผํค ํ๋ จ
- ํ
ํฌ ๋ฐ, ์ธํฐ๋ฒ ํ๋ จ
- ์ต์ข
์๋ฃ์ง ์น์ธ
## ๐ง ์ปค์คํฐ๋ง์ด์ง
### ํ๋ จ ํ
ํ๋ฆฟ ์์
`src/services/calendar-training-service.ts`์์ ํ๋ จ ๋ด์ฉ ์์ ๊ฐ๋ฅ:
```typescript
{
phase: '์ ์ถฉ๊ฒฉ์ ์ฐ์',
daysSinceOperation: 8,
title: 'ClariVein ํ๋ณต - ์ ์ถฉ๊ฒฉ ์ ์ฐ์ ์์',
duration: 60,
activities: ['๊ณ ์ ์ ์์ ๊ฑฐ 15๋ถ', '์์ฒด ์คํธ๋ ์นญ 10๋ถ'],
notes: '์ฒซ ์ด๋ ์ฌ๊ฐ, ๋ฌด๋ฆฌํ์ง ๋ง๊ณ ๋ชธ ์ํ ํ์ธ',
checkpoints: ['์๋ฐ ์คํํน ์ฐฉ์ฉ', '์ข
์๋ฆฌ ์ํต ์ฒดํฌ']
}
```
### ์๋ฃ ์ผ์ ์ค์
```typescript
{
type: 'ultrasound',
daysSinceOperation: 14,
title: '์ด์ํ ๊ฒ์ฌ',
description: '2์ฃผ์ฐจ ์๋ฃ ํ ์ด์ํ ๊ฒ์ฌ๋ก ์ ๋งฅ ํ์ ์ํ ํ์ธ',
reminders: [
{ method: 'popup', minutes: 1440 }, // ํ๋ฃจ ์
{ method: 'popup', minutes: 120 } // 2์๊ฐ ์
]
}
```
## ๐ฑ ๋ชจ๋ฐ์ผ ์ฐ๋
### Google Calendar ์ฑ
- ์๋ ๋๊ธฐํ๋ก ๋ชจ๋ ๊ธฐ๊ธฐ์์ ์ผ์ ํ์ธ
- ํ๋ จ 30๋ถ ์ ์๋ฆผ ์๋ ์ค์
- ์๋ฃ ์ผ์ ํ๋ฃจ ์ ์๋ฆผ
### ์์ ฏ ํ์ฉ
- ํ ํ๋ฉด ์์ ฏ์ผ๋ก ์ค๋์ ํ๋ จ ์ผ์ ํ์ธ
- ๋น ๋ฅธ ์๋ฃ ์ฒดํฌ ๋ฐ ๋
ธํธ ์ถ๊ฐ
## ๐ ๋ณด์ ๊ณ ๋ ค์ฌํญ
### ํ ํฐ ๊ด๋ฆฌ
- Access Token๊ณผ Refresh Token ์์ ์ ์ฅ
- ์๋ ํ ํฐ ๊ฐฑ์ ์ฒ๋ฆฌ
- ํ๊ฒฝ ๋ณ์ ์ฌ์ฉ ๊ถ์ฅ
### ๋ฐ์ดํฐ ๋ณดํธ
- ๊ฐ์ธ ๊ฑด๊ฐ ์ ๋ณด ์ํธํ
- HTTPS ์ฌ์ฉ ํ์ (ํ๋ก๋์
)
- ์ต์ ๊ถํ ์์น ์ ์ฉ
## ๐ ์ค์ ์ฌ์ฉ ์์
### ํ์ฌ ์ํฉ: ์์ ํ 8์ผ์งธ
**์์ฑ๋๋ ์ผ์ :**
- ์ฆ์ ์์ ๊ฐ๋ฅํ ์ ์ถฉ๊ฒฉ ์ ์ฐ์ ์ด๋
- 2์ฃผ ํ ์ด์ํ ๊ฒ์ฌ ์์ฝ
- 4์ฃผ ํ ์๋ฃ์ง ์๋ด ์์ฝ
- ๋จ๊ณ๋ณ 76๊ฐ ํ๋ จ ์ผ์ ์๋ ์์ฑ
### ์ค๋งํธ ์๋ฆผ ์์คํ
- ํ๋ จ 30๋ถ ์ : "์ค๋์ ClariVein ํ๋ณต ํ๋ จ ์ค๋นํ์ธ์"
- ์๋ฃ ์ผ์ ํ๋ฃจ ์ : "๋ด์ผ ์ด์ํ ๊ฒ์ฌ ์์ฝ์ด ์์ต๋๋ค"
- ๋ง์ผ์คํค ๋ฌ์ฑ ์: "2์ฃผ์ฐจ ์๋ฃ! ๋ค์ ๋จ๊ณ ์ค๋น๋จ"
## ๐ฏ ํฅํ ๊ฐ์ ์ฌํญ
### 1๏ธโฃ AI ๊ธฐ๋ฐ ๊ฐ์ธํ
- ๊ฐ์ธ ํ๋ณต ์๋์ ๋ฐ๋ฅธ ์ผ์ ์๋ ์กฐ์
- ์ด๋ ๊ฐ๋ ์ค๋งํธ ์ถ์ฒ
- ์ปจ๋์
๊ธฐ๋ฐ ์ผ์ ์ต์ ํ
### 2๏ธโฃ ์จ์ด๋ฌ๋ธ ์ฐ๋
- Apple Watch, Fitbit ์ฐ๋
- ์ค์๊ฐ ์ฌ๋ฐ์ ๋ชจ๋ํฐ๋ง
- ์ด๋ ๊ฐ๋ ์๋ ์กฐ์
### 3๏ธโฃ ์๋ฃ์ง ๋์๋ณด๋
- ํ์ ์งํ ์ํฉ ์ค์๊ฐ ๋ชจ๋ํฐ๋ง
- ์๊ฒฉ ์๋ด ์ผ์ ๊ด๋ฆฌ
- ํ๋ณต ๋ฐ์ดํฐ ๋ถ์ ๋ฆฌํฌํธ
## ๐จ ์ฃผ์์ฌํญ
### ์๋ฃ ๋ฉด์ฑ
- ์ด ์์คํ
์ ์๋ฃ ์กฐ์ธ์ ๋์ฒดํ์ง ์์ต๋๋ค
- ๋ชจ๋ ์ด๋ ๊ณํ์ ๋ด๋น ์๋ฃ์ง๊ณผ ์์ ํ์
- ์ด์ ์ฆ์ ๋ฐ์ ์ ์ฆ์ ์๋ฃ์ง ์๋ด
### ์์ ์์น
- ๊ฐ ๋จ๊ณ๋ณ ์ฒดํฌํฌ์ธํธ ํ์ ํ์ธ
- ๋ฌด๋ฆฌํ ์ด๋ ๊ธ์ง
- ์๋ฐ ์ฐฉ์ฉ ์ํ ์ง์ ๋ชจ๋ํฐ๋ง
---
**โจ ์ด์ ClariVein ์์ ํ ์ฒด๊ณ์ ์ธ ๋ง๋ผํค ๋ณต๊ท๊ฐ ๊ฐ๋ฅํฉ๋๋ค!**
Google Calendar์ ์ฐ๋๋ ์ค๋งํธ ํ๋ จ ์์คํ
์ผ๋ก ์์ ํ๊ณ ํจ๊ณผ์ ์ธ ํ๋ณต ๊ณผ์ ์ ๊ฒฝํํ์ธ์.