Claude Code MCP, Skills, 서브에이전트 차이와 최소 설정법
Claude Code MCP는 외부 도구 연결, Skills는 반복 절차 저장, 서브에이전트는 별도 컨텍스트의 전담 에이전트입니다. 비교표와 언제 무엇을 쓸지, 최소 설정 예시를 정리했습니다.
Claude Code의 확장 기능은 각각 역할이 다릅니다. MCP는 외부 도구와 데이터를 연결하고, Skills는 반복 작업의 절차를 파일로 저장하며, 서브에이전트는 별도 컨텍스트에서 일하는 전담 에이전트를 만듭니다. 플러그인은 이 셋을 묶어 배포하는 포장입니다. 외부 시스템이 필요하면 MCP, 같은 절차를 반복하면 Skills, 큰 작업을 쪼개 맡기려면 서브에이전트를 씁니다.
네 가지 확장 한눈에 비교
| 구분 | MCP | Skills | 서브에이전트 | 플러그인 |
|---|---|---|---|---|
| 하는 일 | 외부 도구와 데이터 연결 | 절차와 지식을 파일로 저장 | 별도 컨텍스트의 전담 에이전트 | 위 셋과 명령, 훅을 묶어 배포 |
| 형태 | 서버 프로세스 또는 원격 URL | SKILL.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를 읽고 버그, 보안 문제, 누락된 테스트를 찾습니다.
코드를 직접 고치지 말고 파일 경로와 줄 번호를 붙여 문제만 보고합니다.
서브에이전트가 맞는 상황은 세 가지입니다.
- 읽을 것이 많은 작업: 리서치나 코드베이스 탐색을 맡기면 메인 대화가 파일 내용으로 가득 차지 않습니다.
- 독립적인 작업 여러 개: 서로 의존하지 않는 작업은 병렬로 돌릴 수 있습니다.
- 도구를 제한해야 하는 역할: 리뷰어에게 파일 쓰기 권한을 빼는 식으로 안전장치를 겁니다.
주의할 점은 서브에이전트가 메인 대화의 내용을 모른다는 것입니다. 지시에 필요한 맥락을 모두 적어 넘겨야 합니다. 그리고 각자 컨텍스트를 쓰므로 병렬로 많이 돌리면 구독 한도가 빨리 줄어듭니다.
플러그인: 셋을 묶어 나눠 쓸 때
플러그인은 명령, Skills, 서브에이전트, 훅, MCP 설정을 한 묶음으로 설치하는 단위입니다. 대화 중 /plugin을 입력하면 마켓플레이스에서 찾아 설치할 수 있습니다.
팀에서 같은 도구 구성을 강제하고 싶을 때 유용합니다. 직접 만들려면 .claude-plugin/plugin.json으로 시작하는데, 처음에는 만들지 말고 설치만 해 보는 것을 권합니다. 위 세 가지가 손에 익은 뒤에 묶어도 늦지 않습니다.
무엇을 쓸지 고르는 순서
아래 질문을 순서대로 던지면 대부분 정리됩니다.
- 외부 시스템에 접근해야 하는가. 그렇다면 MCP입니다.
- 같은 지시를 세 번 이상 반복했는가. 그렇다면 Skills입니다.
- 읽을 것이 많거나 메인 대화가 지저분해지는가. 그렇다면 서브에이전트입니다.
- 이 구성을 다른 사람에게 나눠 줘야 하는가. 그렇다면 플러그인입니다.
제가 권하는 도입 순서는 이렇습니다. CLAUDE.md를 먼저 정리하고, 반복되는 지시를 Skills로 옮기고, 꼭 필요한 MCP를 한두 개만 붙이고, 그다음에 서브에이전트를 씁니다. 처음부터 네 가지를 다 세팅하면 관리할 것만 늘어납니다.
흔한 실수 세 가지
- MCP 서버를 너무 많이 연결하는 것. 컨텍스트가 무거워지고 도구 선택이 흐려집니다. 안 쓰는 서버는
claude mcp remove로 정리합니다. - Skills 설명을 막연하게 쓰는 것. 자동 호출이 안 되면 대부분 설명 문제입니다. 트리거 표현을 구체적으로 넣습니다.
- 서브에이전트에 맥락 없이 위임하는 것. "이거 리뷰해 줘"만 넘기면 무엇을 기준으로 볼지 모릅니다. 목적, 범위, 결과 형식을 적어 줍니다.
자주 묻는 질문
MCP 서버를 직접 만들어야 하나요?
아닙니다. GitHub, Notion, Slack, 주요 데이터베이스 등은 공식 또는 검증된 서버가 이미 있습니다. 직접 만드는 것은 사내 시스템처럼 기존 서버가 없을 때만 고려합니다.
Skills와 CLAUDE.md는 무엇이 다른가요?
CLAUDE.md는 매 세션 항상 로드되고, Skills는 필요할 때만 로드됩니다. 항상 지켜야 하는 규칙은 CLAUDE.md에, 특정 작업에만 필요한 긴 절차는 Skills에 둡니다. 이렇게 나누면 평소 컨텍스트가 가벼워집니다.
서브에이전트를 쓰면 더 느려지지 않나요?
시작할 때 컨텍스트를 새로 만드는 비용이 있습니다. 파일 하나 고치는 짧은 작업에는 오히려 불리합니다. 읽을 파일이 수십 개이거나 작업을 병렬로 돌릴 때 이득이 납니다.
코딩을 몰라도 설정할 수 있나요?
Skills와 서브에이전트는 마크다운 파일이라 글만 쓸 수 있으면 됩니다. MCP는 명령 한 줄이면 됩니다. 설정 파일 작성이 어색하면 Claude Code에 "이 역할의 서브에이전트 파일을 만들어 줘"라고 시켜도 됩니다.
다음 단계
- 기본 사용법이 아직 낯설면 Claude Code 사용법을 먼저 보십시오.
- 서브에이전트를 병렬로 돌리면 사용량이 빨리 줍니다. Claude Code 가격과 요금제와 비용 계산기로 한도를 확인하십시오.
- 외부 도구 연결이 목적이라면 n8n 시작하기와 AI 업무 자동화 사례도 함께 보십시오. 어느 쪽이 나은지는 자동화 ROI 계산기로 계산할 수 있습니다.
- 이 확장들을 실제 제품 개발에 적용하는 과정은 AI Creator Lab 강의에서 다룹니다. 수강료 안내
keep reading
이어서 보면 좋은 글
지금 읽은 주제와 결이 맞는 운영 기록과 빌드 노트를 아래에 이어 붙였습니다.
Claude Code 설치 방법: Mac, Windows, Linux 5분 완성 가이드
Claude Code 설치는 터미널 명령 한 줄이면 끝납니다. Mac, Windows, Linux별 설치 순서와 로그인, 자주 나는 오류 3가지 해결법을 정리했습니다.
Claude Code 사용법: 처음 30분에 익힐 6가지 핵심
Claude Code 사용법의 핵심은 프로젝트 열기, CLAUDE.md, 슬래시 명령, 플랜 모드, 컨텍스트 관리, 커밋 습관 6가지입니다. 30분 안에 실전에 쓰는 순서로 정리했습니다.
n8n 사용법: 설치, Docker 셀프호스팅, 첫 AI 워크플로 만들기
n8n은 노드를 이어 붙여 업무를 자동화하는 워크플로 도구입니다. 클라우드와 셀프호스팅 차이, Docker Compose 설치, 웹훅에서 AI를 거쳐 슬랙으로 보내는 첫 워크플로를 순서대로 설명합니다.