MCP vs Skill 개념과 비교 — 레퍼런스

MCP와 Agent Skill이 각각 무엇이고 어떻게 다른지 한눈에  |  공식 문서: modelcontextprotocol.io

대상 버전Claude Docs · Claude Code 2026-06 기준 (MCP 스펙 2025-11-25 / 프로토콜 2025-06-18)
문서 수집일2026-06-27
버전 확인 방법MCP 스펙은 명세 문서의 protocolVersion(2025-06-18), Skill은 SKILL.md frontmatter와 베타 헤더(skills-2025-10-02)로 확인
개정 시 확인 사항MCP 명세(modelcontextprotocol.io)와 Claude Code Skills 공식 문서를 함께 재확인

핸드북 전체 지도

이 핸드북은 MCP와 Agent Skill을 다섯 섹션으로 나누어 다룬다. 지금 보고 있는 문서는 첫 번째 섹션, 곧 두 기술의 개념과 차이를 정리하는 자리다. 나머지 섹션은 같은 두 기술을 설치·개발·내부구조·운영 관점에서 각각 깊이 파고든다.

Claude 기반 MCP vs Agent Skill 핸드북
├── 1. 개념·비교        두 기술의 정의·차이·선택 기준 (이 문서)
├── 2. 설치            claude mcp add / .claude/skills 배치·스코프
├── 3. 개발            MCP 서버 SDK / SKILL.md 작성·트리거 설계
├── 4. 내부구조        JSON-RPC 2층 구조 / progressive disclosure 3단계
└── 5. 운영            Inspector·로그·보안·토큰 비용 관리

1. MCP란 무엇인가

MCP는 AI 애플리케이션을 파일·데이터베이스·API·외부 도구 같은 시스템에 연결하기 위한 오픈 표준이다. Anthropic이 2024년 11월 25일에 공개했고 오픈소스로 운영되며, Claude뿐 아니라 ChatGPT·Cursor·VS Code 등 여러 클라이언트가 같은 프로토콜을 따른다.

Model Context Protocol — AI를 위한 USB-C

MCP를 흔히 "AI의 USB-C"에 비유한다. USB-C 단자 하나로 충전기·모니터·외장 디스크를 모두 연결하듯, MCP라는 표준 하나를 구현해 두면 어떤 도구든 같은 방식으로 연결할 수 있다. 통합마다 새 어댑터를 만들던 N×M 문제를, 표준 프로토콜 하나로 줄인 것이 핵심이다.

덕분에 한 번 만든 MCP 서버는 프로토콜을 지원하는 모든 클라이언트에서 재사용된다. 외부 SaaS·DB·실시간 API를 여러 AI 앱에 동시에 붙여야 할 때 이 표준화가 가장 큰 이점이 된다.

Host·Client·Server — 3자 구조

MCP는 세 역할로 나뉜다. Host는 Claude Desktop이나 Claude Code 같은 AI 앱이고, 그 안에서 여러 MCP Client가 각각 하나의 Server와 1:1로 연결된다. Server는 로컬 프로세스(stdio)거나 원격 HTTP 서비스로, 실제 도구와 데이터를 제공한다.

# 로컬 stdio 서버 등록 (Claude Code)
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path

# 원격 HTTP 서버 등록
claude mcp add --transport http my-api https://api.example.com/mcp

Data Layer · Transport Layer — 2계층 설계

MCP는 두 계층으로 동작한다. Data Layer는 JSON-RPC 2.0 기반으로 lifecycle(연결 수립)·primitives(기능)·notifications(상태 알림)를 정의하고, Transport Layer는 그 메시지를 주고받는 방식을 맡는다. 로컬은 stdio, 원격은 Streamable HTTP를 쓰며, SSE로 스트리밍하고 OAuth·Bearer·API key·헤더로 인증한다.

Tools · Resources · Prompts — 서버 primitives 3종

서버가 제공하는 기능은 세 가지다. Tools는 실제로 실행되는 함수로, tools/list로 목록을 받고 tools/call로 호출한다. Resources는 모델에 컨텍스트로 넣을 데이터 스냅샷이고, Prompts는 재사용 가능한 프롬프트 템플릿이다. 반대로 클라이언트 쪽 primitives로는 Sampling·Elicitation·Logging이 있다.

initialize — lifecycle 협상

연결은 initialize 요청과 응답으로 시작된다. 이 단계에서 양쪽이 protocolVersioncapabilities를 주고받아 서로 무엇을 지원하는지 합의한 뒤 실제 사용에 들어간다. 참고로 응답을 요구하지 않는 notification 메시지에는 id가 없다.


2. Agent Skill이란 무엇인가

Agent Skill은 SKILL.md 파일과(선택적으로) 스크립트·리소스를 함께 담은 폴더다. Claude의 능력을 특정 절차와 전문성으로 확장하는 패키지로, Anthropic이 2025년에 발표했다. 외부 서버 없이도 Claude에게 "이런 작업은 이렇게 처리하라"는 노하우를 그대로 주입할 수 있다.

SKILL.md — 스킬의 본체

스킬의 핵심은 폴더 안의 SKILL.md 한 파일이다. 맨 위 YAML frontmatter에 name(64자 이하, 소문자·숫자·하이픈만 — anthropic·claude는 예약어)과 description(1024자 이하, "무엇을 + 언제 쓰는지")을 적고, 그 아래 마크다운 본문에 실제 절차를 쓴다. 본문은 500줄 이내로 간결하게 두고, 상세 내용은 reference/*.md처럼 별도 파일로 분리하기를 권장한다.

my-skill/
├── SKILL.md          # frontmatter + 본문 (500줄 이내 권장)
├── reference/
│   └── details.md    # 상세 참고 자료 (필요 시 로드)
└── scripts/
    └── run.py        # 실행 스크립트 (출력만 컨텍스트로 들어옴)

progressive disclosure — 3단계 점진 공개

스킬이 토큰을 아끼는 비결이 점진 공개다. 모든 정보를 한꺼번에 올리지 않고 필요한 만큼만 단계적으로 연다.

  1. Level 1 — 메타데이터: namedescription만 항상 로드(스킬당 약 100토큰). Claude가 "지금 이 스킬을 써야 하나"를 판단하는 데 쓰인다.
  2. Level 2 — SKILL.md 본문: 트리거가 걸렸을 때만 본문 전체를 로드(보통 5K 토큰 미만).
  3. Level 3 — 번들 리소스: 본문이 가리키는 추가 파일을 필요할 때만 읽는다. 스크립트는 코드 자체가 아니라 실행한 출력만 컨텍스트로 들어온다.

frontmatter 선택 키 — Claude Code 확장

Claude Code에서는 frontmatter에 동작을 세밀하게 제어하는 키를 더 넣을 수 있다. allowed-tools·disallowed-tools로 도구 권한을, disable-model-invocation·user-invocable로 호출 방식을, context: fork·agent·model 등으로 실행 맥락을 지정한다. 본문에 !`<command>` 구문을 쓰면 전송 직전 그 명령이 실행되어 출력이 인라인으로 삽입되는 동적 컨텍스트 주입도 가능하다.


3. 핵심 차이 비교표

두 기술은 같은 문제를 푸는 경쟁자가 아니다. 아래 9개 차원으로 보면 역할이 어떻게 갈리는지 분명해진다.

차원MCPAgent Skill
무엇인가 연결을 위한 프로토콜(표준) SKILL.md를 담은 폴더
목적 외부 시스템과의 연결 절차·전문성 주입
실행 위치 별도 서버 프로세스 모델의 코드 실행 환경 / 파일시스템
통신 방식 JSON-RPC 2.0 (stdio / HTTP) 파일 로드 + bash 실행
상시 컨텍스트 비용 높음 — tool 정의(inputSchema)가 매 요청 상주 낮음 — 메타데이터(약 100토큰)만 상시
형식 SDK로 작성한 서버 코드 마크다운 + 선택적 스크립트
배포 서버 호스팅 + 클라이언트 등록 폴더 복사 / 플러그인
표준화 다중 클라이언트 (Claude·ChatGPT·Cursor 등) Anthropic 제품 전용
외부 의존 있음 (서버·네트워크·인증) 거의 없음 (자기완결)

💡 핵심 한 줄: MCP는 "어디에 연결할까"를, Skill은 "어떻게 처리할까"를 담당한다.


4. 경쟁이 아니라 보완

MCP와 Skill은 서로를 대체하는 관계가 아니라 층이 다른 보완재다. Skill이 작업의 절차와 규칙을 정의한다면, MCP는 그 절차가 손을 뻗을 외부 연결을 제공한다. 그래서 둘은 같은 작업 안에서 자연스럽게 함께 쓰인다.

실제로 Skill 본문은 "이 데이터를 가져와 이런 형식으로 정리하라"는 절차를 적고, 데이터를 가져오는 실제 동작은 MCP tool 호출에 맡길 수 있다. 즉 Skill 안에서 MCP tool을 호출하는 구성이 가능하다.

  1. Skill의 역할: 반복 워크플로·조직 표준·판단 기준을 패키징해 "무엇을 어떤 순서로" 할지 결정한다.
  2. MCP의 역할: 그 과정에서 필요한 DB 조회·API 호출·파일 접근 같은 외부 연결을 표준 방식으로 제공한다.
  3. 함께 쓰기: 데이터 조회는 MCP가, 조회 결과를 정형 산출물로 만드는 절차는 Skill이 맡는 조합이 대표적이다.

💡 핵심 한 줄: "둘 중 무엇을 쓸까"가 아니라 "어디서 둘을 함께 쓸까"가 더 정확한 질문이다.


5. 언제 무엇을 쓰나

선택 기준은 의외로 단순하다. "외부와 실시간으로 연결해야 하는가"와 "절차·전문성을 주입하면 되는가"를 먼저 가른 뒤, 재사용 범위와 자기완결 여부로 다듬으면 된다.

MCP와 Skill 선택을 위한 의사결정 트리 외부 시스템 연결 필요 여부와 재사용·표준 연동 여부, 절차·전문성 주입 여부에 따라 MCP, Skill, MCP와 Skill 조합 중 하나를 선택하는 세로형 의사결정 트리 외부 시스템·실시간 데이터에 연결이 필요한가? 아니오 여러 AI 클라이언트에서 재사용? 또는 표준 연동? 절차·규칙·전문성을 주입 하거나 파일·스크립트 번들? 데이터조회 +정형생성 MCP + Skill 함께 MCP Skill MCP: 외부 연결·표준 연동 Skill: 절차·전문성 주입 MCP + Skill: 데이터 조회와 정형 생성을 함께 분기 라벨(예/아니오)은 화살표 옆에 표시
그림 1. 연결이 필요하면 MCP, 절차·전문성 주입이면 Skill, 둘 다면 조합
상황선택이유
외부 SaaS·DB·API와 실시간 연동 MCP 연결과 인증이 핵심, 표준 프로토콜 필요
반복 절차·조직 규칙을 모델에 주입 Skill 외부 의존 없이 노하우만 패키징
여러 클라이언트에서 재사용 MCP Skill은 Anthropic 전용, MCP는 표준
외부 의존 없는 자기완결 번들 Skill 폴더 + 마크다운 + 스크립트로 완결
데이터 조회 + 정형 산출물 생성 MCP + Skill 조회는 MCP, 생성 절차는 Skill

의사결정 트리 — 흐름으로 정리

위 기준을 순서대로 따라가면 다음과 같다. 먼저 "외부 시스템에 실시간으로 연결해야 하는가?"를 묻는다. 그렇다면 MCP가 출발점이다. 여기서 다시 "여러 클라이언트(Claude 외 ChatGPT·Cursor 등)에서도 재사용할 것인가?"를 따지면 MCP가 확실해진다.

외부 연결이 필요 없다면 "절차·규칙·전문성을 모델에 주입하면 충분한가?"를 묻는다. 그렇다면 Skill이 적합하고, 특히 "외부 의존 없이 폴더로 자기완결되는가?"까지 맞으면 Skill이 정답이다. 마지막으로 두 조건이 모두 걸리는 경우 — 외부에서 데이터를 가져와 정형 산출물을 만들어야 한다면 — MCP로 조회하고 Skill로 생성하는 조합을 쓴다.

※ 이 자리에는 추후 의사결정 트리 SVG가 삽입된다. 위 본문은 그 흐름을 텍스트로 설명한 것이다.

Skill은 Anthropic 제품 전용이다. Claude 외의 클라이언트에서도 같은 기능을 재사용해야 한다면(크로스 클라이언트), Skill이 아니라 표준 프로토콜인 MCP를 선택해야 한다.

6. 흔한 오해

두 기술이 비슷한 시기에 등장하면서 역할을 혼동하는 경우가 많다. 자주 보이는 오해 네 가지를 바로잡는다.

오해실제
"Skill이 MCP를 대체한다" 외부 시스템 연결은 여전히 MCP가 필요하다. Skill에는 연결 표준이 없다.
"Skill은 MCP의 경량 버전이다" 둘은 목적이 다르다. MCP는 연결, Skill은 절차·전문성 주입이다.
"Skill을 크로스 클라이언트로 재사용할 수 있다" Skill은 Anthropic 제품 전용이다. 다중 클라이언트 재사용은 MCP의 몫이다.
"Skill 제작은 복잡하다" 폴더 하나에 마크다운(SKILL.md)을 두는 것이 기본이라 진입 장벽이 낮다.

참고 링크


Claude Docs · Claude Code 2026-06 기준 (MCP 스펙 2025-11-25 / 프로토콜 2025-06-18) | 문서 수집일 2026-06-27