NxtCloud NxtCloud Workshop / Claude Code & MCP 핸즈온
로그인

Lab 01. Claude 생태계

이 랩에서 다루는 것
  • 제품군 지도: Claude 모델부터 claude.ai · Desktop · Cowork · Code · Agent SDK 까지, 각자의 자리
  • 전체 구조: 모델(두뇌) → 실행 → 애플리케이션 → 확장 → 외부 세계의 계층
  • 플랫폼 매트릭스: 어떤 기능이 어디서 되는지 한 장으로
  • 확장 메커니즘: CLAUDE.md · Skills · MCP · Sub-agents · Hooks · Plugins 의 역할(개념만)
  • MCP vs Plugin · 시작 권장 순서: 헷갈리는 둘의 차이와, 무엇부터 손대야 하나
  • 이 과정의 초점: 여러 확장 중 MCP 에 집중하는 이유
Step 1. 제품군 지도

같은 Claude 모델을 쓰더라도 어떤 껍데기에서 쓰느냐에 따라 할 수 있는 일이 완전히 달라집니다.

제품한 줄핵심
Claude (모델)Anthropic의 LLM(Opus · Sonnet · Haiku)모든 제품의 두뇌. API · 웹 · 모바일로 접근. 컨텍스트 200K~1M
claude.ai웹 인터페이스Web Search · Artifacts · Skills · 원격 MCP(Connectors). 로컬 파일 접근 불가
Claude Desktop데스크톱 네이티브 앱claude.ai 전체 + 로컬 MCP + 파일 접근. GUI 라 비개발자도 사용. 파일·Bash·Git 은 MCP 통해서만
Claude CoworkDesktop 내 자율 실행 모드샌드박스 VM 에서 멀티스텝 워크플로우 자동 실행. 비개발 업무 실행자. Plugins 지원
Claude Code터미널 · IDE 에이전트 플랫폼파일 · Bash · Git 을 직접. MCP · Skills · Sub-agents · Plugins · Hooks 모두 지원. Headless 자동화
Claude Agent SDK에이전트 빌더 SDKClaude Code 를 라이브러리로 임베딩(Python · TypeScript). 커스텀 에이전트 · CI/CD 구축

오늘의 주인공은 Claude Code 입니다. 터미널에서 파일을 읽고 고치고 명령을 실행하며, MCP 로 외부 세계까지 손을 뻗는 실행자입니다. 나머지는 대체로 ‘조언자’ 에 가깝습니다.

Claude 생태계 구성 요소를 제품·확장·모델로 묶은 인포그래픽
🎯 체크포인트
  • Claude Code 가 claude.ai · Desktop · Cowork 와 무엇이 다른지 한 문장으로 말할 수 있다
Step 2. 전체 구조 한눈에

생태계는 맨 아래 모델(두뇌) 을 토대로 실행 엔진 → 애플리케이션 → 확장이 차곡차곡 쌓이고, 맨 위에서 외부 세계와 만나는 5개 레이어입니다. 위(외부)에서 아래(모델)로 읽어 내려가 보세요.

┌────────────────────────────────────────────────────────────────┐
│                    Layer 5: External World                     │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  External Services & Data Sources                       │   │
│  │  • Slack, GitHub, Google Drive, AWS                     │   │
│  │  • Databases, APIs, Cloud Services                      │   │
│  │  • File Systems, Development Tools                      │   │
│  └─────────────────────────────────────────────────────────┘   │
└────────────────────────────┬───────────────────────────────────┘

                             │ Connected via MCP Protocol

┌────────────────────────────▼───────────────────────────────────┐
│                    Layer 4: Extension Layer                    │
│  ┌────────────────────────────────────────────────────────┐    │
│  │  MCP Servers (Model Context Protocol)                  │    │
│  │  • Standardized protocol for external connections      │    │
│  │  • Available in: Desktop ✓, Code ✓, Web ✓              │    │
│  └────────────────────────────────────────────────────────┘    │
│  ┌────────────────────────────────────────────────────────┐    │
│  │  Skills (Domain Knowledge Injection)                   │    │
│  │  • Auto-loaded based on context                        │    │
│  │  • Available in: Desktop ✓, Code ✓, Web ✓              │    │
│  └────────────────────────────────────────────────────────┘    │
│  ┌────────────────────────────────────────────────────────┐    │
│  │  Sub-agents (Task Delegation & Parallelization)        │    │
│  │  • Independent context and execution                   │    │
│  │  • Available in: Code ✓ only                           │    │
│  └────────────────────────────────────────────────────────┘    │
│  ┌────────────────────────────────────────────────────────┐    │
│  │  Plugins (Packaging & Distribution)                    │    │
│  │  • Bundle Skills + MCP + Agents + Commands             │    │
│  │  • Available in: Code ✓ only                           │    │
│  └────────────────────────────────────────────────────────┘    │
│  ┌────────────────────────────────────────────────────────┐    │
│  │  Hooks (Event-driven Automation)                       │    │
│  │  • Trigger on lifecycle events                         │    │
│  │  • Available in: Code ✓ only                           │    │
│  └────────────────────────────────────────────────────────┘    │
└────────────────────────────┬───────────────────────────────────┘

                             │ Used by Applications

┌────────────────────────────▼───────────────────────────────────┐
│                   Layer 3: Application Layer                   │
│                                                                │
│  ┌──────────────┐   ┌──────────────┐   ┌──────────────┐        │
│  │  claude.ai   │   │    Claude    │   │   Claude     │        │
│  │   (Web)      │   │   Desktop    │   │   Mobile     │        │
│  ├──────────────┤   ├──────────────┤   ├──────────────┤        │
│  │ • Browser    │   │ • Native App │   │ • iOS        │        │
│  │ • Artifacts  │   │ • MCP ✓      │   │ • Android    │        │
│  │ • Web Search │   │ • Skills ✓   │   │ • Web Search │        │
│  │ • Docs       │   │ • Artifacts  │   │ • Docs       │        │
│  └──────────────┘   └──────────────┘   └──────────────┘        │
│                                                                │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │                    Claude Code                          │   │
│  ├─────────────────────────────────────────────────────────┤   │
│  │ • CLI / VS Code Extension                               │   │
│  │ • Direct File System Access                             │   │
│  │ • Direct Bash Execution                                 │   │
│  │ • Native Git Integration                                │   │
│  │ • MCP ✓ | Skills ✓ | Sub-agents ✓ | Plugins ✓ | Hooks ✓ │   │
│  │ • Stateful Workspace                                    │   │
│  │ • Headless Mode (Automation)                            │   │
│  └─────────────────────────────────────────────────────────┘   │
└────────────────────────────┬───────────────────────────────────┘

                             │ All applications wrap

┌────────────────────────────▼───────────────────────────────────┐
│                   Layer 2: Execution Layer                     │
│  ┌──────────────────────────────────────────────────────────┐  │
│  │              Tool Use & Execution Engine                 │  │
│  │  • Multi-turn coordination                               │  │
│  │  • Function Calling API                                  │  │
│  │  • Tool parameter generation                             │  │
│  │  • Result interpretation                                 │  │
│  └──────────────────────────────────────────────────────────┘  │
└────────────────────────────┬───────────────────────────────────┘

                             │ Powered by

┌────────────────────────────▼───────────────────────────────────┐
│                    Layer 1: Model Layer                        │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │                  Claude Model                           │   │
│  │            (Sonnet / Opus / Haiku)                      │   │
│  │                                                         │   │
│  │  Core Capabilities:                                     │   │
│  │  • Natural Language Understanding                       │   │
│  │  • Reasoning & Problem Solving                          │   │
│  │  • Code Generation & Analysis                           │   │
│  │  • Multi-modal Processing                               │   │
│  │  • Long Context Window (200K ~ 1M tokens)               │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                │
│  Provided by: Anthropic API                                    │
└────────────────────────────────────────────────────────────────┘
  • Layer 1·2 (모델 · 실행 엔진) 모든 제품이 공유하는 토대. 같은 모델, 같은 도구 호출(Tool Use) 엔진.
  • Layer 3 (애플리케이션) 그 위에 올라가는 껍데기. claude.ai 는 조언자, Claude Code 는 실행자.
  • Layer 4·5 (확장 · 외부 세계) 확장 기능이 에이전트를 외부 세계와 연결합니다. 이 중 MCP 가 오늘의 핵심입니다.
전체 구조 요약: 제품별 역할

같은 모델을 감싸지만 역할이 다릅니다. claude.ai · Desktop 은 조언자, Cowork · Code 는 실행자이고, 모든 확장을 다 쓰는 건 Claude Code 뿐입니다.

Claude Model (두뇌) — Opus / Sonnet / Haiku
    │                Context: 200K ~ 1M tokens

애플리케이션 (Wrappers)

    ├─ claude.ai (Web + Mobile)
    │   역할: Advisor (조언자)
    │   기능: Connectors(MCP) + Skills + Projects + Artifacts + Web Search

    ├─ Claude Desktop
    │   역할: Advanced Advisor (고급 조언자)
    │   기능: claude.ai 전체 + 로컬 MCP 서버 + Skills

    ├─ Claude Cowork (Desktop 내 Research Preview)
    │   역할: 비개발 업무 실행자
    │   기능: 로컬 파일 접근(샌드박스) + 멀티스텝 워크플로우 + Plugins

    └─ Claude Code
        역할: 개발 업무 실행자 (에이전트 오케스트레이션 플랫폼)
        기능: 모든 확장 기능 지원
             ├─ MCP (외부 연결)
             ├─ Skills (지식 주입)
             ├─ Sub-agents (작업 분산)
             ├─ Agent Teams (다중 에이전트 협업) ← NEW
             ├─ Plugins (패키징)
             ├─ Hooks (자동화 트리거)
             └─ Agent SDK (프로그래밍적 접근)
Step 3. 지원 플랫폼 매트릭스

같은 기능이라도 제품마다 되고 안 되고가 갈립니다. 확장 기능이 풍부할수록 오른쪽(Code) 입니다.

기능claude.aiMobileDesktopCoworkCode
기본 대화
MCP✅ 원격✅ 원격✅ 로컬+원격✅ 로컬+원격
Skills
Projects❌ (CLAUDE.md)
Artifacts
로컬 파일 접근✅ 샌드박스✅ 직접
Sub-agents
Agent Teams
Plugins
Hooks
Headless / SDK

결론: 로컬 파일·터미널·MCP 를 직접, 거기에 자동화(Headless)·병렬(Sub-agents)까지 필요하면 Claude Code. 비개발 업무 자동화는 Cowork, 가벼운 대화·문서는 claude.ai 또는 Desktop.

🎯 체크포인트
  • 내 업무에 Claude Code 가 맞는지 매트릭스로 판단할 수 있다
Step 4. 확장 메커니즘 (개념만)

Claude Code 는 여러 방식으로 확장됩니다. 지금은 큰 그림만 잡고, MCP 는 Lab 04~06 에서 깊이 다룹니다. 나머지(Skills · Sub-agents · Hooks · Plugins)는 ‘이런 게 있다’ 정도로 개념만 잡습니다.

메커니즘무엇을활성화컨텍스트 비용
CLAUDE.md항상 알아야 할 규칙·컨벤션매 세션 자동 로드매 세션 전체 로드
Skills필요할 때 꺼내는 지식·워크플로우 패키지Claude 자동 판단 or /이름설명만 로드 → 쓸 때 전체
MCP외부 시스템 표준 연결세션 시작 시 자동도구 정의 로드
Sub-agents · Agent Teams격리된 전문 작업 · 병렬 협업명시적 호출 or 스킬에서 생성메인 세션과 격리
Hooks이벤트 기반 자동화 스크립트이벤트 발생 시 자동0 (외부 실행)
Plugins위 기능들을 묶어 배포하는 단위/plugin install포함 기능에 따라

한 줄씩 더 풀면

  • Skills: 반복 작업 절차나 도메인 지식을 패키지로 만들어 두면, Claude 가 필요할 때 알아서(또는 /이름 으로) 꺼내 씁니다. 자주 쓰는 프롬프트를 /명령 으로 만들던 Custom Commands 도 여기에 통합됐습니다.
  • Sub-agents / Agent Teams: 큰 일을 독립 컨텍스트의 보조 에이전트에게 맡기거나(1:N), 여러 에이전트가 역할을 나눠 협업합니다(N:N, 공유 태스크 리스트).
  • Hooks: “파일 저장 후 린트”, “작업 끝나면 알림” 처럼 특정 이벤트에 스크립트를 자동 실행합니다. 컨텍스트 비용이 0 입니다.
  • Plugins: Skills · MCP · Hooks · 명령을 하나로 묶어 /plugin install 한 번으로 팀에 배포합니다.

MCP vs Plugin (자주 나오는 질문): MCP 는 “외부와 연결하는 도구”, Plugin 은 “그 도구를 포함한 더 큰 기능 패키지”. 예컨대 Context7 MCP 는 외부 문서 검색에 연결하는 도구만 제공하고, Context7 Plugin 은 그 MCP 에 Skills·설정을 함께 묶은 것입니다.

MCP vs Plugin 항목별 비교

위 한 줄 요약을 항목별로 풀면:

항목MCPPlugin
목적외부 도구·서비스에 연결Claude Code 기능 자체를 확장
범위도구 통합에 집중Skills · Agents · Hooks · MCP 를 묶음
설정.mcp.json · claude mcp add.claude-plugin/plugin.json
역할GitHub · DB · 외부 API 와 통신재사용 기능을 팀·커뮤니티에 공유
예시Context7 MCP (문서 검색 연결)Context7 Plugin (그 MCP + 설정까지)
Sub-agents vs Agent Teams 비교

둘 다 Claude Code 전용입니다. 큰 작업을 나눠 맡기는 방식이 다릅니다.

항목Sub-agentsAgent Teams
구조1:N (메인 → 서브)N:N (팀원 ↔ 팀원)
컨텍스트서브마다 독립팀원마다 독립 + 공유 태스크 리스트
규모단일 작업 위임프로젝트 전체 분할
소통결과만 메인에 반환팀원끼리 직접 소통

Sub-agents 는 기본 제공되는 Explore(코드베이스 탐색)·Plan(설계)부터, .claude/agents/ 에 직접 정의한 커스텀 에이전트까지 쓸 수 있습니다.

여러 기능을 함께 쓰는 패턴

확장은 하나씩 쓰는 것보다 조합할 때 강력합니다.

조합작동 방식예시
CLAUDE.md + Skills항상 켜진 규칙 + 필요할 때 로드컨벤션은 CLAUDE.md, 스타일 가이드는 Skill
Skill + MCPMCP 가 연결, Skill 이 사용법을 가르침MCP 로 DB 연결 + Skill 로 스키마 문서화
Skill + Sub-agentSkill 이 병렬 Sub-agent 를 생성/review → 보안·성능·스타일 동시 검토
Hook + MCPHook 이 MCP 로 외부 액션 트리거중요 파일 수정 시 Slack 알림
Step 5. CLI 에이전트 패턴

Claude Code 는 채팅이 아니라 작업 루프입니다. 요청을 받으면 스스로 계획하고, 도구(파일 편집 · 터미널 명령 · MCP)를 써서 실행하고, 결과를 검증하고, 필요하면 다시 시도합니다.

graph TD
A["사용자 요청"] --> B["계획 수립"]
B --> C["도구 실행 (편집 · 명령 · MCP)"]
C --> D["결과 검증 (빌드 · 테스트 · 출력)"]
D -->|미흡| B
D -->|완료| E["응답"]

이 루프 덕분에 한 번의 요청으로 여러 파일을 고치고 명령을 돌리는 일이 가능합니다. 실행 방식은 두 가지입니다.

방식명령쓰임
Interactiveclaude대화하며 단계적으로 작업
Headlessclaude -p "{프롬프트}"스크립트 · 자동화 · 일괄 처리

터미널 에이전트의 힘은 ‘직접 실행’에 있습니다. 그래서 무엇을 실행하도록 허용할지(권한)가 중요해집니다. Lab 03 에서 다룹니다.

🎯 체크포인트
  • ‘계획 → 실행 → 검증 → 반복’ 루프를 설명할 수 있다
  • Interactive 와 Headless 의 차이를 안다
Step 6. 무엇부터 손대나

확장을 한꺼번에 다 켤 필요는 없습니다. 효율이 나는 순서가 있습니다.

순서기능언제예시
1CLAUDE.md가장 먼저. 프로젝트 컨벤션(500줄 이하)“npm 말고 pnpm 써라”
2Skills반복 작업이 생기면/review 코드 리뷰 체크리스트
3MCP외부 서비스 연결이 필요할 때GitHub PR · PostgreSQL 쿼리
4Hooks자동화 규칙을 강제할 때파일 수정 후 ESLint
5Sub-agents컨텍스트가 커지거나 병렬이 필요할 때파일 수십 개 읽고 요약만
6Plugins팀·여러 프로젝트에 공유할 때유용한 설정 원클릭 배포
7Agent Teams독립 세션 여러 개가 협업할 때보안·성능·테스트 리뷰 동시

처음엔 1·2 만으로도 충분합니다. 오늘 과정은 그중 3번 MCP 를 집중적으로 익힙니다. CLAUDE.md(Lab 03) → MCP(Lab 04~06).

다음 단계

지도를 봤으니 이제 손에 쥘 차례입니다. Lab 02. 설치 & Bedrock 인증 에서 Claude Code 를 내 머신에 설치하고 Bedrock 에 연결합니다.