til-server 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- til_server-0.1.0/.claude/settings.local.json +42 -0
- til_server-0.1.0/.gitignore +7 -0
- til_server-0.1.0/.worklogs/.snapshot +1 -0
- til_server-0.1.0/.worklogs/2026-02-21.md +79 -0
- til_server-0.1.0/.worklogs/2026-02-23.md +224 -0
- til_server-0.1.0/PKG-INFO +7 -0
- til_server-0.1.0/README.md +166 -0
- til_server-0.1.0/data/.gitkeep +0 -0
- til_server-0.1.0/docs/explanation.md +317 -0
- til_server-0.1.0/docs/plan.md +197 -0
- til_server-0.1.0/docs/research.md +635 -0
- til_server-0.1.0/docs/test-report.md +127 -0
- til_server-0.1.0/docs/usage.md +128 -0
- til_server-0.1.0/launch-team.sh +21 -0
- til_server-0.1.0/prompts/developer.md +18 -0
- til_server-0.1.0/prompts/planner.md +22 -0
- til_server-0.1.0/prompts/researcher.md +18 -0
- til_server-0.1.0/prompts/tester.md +18 -0
- til_server-0.1.0/pyproject.toml +19 -0
- til_server-0.1.0/requirements.txt +2 -0
- til_server-0.1.0/src/til_server/__init__.py +2 -0
- til_server-0.1.0/src/til_server/db.py +398 -0
- til_server-0.1.0/src/til_server/github_storage.py +552 -0
- til_server-0.1.0/src/til_server/prompts.py +160 -0
- til_server-0.1.0/src/til_server/resources.py +77 -0
- til_server-0.1.0/src/til_server/server.py +63 -0
- til_server-0.1.0/src/til_server/storage.py +11 -0
- til_server-0.1.0/src/til_server/tools.py +179 -0
- til_server-0.1.0/start-team.sh +31 -0
- til_server-0.1.0/tests/test_server.py +742 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"mcp__context7__resolve-library-id",
|
|
5
|
+
"mcp__context7__query-docs",
|
|
6
|
+
"Bash(python3 -m pip install:*)",
|
|
7
|
+
"Bash(python3:*)",
|
|
8
|
+
"Bash(source:*)",
|
|
9
|
+
"Bash(pip install:*)",
|
|
10
|
+
"Bash(pip show:*)",
|
|
11
|
+
"Bash(git init:*)",
|
|
12
|
+
"Bash(git branch:*)",
|
|
13
|
+
"Bash(git add:*)",
|
|
14
|
+
"Bash(git commit:*)",
|
|
15
|
+
"Bash(tmux:*)",
|
|
16
|
+
"Bash(claude:*)",
|
|
17
|
+
"Bash(chmod:*)",
|
|
18
|
+
"Bash(/Users/ram/programming/vibecoding/mcp/launch-team.sh)",
|
|
19
|
+
"Bash(open:*)",
|
|
20
|
+
"Bash(osascript -e 'tell application \"\"Terminal\"\" to do script \"\"tmux attach -t mcp-learning\"\"')",
|
|
21
|
+
"Bash(gh auth status:*)",
|
|
22
|
+
"Bash(gh repo create:*)",
|
|
23
|
+
"Bash(for i in 0 1 2 3)",
|
|
24
|
+
"Bash(do echo \"=== PANE $i ===\")",
|
|
25
|
+
"Bash(done)",
|
|
26
|
+
"Bash(env -u CLAUDECODE claude -p \"hello, 간단히 답해\")",
|
|
27
|
+
"Bash(env -u CLAUDECODE claude:*)",
|
|
28
|
+
"Bash(osascript -e 'tell application \"\"Terminal\"\" to do script \"\"./launch-team.sh && tmux attach -t mcp-learning\"\"')",
|
|
29
|
+
"Bash(osascript -e 'tell application \"\"Terminal\"\" to do script \"\"bash launch-team.sh && tmux attach -t mcp-learning\"\"')",
|
|
30
|
+
"Bash(osascript -e 'tell application \"\"Terminal\"\" to do script \"\"bash /Users/ram/programming/vibecoding/mcp/launch-team.sh && tmux attach -t mcp-learning\"\"')",
|
|
31
|
+
"Bash(pkill -f \"claude -p --dangerously\")",
|
|
32
|
+
"Bash(osascript -e 'tell application \"\"Terminal\"\" to do script \"\"bash /Users/ram/programming/vibecoding/mcp/launch-team.sh\"\"')",
|
|
33
|
+
"Bash(pkill:*)",
|
|
34
|
+
"WebFetch(domain:www.youtube.com)",
|
|
35
|
+
"WebSearch",
|
|
36
|
+
"Bash(ls:*)",
|
|
37
|
+
"Bash(brew install:*)",
|
|
38
|
+
"Bash(echo '' >> ~/.zshrc && echo '# 클립보드 스크린샷 → 파일 저장' >> ~/.zshrc && echo 'alias ss=\"pngpaste /tmp/ss.png && echo /tmp/ss.png\"' >> ~/.zshrc)",
|
|
39
|
+
"Bash(git:*)"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"timestamp": 1771813721, "totalTokens": 36000839, "totalCost": 21.744676499999986}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Worklog: mcp — 2026-02-21
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## 17:37 (auto)
|
|
6
|
+
|
|
7
|
+
### 변경된 파일 (2개)
|
|
8
|
+
```
|
|
9
|
+
launch-team.sh
|
|
10
|
+
start-team.sh
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### 변경 통계
|
|
14
|
+
```
|
|
15
|
+
launch-team.sh | 17 ++++++-----------
|
|
16
|
+
start-team.sh | 31 +++++++++++++++++++++++++++++++
|
|
17
|
+
2 files changed, 37 insertions(+), 11 deletions(-)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 17:37 (auto)
|
|
23
|
+
|
|
24
|
+
### 변경된 파일 (1개)
|
|
25
|
+
```
|
|
26
|
+
docs/explanation.md
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 변경 통계
|
|
30
|
+
```
|
|
31
|
+
docs/explanation.md | 317 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
32
|
+
1 file changed, 317 insertions(+)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 17:50 (auto)
|
|
38
|
+
|
|
39
|
+
### 변경된 파일 (1개)
|
|
40
|
+
```
|
|
41
|
+
.gitignore
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 변경 통계
|
|
45
|
+
```
|
|
46
|
+
.gitignore | 1 +
|
|
47
|
+
1 file changed, 1 insertion(+)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 17:53 (auto)
|
|
53
|
+
|
|
54
|
+
### 변경된 파일 (1개)
|
|
55
|
+
```
|
|
56
|
+
README.md
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 변경 통계
|
|
60
|
+
```
|
|
61
|
+
README.md | 372 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
62
|
+
1 file changed, 372 insertions(+)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 17:54 (auto)
|
|
68
|
+
|
|
69
|
+
### 변경된 파일 (1개)
|
|
70
|
+
```
|
|
71
|
+
README.md
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 변경 통계
|
|
75
|
+
```
|
|
76
|
+
README.md | 2 ++
|
|
77
|
+
1 file changed, 2 insertions(+)
|
|
78
|
+
```
|
|
79
|
+
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
# Worklog: mcp — 2026-02-23
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## 10:44 (auto)
|
|
6
|
+
|
|
7
|
+
### 작업 내용
|
|
8
|
+
- feat: 스토리지를 SQLite에서 로컬 마크다운 파일로 전환
|
|
9
|
+
- - storage.py 신규 작성: data/tils/YYYY-MM-DD-{slug}.md 파일 기반 CRUD
|
|
10
|
+
- - python-frontmatter 라이브러리로 YAML frontmatter 처리
|
|
11
|
+
- - tools.py: save_discussion_recap tool 추가 (저장 후 git commit/push 자동 실행)
|
|
12
|
+
- - prompts.py: discussion_recap 프롬프트 추가
|
|
13
|
+
- - resources.py, server.py: db 모듈 → storage 모듈로 교체
|
|
14
|
+
|
|
15
|
+
### 변경 파일
|
|
16
|
+
- `requirements.txt`
|
|
17
|
+
- `src/til_server/prompts.py`
|
|
18
|
+
- `src/til_server/resources.py`
|
|
19
|
+
- `src/til_server/server.py`
|
|
20
|
+
- `src/til_server/storage.py`
|
|
21
|
+
- `src/til_server/tools.py`
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 10:49 (auto)
|
|
26
|
+
|
|
27
|
+
### 작업 내용
|
|
28
|
+
- feat: TIL_REPO_PATH 환경변수로 저장 레포 분리 지원
|
|
29
|
+
- MCP 서버 등록 시 TIL_REPO_PATH를 주입하면
|
|
30
|
+
- 서버 코드와 데이터 레포를 분리할 수 있다.
|
|
31
|
+
|
|
32
|
+
### 변경 파일
|
|
33
|
+
- `src/til_server/storage.py`
|
|
34
|
+
- `src/til_server/tools.py`
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 10:51 (auto)
|
|
39
|
+
|
|
40
|
+
### 작업 내용
|
|
41
|
+
- chore: pyproject.toml 추가 및 til-server CLI entry point 설정
|
|
42
|
+
- uvx로 설치 없이 바로 실행 가능하도록 패키지 구성
|
|
43
|
+
|
|
44
|
+
### 변경 파일
|
|
45
|
+
- `pyproject.toml`
|
|
46
|
+
- `src/til_server/server.py`
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 11:01 (auto)
|
|
51
|
+
|
|
52
|
+
### 작업 내용
|
|
53
|
+
- refactor: save_discussion_recap 제거, create_til로 통합
|
|
54
|
+
- 두 툴의 역할이 중복되어 create_til 하나로 통합.
|
|
55
|
+
- docstring에 대화 요약 저장 용도도 명시.
|
|
56
|
+
|
|
57
|
+
### 변경 파일
|
|
58
|
+
- `src/til_server/prompts.py`
|
|
59
|
+
- `src/til_server/tools.py`
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 11:04 (auto)
|
|
64
|
+
|
|
65
|
+
### 작업 내용
|
|
66
|
+
- docs: README 전면 재작성 — 설치 가이드 및 기능 정리
|
|
67
|
+
- uvx 기반 설치, Windows 포함, GitHub 저장소 방식으로 업데이트
|
|
68
|
+
|
|
69
|
+
### 변경 파일
|
|
70
|
+
- `README.md`
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 11:09 (auto)
|
|
75
|
+
|
|
76
|
+
### 작업 내용
|
|
77
|
+
- feat: GitHub API 기반 TIL 저장소 모듈 추가
|
|
78
|
+
- urllib.request만 사용해 외부 의존성 없이 GitHub contents API로
|
|
79
|
+
- TIL 마크다운 파일 CRUD 구현. GITHUB_TOKEN 또는 gh auth token으로
|
|
80
|
+
- 인증, TIL_GITHUB_REPO 또는 자동 감지로 레포 설정.
|
|
81
|
+
|
|
82
|
+
### 변경 파일
|
|
83
|
+
- `src/til_server/github_storage.py`
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 11:10 (auto)
|
|
88
|
+
|
|
89
|
+
### 작업 내용
|
|
90
|
+
- refactor: storage.py를 github_storage 래퍼로 교체, tools.py 정리
|
|
91
|
+
- 기존 import 경로 유지를 위해 storage.py를 github_storage 재노출 모듈로
|
|
92
|
+
- 변환. tools.py에서 로컬 파일 경로(_TIL_REPO, Path) 관련 코드 제거.
|
|
93
|
+
|
|
94
|
+
### 변경 파일
|
|
95
|
+
- `src/til_server/storage.py`
|
|
96
|
+
- `src/til_server/tools.py`
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 11:16
|
|
101
|
+
|
|
102
|
+
### 요청사항
|
|
103
|
+
- til-server MCP가 Local scope로 등록된 이유 파악 및 user scope 이동
|
|
104
|
+
- README.md에 `-s user` 플래그 설치 안내 추가
|
|
105
|
+
|
|
106
|
+
### 작업 내용
|
|
107
|
+
- `~/.claude.json`에서 til-server를 project scope → user scope로 이동
|
|
108
|
+
- README.md 모든 `claude mcp add` 명령에 `-s user` 플래그 추가
|
|
109
|
+
- 주의사항 안내 문구 추가
|
|
110
|
+
|
|
111
|
+
### 작업 내용
|
|
112
|
+
- docs: MCP 등록 명령에 -s user 플래그 추가
|
|
113
|
+
- 모든 프로젝트에서 사용 가능하도록 user scope 설치 방법으로 안내.
|
|
114
|
+
- 플래그 없이 설치 시 project scope에 등록되는 점도 명시.
|
|
115
|
+
|
|
116
|
+
### 변경 파일
|
|
117
|
+
- `README.md`: `claude mcp add` 명령에 `-s user` 플래그 및 안내 문구 추가
|
|
118
|
+
|
|
119
|
+
### 토큰 사용량
|
|
120
|
+
- 모델: claude-sonnet-4-6
|
|
121
|
+
- 이번 작업: 34,463,169 토큰 / $21.07 (전체 누적, 스냅샷 없음)
|
|
122
|
+
- 소요 시간: 측정 불가
|
|
123
|
+
- 일일 누적: 34,463,169 토큰 / $21.07
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 11:19
|
|
128
|
+
|
|
129
|
+
### 요청사항
|
|
130
|
+
- MCP 설명/기능 최신화 여부 확인 및 수정
|
|
131
|
+
|
|
132
|
+
### 작업 내용
|
|
133
|
+
- server.py, resources.py 주석 4곳이 실제 구현과 불일치함을 확인
|
|
134
|
+
- storage 설명 "파일 기반" → "GitHub API 기반", discussion_recap 툴 제거, 디렉토리 초기화 설명 수정, 이번 주(월~일) → 최근 7일간 수정
|
|
135
|
+
|
|
136
|
+
### 작업 내용
|
|
137
|
+
- docs: MCP 설명 주석 최신화 (GitHub API 기반으로 수정)
|
|
138
|
+
- storage 설명 "파일 기반" → "GitHub API 기반",
|
|
139
|
+
- discussion_recap 툴 목록에서 제거 (프롬프트로만 존재),
|
|
140
|
+
- 디렉토리 초기화 주석 수정, 이번 주(월~일) → 최근 7일간
|
|
141
|
+
|
|
142
|
+
### 변경 파일
|
|
143
|
+
- `src/til_server/server.py`: storage 설명, tools 목록, 초기화 주석 수정
|
|
144
|
+
- `src/til_server/resources.py`: list_week_tils 설명 "이번 주(월~일)" → "최근 7일간"
|
|
145
|
+
|
|
146
|
+
### 토큰 사용량
|
|
147
|
+
- 모델: claude-sonnet-4-6
|
|
148
|
+
- 이번 작업: 1,537,670 토큰 / $0.67
|
|
149
|
+
- 소요 시간: 측정 불가
|
|
150
|
+
- 일일 누적: 36,000,839 토큰 / $21.74
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 11:22
|
|
155
|
+
|
|
156
|
+
### 요청사항
|
|
157
|
+
- README.md 최신화 여부 확인 및 수정
|
|
158
|
+
|
|
159
|
+
### 작업 내용
|
|
160
|
+
- README Resources 표에서 `til://list/week` 설명 "이번 주 기록" → "최근 7일 기록"으로 수정
|
|
161
|
+
|
|
162
|
+
### 작업 내용
|
|
163
|
+
- docs: README til://list/week 설명 최신화
|
|
164
|
+
- "이번 주 기록" → "최근 7일 기록" (실제 구현과 일치)
|
|
165
|
+
|
|
166
|
+
### 변경 파일
|
|
167
|
+
- `README.md`: `til://list/week` 설명 최신화
|
|
168
|
+
|
|
169
|
+
### 토큰 사용량
|
|
170
|
+
- 모델: claude-sonnet-4-6
|
|
171
|
+
- 이번 작업: 데이터 없음
|
|
172
|
+
- 소요 시간: 1분
|
|
173
|
+
- 일일 누적: 데이터 없음
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## 11:27
|
|
178
|
+
|
|
179
|
+
### 요청사항
|
|
180
|
+
- ENABLE_TOOL_SEARCH로 인해 TIL MCP 툴이 자동 사용 안 되는 문제 해결
|
|
181
|
+
|
|
182
|
+
### 작업 내용
|
|
183
|
+
- FastMCP `instructions` 파라미터로 서버 목적 명시 (공식 문서 확인 후 적용)
|
|
184
|
+
- 기록 요청 시 create_til 사용, 조회는 til://list, 검색은 search_til 안내 포함
|
|
185
|
+
|
|
186
|
+
### 작업 내용
|
|
187
|
+
- feat: FastMCP instructions 추가로 TIL 기록 자동 유도
|
|
188
|
+
- ENABLE_TOOL_SEARCH=true 환경에서 deferred 툴이 자동 호출되지 않는 문제 해결.
|
|
189
|
+
- 서버 instructions로 create_til/search_til/til://list 사용 시점을 명시.
|
|
190
|
+
|
|
191
|
+
### 변경 파일
|
|
192
|
+
- `src/til_server/server.py`: FastMCP 생성 시 instructions 파라미터 추가
|
|
193
|
+
|
|
194
|
+
### 토큰 사용량
|
|
195
|
+
- 모델: claude-sonnet-4-6
|
|
196
|
+
- 이번 작업: 데이터 없음
|
|
197
|
+
- 소요 시간: 2분
|
|
198
|
+
- 일일 누적: 데이터 없음
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 11:28
|
|
203
|
+
|
|
204
|
+
### 요청사항
|
|
205
|
+
- 서버 업데이트 시 다른 컴퓨터에서 자동 반영되도록 설치 명령 개선
|
|
206
|
+
|
|
207
|
+
### 작업 내용
|
|
208
|
+
- `uvx --refresh` 플래그 추가로 Claude Code 시작 시마다 최신 버전 자동 반영
|
|
209
|
+
- README 설치 명령 3곳 모두 업데이트
|
|
210
|
+
|
|
211
|
+
### 작업 내용
|
|
212
|
+
- docs: uvx --refresh 플래그 추가로 자동 업데이트 지원
|
|
213
|
+
- Claude Code 시작 시마다 최신 서버 버전을 자동으로 받아오도록
|
|
214
|
+
- 설치 명령 전체에 --refresh 플래그 추가.
|
|
215
|
+
|
|
216
|
+
### 변경 파일
|
|
217
|
+
- `README.md`: uvx 명령에 `--refresh` 플래그 추가 (3곳)
|
|
218
|
+
|
|
219
|
+
### 토큰 사용량
|
|
220
|
+
- 모델: claude-sonnet-4-6
|
|
221
|
+
- 이번 작업: 데이터 없음
|
|
222
|
+
- 소요 시간: 1분
|
|
223
|
+
- 일일 누적: 데이터 없음
|
|
224
|
+
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# TIL MCP 서버
|
|
2
|
+
|
|
3
|
+
> **GitHub**: https://github.com/kangraemin/mcp-learning
|
|
4
|
+
|
|
5
|
+
학습 내용(TIL: Today I Learned)과 대화 중 논의한 것들을 기록하고, 검색하고, 회고해주는 MCP 서버.
|
|
6
|
+
|
|
7
|
+
Claude에게 자연어로 말하면 알아서 GitHub에 마크다운 파일로 저장한다.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 이런 게 됩니다
|
|
12
|
+
|
|
13
|
+
| 말하면 | Claude가 하는 일 |
|
|
14
|
+
|--------|-----------------|
|
|
15
|
+
| "오늘 Python 배운 거 기록해줘" | TIL 작성해서 GitHub에 저장 |
|
|
16
|
+
| "방금 토큰 최적화 논의한 거 정리해줘" | 대화 내용 요약해서 GitHub에 저장 |
|
|
17
|
+
| "이번 주 뭐 배웠지?" | 이번 주 기록 꺼내서 보여줌 |
|
|
18
|
+
| "MCP 관련 기록 찾아줘" | 키워드로 검색해서 결과 보여줌 |
|
|
19
|
+
| "주간 회고 써줘" | 이번 주 기록 분석해서 회고문 작성 |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 설치
|
|
24
|
+
|
|
25
|
+
### 사전 준비
|
|
26
|
+
|
|
27
|
+
- [Claude Code](https://claude.ai/claude-code) 설치
|
|
28
|
+
- [gh CLI](https://cli.github.com) 설치 + 로그인
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# gh CLI 설치 후
|
|
32
|
+
gh auth login
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
> **Windows**: [gh CLI Windows 설치](https://github.com/cli/cli/releases/latest) 에서 `.msi` 다운로드
|
|
36
|
+
|
|
37
|
+
### uv 설치
|
|
38
|
+
|
|
39
|
+
**macOS / Linux**
|
|
40
|
+
```bash
|
|
41
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Windows (PowerShell)**
|
|
45
|
+
```powershell
|
|
46
|
+
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### MCP 서버 등록
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
claude mcp add -s user --transport stdio til-server \
|
|
53
|
+
-- uvx --refresh --from git+https://github.com/kangraemin/mcp-learning til-server
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Windows (PowerShell)**
|
|
57
|
+
```powershell
|
|
58
|
+
claude mcp add -s user --transport stdio til-server `
|
|
59
|
+
-- uvx --refresh --from git+https://github.com/kangraemin/mcp-learning til-server
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
> `-s user` 없이 실행하면 현재 프로젝트에만 등록됩니다. 모든 프로젝트에서 쓰려면 `-s user`를 붙이세요.
|
|
63
|
+
|
|
64
|
+
Claude Code를 재시작하면 끝.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 첫 사용
|
|
69
|
+
|
|
70
|
+
Claude Code에서 아무거나 기록해보자:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
오늘 배운 거 기록해줘
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
처음 사용 시 `{GitHub유저명}/til-notes` 레포가 없으면 자동으로 생성된다.
|
|
77
|
+
|
|
78
|
+
이후 모든 TIL은 해당 레포에 마크다운 파일로 저장된다:
|
|
79
|
+
```
|
|
80
|
+
til-notes/
|
|
81
|
+
tils/
|
|
82
|
+
2026-02-23-python-.md
|
|
83
|
+
2026-02-23-mcp-.md
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 다른 레포에 저장하고 싶다면
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
claude mcp add -s user --transport stdio til-server \
|
|
92
|
+
-e TIL_GITHUB_REPO=username/my-notes \
|
|
93
|
+
-- uvx --refresh --from git+https://github.com/kangraemin/mcp-learning til-server
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
gh CLI 없이 토큰으로 직접 인증하려면:
|
|
97
|
+
```bash
|
|
98
|
+
claude mcp add -s user --transport stdio til-server \
|
|
99
|
+
-e TIL_GITHUB_REPO=username/my-notes \
|
|
100
|
+
-e GITHUB_TOKEN=ghp_xxxx \
|
|
101
|
+
-- uvx --refresh --from git+https://github.com/kangraemin/mcp-learning til-server
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 동작 원리
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
사용자: "Python 배운 거 기록해줘"
|
|
110
|
+
↓
|
|
111
|
+
Claude Code → Claude AI (어떤 도구 쓸지 판단)
|
|
112
|
+
↓
|
|
113
|
+
Claude AI → "create_til 써줘"
|
|
114
|
+
↓
|
|
115
|
+
Claude Code → TIL MCP 서버 (로컬에서 실행 중)
|
|
116
|
+
↓
|
|
117
|
+
TIL MCP 서버 → GitHub API → til-notes 레포에 .md 파일 생성
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
인터넷 구간: Claude Code ↔ Anthropic AI 서버
|
|
121
|
+
로컬 구간: Claude Code ↔ MCP 서버
|
|
122
|
+
저장소: GitHub 레포 (마크다운 파일)
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 제공하는 기능
|
|
127
|
+
|
|
128
|
+
### Tools (행동)
|
|
129
|
+
| 이름 | 설명 |
|
|
130
|
+
|------|------|
|
|
131
|
+
| `create_til` | TIL 작성 및 대화 내용 요약 저장 |
|
|
132
|
+
| `update_til` | 기존 TIL 수정 |
|
|
133
|
+
| `delete_til` | TIL 삭제 |
|
|
134
|
+
| `search_til` | 키워드/태그/카테고리로 검색 |
|
|
135
|
+
| `add_tag` | 태그 추가 |
|
|
136
|
+
| `export_til` | Markdown으로 내보내기 |
|
|
137
|
+
|
|
138
|
+
### Resources (조회)
|
|
139
|
+
| URI | 설명 |
|
|
140
|
+
|-----|------|
|
|
141
|
+
| `til://list` | 전체 목록 |
|
|
142
|
+
| `til://list/today` | 오늘 기록 |
|
|
143
|
+
| `til://list/week` | 최근 7일 기록 |
|
|
144
|
+
| `til://{id}` | 특정 TIL 상세 |
|
|
145
|
+
| `til://tags` | 태그 목록 |
|
|
146
|
+
| `til://stats` | 학습 통계 |
|
|
147
|
+
|
|
148
|
+
### Prompts (템플릿)
|
|
149
|
+
| 이름 | 설명 |
|
|
150
|
+
|------|------|
|
|
151
|
+
| `write_til` | TIL 작성 가이드 |
|
|
152
|
+
| `weekly_review` | 주간 회고 생성 |
|
|
153
|
+
| `suggest_topics` | 다음 학습 주제 추천 |
|
|
154
|
+
| `summarize_learnings` | 기간별 학습 요약 |
|
|
155
|
+
| `discussion_recap` | 대화 논의 내용 정리 |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## 기술 스택
|
|
160
|
+
|
|
161
|
+
| 항목 | 내용 |
|
|
162
|
+
|------|------|
|
|
163
|
+
| 언어 | Python 3.11+ |
|
|
164
|
+
| MCP 프레임워크 | FastMCP |
|
|
165
|
+
| 저장소 | GitHub (마크다운 파일) |
|
|
166
|
+
| 전송 방식 | stdio |
|
|
File without changes
|