TickTick Calendar MCP Server
by plhyun22
README.md
# TickTick Calendar MCP Server
사내 일정관리 앱(TickTick)과 Obsidian(Claude Code) 연동을 위한 MCP 서버입니다.
## 설치
### 1. 클론
```bash
git clone https://github.com/plhyun22/ticktick-mcp-server.git
cd ticktick-mcp-server
npm install
```
### 2. 환경변수 설정
```bash
cp .env.example .env
```
`.env` 파일을 열어 아래 두 값을 설정합니다:
```env
CALENDAR_SERVER_URL=http://[서버IP]:4000 # 관리자에게 문의
MCP_API_KEY=... # 관리자에게 문의
```
### 3. Claude Code에 MCP 등록
`~/.claude/settings.json` 파일에 아래 내용을 추가합니다:
```json
{
"mcpServers": {
"ticktick-calendar": {
"command": "node",
"args": ["<클론한 경로>/index.js"],
"env": {
"CALENDAR_SERVER_URL": "http://[서버IP]:4000",
"MCP_API_KEY": "..."
}
}
}
}
```
> **자동 설치**: 아래 Claude Code 설치 프롬프트를 사용하면 위 과정을 자동으로 처리합니다.
---
## Claude Code 자동 설치 프롬프트
아래 텍스트를 복사하여 Claude Code 채팅창에 붙여넣으세요.
`[서버IP]`, `[API_KEY]`, `[클론경로]`는 관리자에게 받은 값으로 교체하세요.
```
다음 작업을 순서대로 수행해줘:
1. 아래 경로에 ticktick-mcp-server 폴더를 만들고 이 저장소를 클론해줘:
- Windows: C:\Users\{사용자명}\ticktick-mcp-server
- Mac/Linux: ~/ticktick-mcp-server
git clone https://github.com/plhyun22/ticktick-mcp-server.git <위 경로>
2. 클론한 폴더에서 npm install 실행
3. 클론한 폴더에 .env 파일 생성:
CALENDAR_SERVER_URL=http://[서버IP]:4000
MCP_API_KEY=[API_KEY]
4. 홈 디렉토리의 .claude/settings.json 파일을 열어서 (없으면 생성)
mcpServers 항목에 아래 내용을 추가해줘:
{
"ticktick-calendar": {
"command": "node",
"args": ["<클론경로>/index.js"],
"env": {
"CALENDAR_SERVER_URL": "http://[서버IP]:4000",
"MCP_API_KEY": "[API_KEY]"
}
}
}
5. 설정 완료 후 사용 가능한 MCP 툴 목록을 알려줘.
```
---
## Claude Code 업데이트 프롬프트
MCP 서버가 업데이트됐을 때 아래 텍스트를 복사하여 Claude Code 채팅창에 붙여넣으세요.
```
ticktick MCP 업데이트 해줘. ~/.claude/settings.json 에서 ticktick-calendar MCP 서버의 index.js 경로를 찾아서, 그 상위 폴더(git 저장소)에서 git pull 실행하고 결과 알려줘. 완료되면 Claude Code 재시작이 필요하다고 안내해줘.
```
---
## 사용 가능한 MCP 툴
| 툴 | 설명 |
|----|------|
| `list_users` | 팀원 프로필 목록 조회 (user_id 확인용) |
| `list_calendars` | 전체 캘린더 목록 조회 (calendar_id 확인용) |
| `parse_and_register` | 마크다운 텍스트 → AI 파싱 → 캘린더 등록 |
| `register_file` | 로컬 .md 파일 경로 → 직접 읽어서 등록 |
### 파라미터
`parse_and_register` / `register_file` 공통:
| 파라미터 | 필수 | 설명 |
|----------|------|------|
| `content` / `file_path` | ✓ | 파싱할 텍스트 또는 파일 경로 |
| `calendar_id` | ✓ | 등록할 캘린더 ID (`list_calendars`로 확인) |
| `user_id` | - | 작성자 유저 ID (`list_users`로 확인) — 생략 시 캘린더 소유자로 등록 |
### 사용 예시
**팀 캘린더에 파일 등록**
```
이 파일을 팀 캘린더에 등록해줘: /path/to/wiki/8월업무계획.md
```
**개인 일정 등록 (프로필 지정)**
```
아래 내용을 차태현 씨 캘린더에 일정으로 등록해줘:
- 8월 5일 오후 2시 서버 점검
- 8월 12일 팀 미팅
```
**팀 일정 등록**
```
아래 내용을 팀 캘린더에 일정으로 등록해줘:
- 8월 5일 오후 2시 전체 회의
```
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues