blog튜토리얼

Claude Code MCP, Skills, 서브에이전트 차이와 최소 설정법

Claude Code MCP는 외부 도구 연결, Skills는 반복 절차 저장, 서브에이전트는 별도 컨텍스트의 전담 에이전트입니다. 비교표와 언제 무엇을 쓸지, 최소 설정 예시를 정리했습니다.

AI Creator Lab2026년 8월 28일6분 읽기

Claude Code의 확장 기능은 각각 역할이 다릅니다. MCP는 외부 도구와 데이터를 연결하고, Skills는 반복 작업의 절차를 파일로 저장하며, 서브에이전트는 별도 컨텍스트에서 일하는 전담 에이전트를 만듭니다. 플러그인은 이 셋을 묶어 배포하는 포장입니다. 외부 시스템이 필요하면 MCP, 같은 절차를 반복하면 Skills, 큰 작업을 쪼개 맡기려면 서브에이전트를 씁니다.

네 가지 확장 한눈에 비교

구분MCPSkills서브에이전트플러그인
하는 일외부 도구와 데이터 연결절차와 지식을 파일로 저장별도 컨텍스트의 전담 에이전트위 셋과 명령, 훅을 묶어 배포
형태서버 프로세스 또는 원격 URLSKILL.md 마크다운.claude/agents/*.md마켓플레이스에서 설치
호출 방식Claude가 필요할 때 도구로 호출설명에 맞으면 자동 로드, /이름으로 직접 호출Claude가 위임하거나 사용자가 지정설치하면 안의 구성 요소가 각자 방식으로 동작
예시GitHub, Notion, 데이터베이스, 브라우저배포 절차, 리뷰 체크리스트, 글쓰기 규칙코드 리뷰어, 테스트 작성자, 리서처회사 표준 도구 세트
비용 영향도구 목록이 컨텍스트에 상주호출될 때만 로드별도 컨텍스트라 메인 대화는 가벼움포함된 구성 요소에 따름

가장 자주 헷갈리는 것이 Skills와 서브에이전트입니다. Skills는 "무엇을 어떻게 할지 적은 문서"이고, 서브에이전트는 "그 일을 대신 하는 별도 일꾼"입니다. 문서는 현재 대화 안에서 읽히고, 일꾼은 자기 대화를 따로 가집니다.

MCP: 외부 시스템에 손을 뻗을 때

MCP(Model Context Protocol)는 Claude가 외부 도구를 함수처럼 호출하게 하는 표준입니다. GitHub 이슈를 읽거나, 데이터베이스에 질의하거나, Notion 페이지를 만드는 일이 여기에 해당합니다.

가장 짧은 설정은 명령 한 줄입니다. 원격 서버는 서비스 공식 문서에 나온 URL을 그대로 씁니다.

claude mcp add --transport http <이름> <서버 URL>

로컬에서 실행하는 서버는 실행 명령을 넘깁니다. 아래는 특정 폴더만 읽게 하는 파일 시스템 서버 예시입니다.

claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ./docs

팀과 공유하려면 프로젝트 루트에 .mcp.json을 둡니다. 저장소에 함께 커밋되므로 팀원 모두 같은 서버를 씁니다.

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "./docs"]
    }
  }
}

설정 범위는 세 가지입니다. 기본값인 local은 이 프로젝트에서 나만 씁니다. project는 .mcp.json으로 팀과 공유합니다. user는 모든 프로젝트에 적용됩니다. claude mcp list로 목록을 보고, 대화 중에는 /mcp로 연결 상태와 인증을 확인합니다.

주의할 점이 하나 있습니다. 연결된 서버의 도구 설명은 모두 컨텍스트에 들어갑니다. 서버를 열 개 넘게 붙이면 매 요청이 무거워지고 도구 선택도 부정확해집니다. 지금 작업에 필요한 것만 연결하십시오.

Skills: 같은 절차를 반복할 때

Skills는 폴더 하나에 SKILL.md 파일을 두는 방식입니다. 파일 상단의 이름과 설명을 보고 Claude가 상황에 맞을 때 스스로 불러옵니다. /이름으로 직접 부를 수도 있습니다.

위치는 두 곳입니다. 프로젝트용은 .claude/skills/<이름>/SKILL.md, 개인용은 ~/.claude/skills/<이름>/SKILL.md입니다.

---
name: blog-post
description: 블로그 글 초안을 우리 사이트 형식으로 작성한다. 글쓰기, 블로그, 포스트 요청에 사용.
---

1. 첫 문단은 검색 의도에 바로 답하는 2~3문장으로 쓴다.
2. H2 섹션을 5~8개 둔다.
3. 마지막에 "자주 묻는 질문"과 "다음 단계"를 넣는다.
4. 문장은 짧게, 한 문장에 한 생각만 담는다.

설명(description)이 핵심입니다. Claude는 이 문장을 보고 자동 호출 여부를 정합니다. "글쓰기 도우미"처럼 막연하게 쓰면 호출되지 않습니다. 언제 쓰는지와 사용자가 할 법한 표현을 넣으십시오.

같은 폴더에 참고 문서나 스크립트를 함께 둘 수 있습니다. 긴 규칙은 별도 파일로 빼고 SKILL.md에서 참조하면 필요할 때만 읽습니다.

서브에이전트: 큰 작업을 쪼개 맡길 때

서브에이전트는 자기만의 컨텍스트와 도구 권한을 가진 별도 에이전트입니다. .claude/agents/<이름>.md 파일 하나로 만듭니다. 대화 중 /agents로 만들고 관리할 수도 있습니다.

---
name: code-reviewer
description: 변경된 코드를 리뷰한다. 커밋 전이나 PR 전에 사용.
tools: Read, Grep, Glob, Bash
model: sonnet
---

당신은 꼼꼼한 코드 리뷰어입니다. git diff를 읽고 버그, 보안 문제, 누락된 테스트를 찾습니다.
코드를 직접 고치지 말고 파일 경로와 줄 번호를 붙여 문제만 보고합니다.

서브에이전트가 맞는 상황은 세 가지입니다.

  1. 읽을 것이 많은 작업: 리서치나 코드베이스 탐색을 맡기면 메인 대화가 파일 내용으로 가득 차지 않습니다.
  2. 독립적인 작업 여러 개: 서로 의존하지 않는 작업은 병렬로 돌릴 수 있습니다.
  3. 도구를 제한해야 하는 역할: 리뷰어에게 파일 쓰기 권한을 빼는 식으로 안전장치를 겁니다.

주의할 점은 서브에이전트가 메인 대화의 내용을 모른다는 것입니다. 지시에 필요한 맥락을 모두 적어 넘겨야 합니다. 그리고 각자 컨텍스트를 쓰므로 병렬로 많이 돌리면 구독 한도가 빨리 줄어듭니다.

플러그인: 셋을 묶어 나눠 쓸 때

플러그인은 명령, Skills, 서브에이전트, 훅, MCP 설정을 한 묶음으로 설치하는 단위입니다. 대화 중 /plugin을 입력하면 마켓플레이스에서 찾아 설치할 수 있습니다.

팀에서 같은 도구 구성을 강제하고 싶을 때 유용합니다. 직접 만들려면 .claude-plugin/plugin.json으로 시작하는데, 처음에는 만들지 말고 설치만 해 보는 것을 권합니다. 위 세 가지가 손에 익은 뒤에 묶어도 늦지 않습니다.

무엇을 쓸지 고르는 순서

아래 질문을 순서대로 던지면 대부분 정리됩니다.

  1. 외부 시스템에 접근해야 하는가. 그렇다면 MCP입니다.
  2. 같은 지시를 세 번 이상 반복했는가. 그렇다면 Skills입니다.
  3. 읽을 것이 많거나 메인 대화가 지저분해지는가. 그렇다면 서브에이전트입니다.
  4. 이 구성을 다른 사람에게 나눠 줘야 하는가. 그렇다면 플러그인입니다.

제가 권하는 도입 순서는 이렇습니다. CLAUDE.md를 먼저 정리하고, 반복되는 지시를 Skills로 옮기고, 꼭 필요한 MCP를 한두 개만 붙이고, 그다음에 서브에이전트를 씁니다. 처음부터 네 가지를 다 세팅하면 관리할 것만 늘어납니다.

흔한 실수 세 가지

  1. MCP 서버를 너무 많이 연결하는 것. 컨텍스트가 무거워지고 도구 선택이 흐려집니다. 안 쓰는 서버는 claude mcp remove로 정리합니다.
  2. Skills 설명을 막연하게 쓰는 것. 자동 호출이 안 되면 대부분 설명 문제입니다. 트리거 표현을 구체적으로 넣습니다.
  3. 서브에이전트에 맥락 없이 위임하는 것. "이거 리뷰해 줘"만 넘기면 무엇을 기준으로 볼지 모릅니다. 목적, 범위, 결과 형식을 적어 줍니다.

자주 묻는 질문

MCP 서버를 직접 만들어야 하나요?

아닙니다. GitHub, Notion, Slack, 주요 데이터베이스 등은 공식 또는 검증된 서버가 이미 있습니다. 직접 만드는 것은 사내 시스템처럼 기존 서버가 없을 때만 고려합니다.

Skills와 CLAUDE.md는 무엇이 다른가요?

CLAUDE.md는 매 세션 항상 로드되고, Skills는 필요할 때만 로드됩니다. 항상 지켜야 하는 규칙은 CLAUDE.md에, 특정 작업에만 필요한 긴 절차는 Skills에 둡니다. 이렇게 나누면 평소 컨텍스트가 가벼워집니다.

서브에이전트를 쓰면 더 느려지지 않나요?

시작할 때 컨텍스트를 새로 만드는 비용이 있습니다. 파일 하나 고치는 짧은 작업에는 오히려 불리합니다. 읽을 파일이 수십 개이거나 작업을 병렬로 돌릴 때 이득이 납니다.

코딩을 몰라도 설정할 수 있나요?

Skills와 서브에이전트는 마크다운 파일이라 글만 쓸 수 있으면 됩니다. MCP는 명령 한 줄이면 됩니다. 설정 파일 작성이 어색하면 Claude Code에 "이 역할의 서브에이전트 파일을 만들어 줘"라고 시켜도 됩니다.

다음 단계

keep reading

이어서 보면 좋은 글

지금 읽은 주제와 결이 맞는 운영 기록과 빌드 노트를 아래에 이어 붙였습니다.

블로그 전체 보기 →