day2-mcp-and-context-sync
Day 2: MCP & Context Sync
이 스킬이 호출되면 아래 STOP PROTOCOL을 반드시 따른다.
용어 정리
이 스킬에서 사용하는 핵심 용어:
| 용어 | 설명 |
|---|---|
| MCP | Model Context Protocol. AI와 외부 도구를 연결하는 오픈 표준. USB-C처럼 다양한 서비스를 하나의 규격으로 연결 |
| Host / Client / Server | MCP의 3요소. Host=AI 앱(Claude Code), Client=연결 관리자, Server=외부 도구 제공자 |
| Transport | MCP 서버 연결 방식. HTTP(클라우드 서비스)와 stdio(로컬 실행) 2가지 |
| Plugin | Skill + MCP + Hook + Agent를 묶은 패키지. 설치 한 줄이면 MCP 서버까지 자동 연결 |
| subagent | Claude가 다른 Claude를 불러서 일을 시키는 것. 여러 일을 동시에 처리할 때 사용 |
| Explore 에이전트 | 프로젝트 폴더 구조를 파악해주는 전문 subagent. 읽기 전용 |
| API | 서비스가 제공하는 데이터 창구. MCP가 없을 때 직접 코드로 데이터를 가져오는 방법 |
| 스킬(Skill) | Claude Code에게 특정 작업 방법을 가르치는 문서. Day 1 Block 3-2에서 체험한 것 |
| STUB | 나중에 채울 빈칸. "여기에 나중에 내용이 들어갑니다"라는 표시. Part B에서 블록마다 하나씩 채워나간다 |
| 스켈레톤 | 빈칸(STUB)만 있는 뼈대. 건물로 치면 철골 구조만 세운 상태 |
| frontmatter | 파일 맨 위에 ---로 감싼 정보 영역. 스킬의 이름, 설명, 트리거 등을 적는 곳 |
| YAML / JSON | 데이터를 정리하는 형식. 엑셀이 표로 데이터를 정리하듯, 텍스트로 정리하는 방식 |
| CLI | Command Line Interface. 터미널에 직접 명령어를 입력하는 방식 |
STOP PROTOCOL — 절대 위반 금지
이 프로토콜은 이 스킬의 최우선 규칙이다. 아래 규칙을 위반하면 수업이 망가진다.
각 블록은 반드시 2턴에 걸쳐 진행한다
┌─ Phase A (첫 번째 턴) ──────────────────────────────┐
│ 1. references/에서 해당 블록 파일의 EXPLAIN 섹션을 읽는다 │
│ 2. 기능을 설명한다 │
│ 3. references/에서 해당 블록 파일의 EXECUTE 섹션을 읽는다 │
│ 4. "지금 직접 실행해보세요"라고 안내한다 │
│ 5. ⛔ 여기서 반드시 STOP. 턴을 종료한다. │
│ │
│ ❌ 절대 하지 않는 것: 퀴즈 출제, QUIZ 섹션 읽기 │
│ ❌ 절대 하지 않는 것: AskUserQuestion 호출 (Block 6,7,8,9,10 제외)│
│ ❌ 절대 하지 않는 것: "실행해봤나요?" 질문 │
└──────────────────────────────────────────────────────────┘
⬇️ 사용자가 돌아와서 "했어", "완료", "다음" 등을 입력한다
┌─ Phase B (두 번째 턴) ──────────────────────────────┐
│ 1. references/에서 해당 블록 파일의 QUIZ 섹션을 읽는다 │
│ 2. AskUserQuestion으로 퀴즈를 출제한다 │
│ 3. 정답/오답 피드백을 준다 │
│ 4. 다음 블록으로 이동할지 AskUserQuestion으로 묻는다 │
│ 5. ⛔ 다음 블록을 시작하면 다시 Phase A부터. │
└──────────────────────────────────────────────────────────┘
핵심 금지 사항 (절대 위반 금지)
- Phase A에서 AskUserQuestion을 호출하지 않는다 (Block 6, 7, 8, 9, 10 제외) — 이 5개 블록은 사용자 선택/확인이 필수이므로 예외
- Phase A에서 퀴즈를 내지 않는다 — QUIZ 섹션은 Phase B에서만 읽는다
- Phase A에서 "실행해봤나요?"를 묻지 않는다 — 사용자가 먼저 말할 때까지 기다린다
- 한 턴에 EXPLAIN + QUIZ를 동시에 하지 않는다 — 반드시 2턴으로 나눈다
공식 문서 URL 출력 (절대 누락 금지)
모든 블록의 Phase A 시작 시, 해당 reference 파일 상단의 > 공식 문서: URL을 반드시 그대로 출력한다.
📖 공식 문서: [URL]
- reference 파일에 URL이 여러 개 있으면 전부 출력한다
- URL을 요약하거나 생략하지 않는다
- 참가자가 직접 클릭해서 공식 문서를 볼 수 있어야 한다
Phase A 종료 시 필수 문구
Phase A의 마지막에는 반드시 아래 형태의 문구를 출력하고 Stop한다:
---
👆 위 내용을 직접 실행해보세요.
실행이 끝나면 "완료" 또는 "다음"이라고 입력해주세요.
이 문구 이후에 어떤 도구 호출(AskUserQuestion 포함)이나 추가 텍스트도 출력하지 않는다.
소요 시간
| Part | 블록 | 예상 시간 |
|---|---|---|
| Part A: MCP 딥다이브 | Block 0~4 | ~60분 |
| Part B: Context Sync 스킬 만들기 | Block 5~10 | ~110분 |
| 합계 | Block 0~10 | ~170분 |
핵심 전략
Part A: MCP 개념부터 Plugin까지 체계적으로 배우기
MCP의 개념(Block 0)부터 시작해서, 서버 추가(Block 1), 도구 탐색(Block 2), 인기 서버 설치(Block 3), Plugin으로 확장(Block 4)까지 순서대로 진행한다.
Part B: 4개 도구 × 4가지 연결 방법 — 점진적 빌드
아래 방식으로 진행한다:
- Block 5에서
templates/context-sync.md기반으로 4개 소스 STUB이 포함된 스켈레톤 스킬 파일을 생성한다 - Block 6~9에서 블록마다 하나의 도구를 다른 연결 방법으로 연결하고, 해당 소스 STUB을 실제 내용으로 채운다
- Block 10에서 실행 흐름 + 출력 포맷을 완성하고, 전체 스킬을 실행한다
핵심: 4개 도구를 일괄 연결하는 것이 아니라, 블록마다 다른 연결 방식을 실습한다.
Part B 블록 구조
| Block | 연결 방법 | 도구 | 난이도 | 시간 |
|---|---|---|---|---|
| 5 | — | 전체 | — | ~12min |
| 6 | claude.ai Connector | Slack | ★☆☆☆ | ~15min |
| 7 | claude mcp add |
Notion | ★★☆☆ | ~18min |
| 8 | Official Plugin (/plugin) |
Linear | ★★★☆ | ~15min |
| 9 | 커뮤니티 Plugin (구조 분석) | Google Calendar/Gmail | ★★★★ | ~20min |
| 10 | — (병렬 수집 + Output + 마무리) | 전체 | — | ~20min |
점진적 빌드 — 템플릿 채움 순서
Block 5: [STUB] [STUB] [STUB] [STUB] [STUB흐름] [STUB포맷]
Block 6: [Slack] [STUB] [STUB] [STUB] [STUB흐름] [STUB포맷]
Block 7: [Slack] [Notion] [STUB] [STUB] [STUB흐름] [STUB포맷]
Block 8: [Slack] [Notion] [Linear] [STUB] [STUB흐름] [STUB포맷]
Block 9: [Slack] [Notion] [Linear] [Google] [STUB흐름] [STUB포맷]
Block 10: [Slack] [Notion] [Linear] [Google] [완성흐름] [완성포맷] → 실행!
블록-소스 매핑
| Block | 채우는 소스 | 연결 방법 | 스킬 파일 변경 영역 |
|---|---|---|---|
| 5 | — (골격 생성) | — | 전체 스켈레톤 생성 |
| 6 | 소스 1: Slack | Connector | 소스 1 STUB → 실제 내용 |
| 7 | 소스 2: Notion | claude mcp add |
소스 2 STUB → 실제 내용 |
| 8 | 소스 3: Linear | /plugin install |
소스 3 STUB → 실제 내용 |
| 9 | 소스 4: Google | 커뮤니티 Plugin | 소스 4 STUB → 실제 내용 |
| 10 | — (완성 + 실행) | — | 실행 흐름 + 출력 포맷 완성 |
블록 특수 규칙
Part A (Block 0~4)
- Block 4 [BONUS]: 시간이 남을 때만 진행한다
- Block 3 완료 후 Part A 마무리 안내 → Part B 전환 안내
- Part A에서 배운 MCP 지식이 Part B의 도구 연결(Block 7)에서 직접 활용된다
Part B (Block 5~10)
- Block 5 (스켈레톤 생성): Phase A에서 Context Sync 개념 + 4가지 연결 방법 소개 + Explore로 프로젝트 탐색 +
templates/context-sync.md기반 스켈레톤 생성 → Stop. Phase B에서 퀴즈. - Block 6 (Connector → Slack): Phase A에서 Connector 개념 설명 + Slack Connector 연결 안내 + 테스트 + 스킬 소스 1 채우기 → Stop. Phase B에서 퀴즈.
- Block 7 (mcp add → Notion): Phase A에서
claude mcp add설명 + AskUserQuestion으로 Notion 확인 + MCP 서버 등록 + 테스트 + 스킬 소스 2 채우기 → Stop. Phase B에서 퀴즈. - Block 8 (Plugin → Linear): Phase A에서 Plugin 개념 설명 +
/plugin install linear+ MCP 자동 등록 확인 + 테스트 + 스킬 소스 3 채우기 → Stop. Phase B에서 퀴즈. - Block 9 (커뮤니티 Plugin → Google): Phase A에서 Plugin 구조 분석 + AskUserQuestion으로 Calendar/Gmail 선택 + Explore로 Plugin 구조 탐색 + 설치 + 스킬 소스 4 채우기 → Stop. Phase B에서 퀴즈.
- Block 10 (병렬 수집 + Output + 마무리): Phase A에서 AskUserQuestion으로 출력 형식 선택 + 실행 흐름/출력 포맷 완성 + 4개 소스 병렬 수집 실행 + 결과 확인 → Stop. Phase B에서 종합 퀴즈 + 마무리.
AskUserQuestion 예외 블록
| Block | 이유 |
|---|---|
| Block 6 | Slack 사용 여부 확인 (회사 계정 제한 시 대안 안내) |
| Block 7 | Notion workspace 사용 여부 확인 |
| Block 8 | Linear 사용 여부 확인 (미사용 시 대안 Plugin 안내) |
| Block 9 | Google Calendar vs Gmail vs 둘 다 선택 |
| Block 10 | Output format 선택 |
Block 6 예외 규칙
Block 6의 Phase A는 AskUserQuestion을 사용한다. Slack 사용 여부와 연결 가능 여부를 확인해야 한다.
Slack 사용 시:
- claude.ai/settings/connectors에서 Slack Connector 연결
/mcp로 claude.ai 섹션에 등록 확인- 연결 테스트 후 스킬 소스 1 채우기
Slack 미사용 또는 회사 계정 제한 시 (Plan B):
- 개인 Slack workspace나 AI Native Camp Slack으로 연결
- Connector 연결 방식 자체를 체험하는 것이 핵심임을 안내
⚠️ 보안 안내: 회사 Slack은 관리자 정책상 외부 앱 연결이 차단될 수 있다. 이 경우 개인 workspace를 사용한다.
Block 7 예외 규칙
Block 7의 Phase A는 AskUserQuestion을 사용한다. Notion 사용 여부를 확인해야 한다.
핵심 원칙: Claude가 설정을 대신 수행하고, 사용자는 결과를 확인한다.
Notion 사용 시:
claude mcp add --transport http notion https://mcp.notion.com/mcp실행/mcp로 local 섹션에 등록 확인- 연결 테스트 후 스킬 소스 2 채우기
Notion 미사용 시 (Plan B):
scripts/mcp_servers.py를 사용하여 대체 MCP 서버 검색- 검색 결과에서 선택하여
claude mcp add로 등록
Block 8 예외 규칙
Block 8의 Phase A는 AskUserQuestion을 사용한다. Linear 사용 여부를 확인해야 한다.
Linear 사용 시:
/plugin install linear실행/mcp로 local 섹션에 Linear MCP 자동 등록 확인- 연결 테스트 후 스킬 소스 3 채우기
Linear 미사용 시 (Plan B):
/plugin명령어로 설치 가능한 다른 공식 Plugin 목록 확인- 사용 중인 도구의 Plugin이 있으면 그것을 설치
- Plugin이 없으면 Block 8은 skip하고 Block 9로 이동 가능
- 핵심: Plugin 설치 → MCP 자동 등록이라는 과정을 체험하는 것이 목표
⚠️ Plugin 설치 후 Claude Code 재시작이 필요할 수 있다. MCP 연결이 안 보이면 Claude Code를 재시작한다.
Block 9 예외 규칙
Block 9의 Phase A는 AskUserQuestion을 사용한다. Google Calendar vs Gmail vs 둘 다를 선택해야 한다.
Phase A 진행 순서:
references/block9-skill-google.md의 EXPLAIN 섹션을 읽고 Plugin 구조를 설명한다/plugin marketplace add team-attention/plugins-for-claude-natives실행- AskUserQuestion으로 Calendar/Gmail/둘 다/Skip 선택
- Explore 에이전트로 Plugin 디렉토리 구조 탐색 + 설명
- 선택한 도구 Plugin 설치 + 테스트 + 스킬 소스 4 채우기 → Stop
Block 10 예외 규칙
Block 10의 Phase A는 AskUserQuestion을 사용한다. Output format을 선택해야 한다.
References 파일 맵
Part A: MCP 딥다이브
| 블록 | 파일 | 주제 |
|---|---|---|
| Block 0 | references/block0-concept.md |
MCP 개념 이해 |
| Block 1 | references/block1-add-server.md |
MCP 서버 추가하기 |
| Block 2 | references/block2-mcp-command.md |
/mcp 명령어로 도구 탐색 |
| Block 3 | references/block3-popular-servers.md |
인기 MCP 서버 탐색 및 설치 |
| Block 4 [BONUS] | references/block4-plugin-mcp.md |
/plugin으로 MCP 확장 |
Part B: Context Sync 스킬 만들기 (4개 도구 × 4가지 연결 방법)
| 블록 | 파일 | 주제 |
|---|---|---|
| Block 5 | references/block5-template-creation.md |
Context Sync 개념 + Explore + 스켈레톤 생성 |
| Block 6 | references/block6-connector-slack.md |
Connector로 Slack 연결 + 스킬 소스 1 채우기 |
| Block 7 | references/block7-mcp-add-notion.md |
claude mcp add로 Notion 연결 + 스킬 소스 2 채우기 |
| Block 8 | references/block8-plugin-linear.md |
/plugin install로 Linear 연결 + 스킬 소스 3 채우기 |
| Block 9 | references/block9-skill-google.md |
Plugin 구조 분석 + Google 연결 + 스킬 소스 4 채우기 |
| Block 10 | references/block10-finalize.md |
병렬 수집 + Output 선택 + 최종 실행 + 마무리 |
파일 경로는 이 SKILL.md 기준 상대경로다. 각 reference 파일은
## EXPLAIN,## EXECUTE,## QUIZ섹션으로 구성된다.
Templates / Scripts 파일 맵
| 파일 | 용도 |
|---|---|
templates/context-sync.md |
Context Sync 스킬 기본 템플릿 (Slack, Notion, Gmail, GCal 4종 포함) |
scripts/mcp_servers.py |
GitHub에서 MCP 서버 검색 + README.md 파싱 + 설치 안내 |
Gmail/Calendar 등의 수집 스크립트는 Block 7에서 Claude가 사용자의 선택에 맞춰 직접 작성한다.
진행 규칙
- 한 번에 한 블록씩 진행한다
- "다음", "skip", 블록 번호/이름으로 이동한다
- BONUS 블록(Block 4)은 시간이 남을 때만 진행한다
- Part A(Block 0
4) 완료 후 Part B(Block 510)로 자연스럽게 전환한다. Part A에서 배운 MCP 지식이 Part B의 도구 연결(Block 6~9)에서 직접 활용된다 - Block 5에서 생성한 스켈레톤 스킬 파일의 STUB을 Block 6~9에서 하나씩 채운다. 각 블록에서 도구를 연결한 뒤 해당 소스 섹션을 실제 내용으로 교체한다
- 사용자 프로젝트의
.claude/skills/my-context-sync/디렉토리에 스킬을 생성한다 - Block 6~9에서 각각 Connector, mcp add, Plugin, 커뮤니티 Plugin을 통해 다른 연결 방식을 실습한다
- Explore 에이전트와 subagent 사용이 핵심이므로 적극 활용한다
- Claude Code 관련 질문이 오면 claude-code-guide 에이전트(내장 도구)로 답변한다. 답변 후 사용자가 직접 따라할 수 있게 단계별로 안내하고, 질문할 때는 AskUserQuestion을 사용한다. 내장 에이전트 답변이 부정확하다고 판단되면, 공식 문서를
curl로 파일에 저장한 뒤 Read 툴로 꼼꼼히 읽고 정확한 정보로 다시 답한다
시작
스킬 시작 시 먼저 최신 커리큘럼을 설치한 뒤 블록을 선택한다.
Step 1: 최신 스킬 설치
아래 명령어를 출력하고 Bash로 실행한다:
npx skills add ai-native-camp/camp-2 --agent claude-code --yes
실행 결과를 간략히 안내한다 (예: "스킬이 최신 버전으로 설치되었습니다").
Step 2: 블록 선택
아래 테이블을 보여주고 AskUserQuestion으로 어디서 시작할지 물어본다.
Part A: MCP 딥다이브
| Block | 주제 | 내용 |
|---|---|---|
| 0 | MCP 개념 | MCP가 뭔지, USB-C 비유, 아키텍처 |
| 1 | 서버 추가 | claude mcp add로 실제 서버 연결 |
| 2 | /mcp 탐색 | 연결된 서버와 도구 목록 확인 |
| 3 | 인기 서버 | 공식 목록에서 유용한 서버 설치 |
| 4 [BONUS] | Plugin + MCP | /plugin으로 MCP 포함 플러그인 설치 |
Part B: 나만의 Context Sync 스킬 만들기 (4개 도구 × 4가지 연결 방법)
| Block | 연결 방법 | 도구 | 내용 |
|---|---|---|---|
| 5 | — | 전체 | Context Sync 개념 + 스켈레톤 생성 |
| 6 | Connector | Slack | 브라우저 클릭으로 Slack 연결 |
| 7 | claude mcp add |
Notion | CLI 명령어로 Notion 연결 |
| 8 | Plugin (/plugin) |
Linear | 공식 Plugin으로 Linear 연결 |
| 9 | 커뮤니티 Plugin | Plugin 구조 분석 + Google 연결 | |
| 10 | — | 전체 | 병렬 수집 + Output + 최종 실행 |
AskUserQuestion({
"questions": [{
"question": "Day 2: MCP & Context Sync\n\n어디서부터 시작할까요?",
"header": "시작 블록",
"options": [
{"label": "Part A: MCP 개념 (Block 0)", "description": "MCP가 뭔지, 왜 필요한지부터 시작"},
{"label": "Part A: 서버 추가 (Block 1)", "description": "MCP 개념을 알고 있어서 실습부터"},
{"label": "Part B: 스켈레톤 생성 (Block 5)", "description": "MCP를 이미 알고 있어서 스킬 만들기부터"},
{"label": "Part B: Notion 연결 (Block 7)", "description": "Slack은 연결했고, mcp add로 Notion 연결부터"}
],
"multiSelect": false
}]
})
시작 블록 선택 후 → 해당 블록의 Phase A부터 진행한다.