learnlog-mcp
An MCP server that locally saves and categorizes user prompts from LLM sessions to facilitate metacognition and track learning progress. It provides tools to review study history, analyze question types, and calculate learning depth scores based on the nature of inquiries.
README
learnlog-mcp
LLM 학습 세션의 프롬프트를 로컬에 저장하여 메타인지를 돕는 MCP 서버
만들게 된 이유
LLM으로 공부하면서 계속 드는 의문이 있었습니다.
"나 이거 정말 아는 건가?"
AI의 설명을 읽으면 이해가 되는 것 같습니다. 고개를 끄덕이고, "아 그렇구나" 하고 넘어갑니다. 그런데 며칠 뒤 팀원에게 같은 개념을 설명하려고 하면 입이 잘 떨어지지 않습니다. 분명 여러 번 봤는데, 막상 말로 하려니 추상적인 느낌만 남아있습니다.
그때 깨달았습니다. 이해한 것 같은 느낌과 진짜 이해는 다르다는 것을.
LLM과 대화하면서 "알게 됐다"고 착각하기 쉽습니다. 하지만 내가 무엇을 물어봤는지 돌아보면, 실제로 어디서 막혔는지가 보입니다. 질문의 흐름을 보면 내 이해의 빈틈이 드러납니다.
그래서 만들었습니다. 내가 한 질문들을 가볍게 저장해두고, 나중에 돌아볼 수 있는 도구. AI의 긴 답변이 아니라, 내 짧은 질문들만 모아두면 충분합니다.
저는 이 도구를 활용해서 DevOps와 오픈소스 생태계를 깊이 파보려 합니다.
왜 프롬프트를 저장하는가?
LLM으로 학습할 때 우리는 보통 출력값(AI의 답변)을 노션이나 메모장에 저장합니다. 하지만 생각해보면:
- 같은 프롬프트를 주면 비슷한 답변을 언제든 다시 얻을 수 있습니다
- 출력값은 길고 무겁지만, 프롬프트는 짧고 가볍습니다
- 내가 무엇을 물어봤는지가 곧 내가 무엇을 모르는지입니다
기존 방식: 세션 → AI 답변 복사 → 노션에 저장 → 나중에 찾기 어려움
learnlog 방식: 세션 → 프롬프트 자동 저장 → "오늘 뭐 공부했지?" → 즉시 확인
프롬프트를 저장하면 내가 어떤 부분에서 막혔는지, 무엇이 궁금했는지를 파악할 수 있습니다. 이것이 진짜 메타인지입니다.
핵심 철학
- 입력 > 출력: 출력값이 아닌 프롬프트를 저장합니다
- 경량화: 무거운 답변 대신 가벼운 질문만 보관합니다
- 메타인지: "내가 뭘 물어봤지?"를 통해 학습 현황을 파악합니다
- 세션 독립: 어떤 LLM, 어떤 세션에서든 학습 기록이 하나로 모입니다
설치
1. 저장소 클론 및 빌드
git clone https://github.com/YUJAEYUN/learnlog-mcp.git
cd learnlog-mcp
npm install
npm run build
2. Claude Code에 등록
claude mcp add learnlog-mcp node /path/to/learnlog-mcp/dist/index.js
3. Claude Desktop에 등록 (선택)
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"learnlog-mcp": {
"command": "node",
"args": ["/path/to/learnlog-mcp/dist/index.js"]
}
}
}
사용법
자동 저장
학습 관련 질문을 하면 AI가 자동으로 프롬프트를 저장합니다. 별도로 "저장해줘"라고 말할 필요 없습니다.
학습 기록 확인
"오늘 뭐 공부했지?"
"오늘 뭐 물어봤지?"
→ 오늘 저장된 모든 프롬프트를 시간순으로 보여줍니다
특정 날짜 조회
"2025-12-20에 뭐 공부했어?"
최근 학습 현황
"최근 일주일 학습 현황 보여줘"
→ 날짜별 질문 개수를 요약해서 보여줍니다
저장 위치
~/learnlog/
└── prompts/
├── 2025-12-20.json
├── 2025-12-21.json
└── 2025-12-22.json
각 파일에는 해당 날짜의 프롬프트가 질문 타입과 함께 저장됩니다:
{
"date": "2026-01-13",
"summary": {
"total": 5,
"byType": {
"fact": 2,
"principle": 1,
"application": 1,
"comparison": 0,
"connection": 1
},
"depthScore": 1.8
},
"prompts": [
{
"prompt": "N+1 쿼리 문제가 뭐야?",
"timestamp": "2026-01-13T10:30:00.000Z",
"type": "fact"
},
{
"prompt": "왜 N+1이 성능 문제를 일으키는 거야?",
"timestamp": "2026-01-13T10:35:00.000Z",
"type": "principle"
}
]
}
질문 타입
시스템은 자동으로 질문을 5가지 타입으로 분류합니다:
- fact (1점): 사실/정의 질문 - "N+1 쿼리가 뭐야?"
- principle (3점): 원리/이유 질문 - "왜 N+1이 문제가 돼?"
- application (2점): 적용/실습 질문 - "eager loading을 어떻게 구현해?"
- comparison (2점): 비교 질문 - "eager vs lazy loading 차이는?"
- connection (3점): 연결 질문 - "ORM과 쿼리 최적화는 어떻게 연관돼?"
학습 깊이 점수
각 질문 타입의 점수를 평균내어 학습 깊이를 측정합니다:
- 1.0-1.5: 표면적 학습 (주로 개념 익히기)
- 1.5-2.0: 보통 학습 (균형잡힌 접근)
- 2.0-2.5: 깊이 있는 학습 (원리 탐구)
- 2.5-3.0: 매우 깊은 학습 (개념 연결)
도구 목록
MCP Tools
| 도구 | 설명 |
|---|---|
save_prompt |
프롬프트 저장 (AI가 자동 호출) |
get_today_prompts |
오늘의 질문 목록 조회 |
get_prompts_by_date |
특정 날짜 질문 조회 |
get_recent_prompts |
최근 N일 학습 현황 |
get_learning_stats |
학습 통계 및 깊이 분석 |
Claude Skills
| Skill | 설명 | 사용법 |
|---|---|---|
/review |
학습 리뷰 및 메타인지 강화 | "오늘 공부 리뷰해줘" |
Claude Skills를 사용하려면
skills/폴더를 Claude Skills 디렉토리에 추가하세요.
활용 예시
1. 학습 통계 확인
사용자: 오늘 학습 통계 보여줘
AI: 📊 2026-01-13 학습 통계
총 질문 수: 27개
질문 타입 분포:
• fact: 8개 (30%)
• principle: 5개 (19%)
• application: 4개 (15%)
• comparison: 6개 (22%)
• connection: 4개 (15%)
학습 깊이 점수: 2.0/3.0 (깊이 있는 학습)
💡 Tip:
- fact: 사실/정의 질문 (1점)
- comparison: 비교 질문 (2점)
- application: 적용/실습 질문 (2점)
- principle: 원리/이유 질문 (3점)
- connection: 연결 질문 (3점)
2. 일일 학습 리뷰 (Skills)
사용자: 오늘 공부 리뷰해줘
AI: 📝 오늘의 학습 리뷰
[학습 통계 요약]
- 총 27개 질문
- 학습 깊이: 2.0/3.0 (깊이 있는 학습)
[질문 타입 분석]
오늘은 균형잡힌 학습이었습니다.
특히 비교 질문(22%)을 통해 개념 간 차이를 명확히 하려는 노력이 보입니다.
원리 질문도 적절히 섞여있어 단순 암기가 아닌 이해 중심 학습이었네요.
[학습 패턴]
VPC → NAT → IGW로 이어지는 깊은 탐구 체인이 있었습니다.
같은 주제를 여러 각도에서 질문하며 완전히 이해하려는 모습이 인상적입니다.
[다음 학습 제안]
1. 오늘 배운 AWS 네트워크를 직접 실습해보세요 (application 강화)
2. VPC와 온프레미스 네트워크의 연결 방식을 탐구해보세요 (connection 확장)
계속 이런 깊이로 학습하시면 탄탄한 기반이 만들어질 거예요! 👍
3. 질문 목록 확인
사용자: 오늘 뭐 공부했지?
AI: 📝 오늘의 질문 (5개)
1. [10:30] N+1 쿼리 문제가 뭐야?
2. [10:35] eager loading은 어떻게 구현해?
3. [14:20] 인덱스는 언제 걸어야해?
4. [14:45] 복합 인덱스 순서가 중요한 이유?
5. [16:00] EXPLAIN ANALYZE 결과 해석법?
→ 오늘 데이터베이스 최적화에 대해 공부했구나!
4. 학습 패턴 파악
사용자: 최근 일주일 현황 보여줘
AI: 📊 최근 7일간 학습 기록
• 2026-01-13: 27개 질문
• 2026-01-11: 13개 질문
• 2026-01-10: 12개 질문
• 2026-01-09: 7개 질문
• 2026-01-08: 19개 질문
총 78개 질문
5. 이전 학습 이어가기
사용자: 1월 8일에 뭐 물어봤었지?
AI: 📝 2026-01-08의 질문 (19개)
1. [09:00] Docker Compose 설정 방법
2. [09:15] Docker 네트워크 구조
...
→ 아, Docker 공부했었지. 이어서 질문해야겠다!
마이그레이션
기존 데이터를 새 스키마로 마이그레이션하려면:
npm run build
node dist/scripts/migrate.js
마이그레이션 후 백업 파일(.old)이 생성됩니다. 확인 후 삭제하세요:
rm ~/learnlog/prompts/*.old
License
ISC
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.