본문으로 이동
기사 목록으로 돌아가기
AI/AGI13分

Claude 플러그인 생태계 2026: MCP 서버·슬래시 커맨드·훅 구축 가이드

Claude Plugins Ecosystem: Building MCP Servers, Slash Commands & Hooks

田中 翔太Lead AI Engineer
2026-04-2213分
Claude CodePluginsMCPSlash CommandsHooks

Claude Code 플러그인 생태계의 폭발적 확대

  • 년에 접어들어 Anthropic이 공식 지원하는 Claude Code 플러그인 사양이 v1.2로 진화하였습니다. Plugin Marketplace의 공개 플러그인 수는 4월 시점에 이미 420개를 넘어섰으며, 개인 개발자가 부업 수준에서 월 수천 달러의 수입을 얻는 메인테이너도 등장하고 있습니다. 특히 '자신의 워크플로를 다른 사람에게도 배포한다'는 문화가 정착되어, GitHub Actions 생태계와 유사한 성숙 단계에 도달하였습니다.

플러그인은 크게 4종류로 분류할 수 있습니다. 슬래시 커맨드(/loop, /review 같은 상호작용), MCP 서버(외부 도구 통합), 훅(자동화 트리거), 그리고 하위 에이전트 정의 파일입니다. 이것들을 조합함으로써 개발 워크플로 전체를 선언적으로 패키지화할 수 있습니다.

주목 플러그인 3선

get-shit-done은 가장 화제가 된 워크플로 계열 플러그인입니다. TODO 목록을 Claude에게 관리하게 하고, Stop 훅으로 '미완료 항목'을 자동 감지하는 구조를 갖습니다. `.claude/settings.json`에 등록되는 Stop 훅이 세션 종료 전에 미완료 태스크를 검사하고, 계속이 필요한 경우에는 다시 프롬프트를 투입합니다.

simplify는 변경 후 코드의 복잡도를 검사하는 리뷰 계열 플러그인으로, cyclomatic complexity, 중복 로직, 미사용 임포트를 자동 감지합니다. PostToolUse 훅으로 Edit/Write 직후에 실행되고, 임계값 초과 시 자동으로 리팩터링 제안을 수행합니다. 대규모 리팩터링 프로젝트에서의 효율 개선 효과가 큽니다.

ultrareview는 코드 리뷰를 PR 단위로 자동화하는 하위 에이전트형 플러그인입니다. `gh pr diff`의 출력을 받아 보안, 성능, 유지보수성의 3가지 축으로 리뷰 보고서를 생성합니다. 내부에서 복수의 하위 에이전트를 병렬 실행하여 각 관점의 리뷰를 통합하는 설계로 되어 있습니다.

독자적인 플러그인 만들기

플러그인은 기본적으로 `.claude/plugins/<name>/` 디렉터리 하위에 `manifest.json`, `commands/*.md`, `hooks.json`, `mcp.json`을 배치하기만 하면 성립합니다. `manifest.json`에서 플러그인명, 버전, 진입점을 선언하고, `commands` 디렉터리에 Markdown 파일을 두는 것만으로 슬래시 커맨드가 등록됩니다.

MCP 서버를 동봉하는 경우에는 `mcp.json`에 stdio 실행 커맨드를 작성합니다. Node.js라면 npx 경유, Python이라면 uvx 경유가 권장 방법입니다. 중요한 것은 '실행 커맨드의 절대 경로 의존을 피하는' 것입니다. Plugin Marketplace 공개 시에는 다양한 환경에서 동작해야 하므로, PATH 해결 가능한 커맨드명만 허용됩니다.

훅은 `hooks.json`에 PreToolUse, PostToolUse, UserPromptSubmit, Stop, SessionStart의 각 트리거를 등록합니다. JSON 스키마로 matcher(도구명의 정규 표현식)와 command(실행 셸)를 지정하는 방식으로, GitHub Actions의 워크플로 구문에 익숙하다면 직관적으로 작성할 수 있습니다.

셸 실행 플러그인의 보안

플러그인이 임의의 셸 커맨드를 실행할 수 있다는 점은 생태계 최대의 위험 요소입니다. 실제로 2026년 2월에는 악의적인 MCP 서버가 `.ssh/id_rsa`를 외부로 POST하는 인시던트가 발생하였으며, Anthropic은 v1.2에서 샌드박스 강제 모드를 추가하였습니다.

중요한 방어 조치는 3가지입니다. 첫째는 `allowed_commands` 허용 목록에 의한 실행 제한입니다. prePlugin에서 허가된 커맨드 집합을 선언하고, 그 이외의 셸 호출을 차단합니다. 둘째는 `network_access` 플래그로 외부 통신을 제한하는 것입니다. 필요한 경우에만 opt-in으로 활성화합니다. 셋째는 플러그인 매니페스트에 서명(Sigstore 호환)을 요구하여 작성자의 신원과 변조 여부를 검증 가능하게 하는 것입니다.

KGA에서는 사내 플러그인 공개 전에 정적 분석으로 `exec/spawn/curl/wget`을 스캔하고, 위험한 패턴이 있으면 CI를 실패시키는 게이트를 설치하고 있습니다. 개인 개발자가 놓치기 쉬운 '환경 변수를 통한 기밀 정보 유출'도 환경 변수 접근 시 경고를 내보내는 린터를 병용합니다.

플러그인 설계의 모범 사례

하나의 플러그인에 기능을 너무 많이 채우지 않는 것이 가장 중요합니다. get-shit-done처럼 책임이 명확한 작은 플러그인을 조합하는 방식이 사용자에게 있어 이해도 유지보수도 쉬워집니다. `manifest.json`의 `description`에는 사용 사례를 구체적으로 작성하고, 첫 줄로 무엇을 자동화하는지가 전달되는 정도의 상세함이 바람직합니다.

또한 훅 처리는 반드시 멱등(idempotent)하게 설계합니다. PostToolUse 훅이 중복 실행된 경우에도 안전해야 하며, 상태를 갖는 처리는 `.claude/state/` 하위에 잠금 파일을 두어 배타 제어합니다. 특히 멀티 인스턴스 운용 시 동시에 훅이 실행되면 파괴적인 동작이 발생하기 쉽습니다.

마지막으로 플러그인 단독 테스트를 잊지 말 것입니다. `claude --plugin-test <path>`로 dry-run 실행할 수 있으므로, CI에 통합하여 main 브랜치로의 병합 전에 검증합니다. 플러그인 문화의 성숙에는 커뮤니티가 자율적으로 품질을 담보하는 체계가 불가결합니다.

기술적 과제를 함께 해결해 보시겠습니까?

KGA IT Solutions는 AI·클라우드·DevOps 전문 팀이 고객의 과제에 최적의 솔루션을 제공합니다.

문의하기