이 세 가지는 모두 Claude Code를 기본 대화 환경 밖으로 확장하는 장치지만 목적이 다릅니다. 이 장은 연결, 자동화, 패키징을 각각 어떻게 이해해야 하는지 예시 중심으로 다시 세웠습니다.
| MCP | 외부 문서, API, 시스템과 연결해 문맥과 도구를 넓히는 표준 연결 층 |
| Hooks | 특정 시점에 자동으로 검증이나 보조 동작을 실행하는 규칙 층 |
| Plugins | 명령, 에이전트, 설정, 자동화를 하나의 배포 가능한 묶음으로 만드는 포장 층 |
실습 예시
# MCP 예시
claude mcp add github -- npx -y @modelcontextprotocol/server-github
# Hook 예시
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/pre-tool-check.sh"
}
]
}
]
}
}
# Plugin 예시
/plugin install pr-review
학습 순서는 보통 MCP로 외부 연결을 이해하고, hooks로 자동 실행 지점을 붙인 뒤, 마지막에 plugins처럼 묶음 개념으로 올라가는 편이 자연스럽습니다.
hooks를 이해할 때의 핵심
- Tool Hooks: PreToolUse, PostToolUse, PostToolUseFailure, PermissionRequest
- Session Hooks: SessionStart, SessionEnd, Stop, StopFailure, SubagentStart, SubagentStop
- Task Hooks: UserPromptSubmit, TaskCompleted, TaskCreated, TeammateIdle
- Lifecycle Hooks: ConfigChange, CwdChanged, FileChanged, PreCompact, PostCompact, WorktreeCreate, WorktreeRemove, Notification, InstructionsLoaded, Elicitation, ElicitationResult
plugins는 마지막에 이해하는 편이 좋습니다
plugin은 여러 기능을 묶은 결과물이지, 출발점이 아니기 때문입니다.
통합 실습
- GitHub MCP로 PR을 가져옵니다.
- code-reviewer subagent에 검토를 맡깁니다.
- hooks로 테스트나 검증을 자동화합니다.
- 필요하다면 plugin으로 이 흐름을 배포 가능한 묶음으로 포장합니다.
원본 출발점은 luongnv89/claude-howto이며, 연결·자동화·패키징의 차이를 실제 예시 기준으로 복원했습니다.