
Claude Code를 실무에 쓰면서 하나씩 붙인 플러그인과 MCP 서버들을 정리해봤다. 크게 네 가지로 나눌 수 있다.
- 직접 설치한 플러그인
- 직접 등록한 MCP 서버
- 직접 설정한 훅(Hooks)
- Claude Code 데스크톱 앱에 기본 내장된 커넥터
이 구분이 중요한 이유는, 블로그나 커뮤니티에서 "이거 어떻게 쓰는 거예요?"라는 질문을 받았을 때 어디까지가 내가 세팅한 부분이고 어디까지가 앱 자체 기능인지 헷갈리기 쉽기 때문이다.
1. 직접 설치한 플러그인
Claude Code는 /plugin 명령으로 마켓플레이스에서 플러그인을 설치할 수 있다. 현재 설치된 건 두 개.
플러그인마켓플레이스버전상태
| andrej-karpathy-skills | forrestchang/andrej-karpathy-skills | 1.0.0 | 활성화 |
| figma | anthropics/claude-plugins-official | 2.2.111 | 설치됨 (비활성화) |
andrej-karpathy-skills
Andrej Karpathy 스타일(?)의 코딩 행동 가이드라인을 스킬로 제공하는 플러그인이다. karpathy-guidelines 스킬이 핵심인데, 요지는 이렇다.
- 불필요한 추상화·오버엔지니어링 지양
- 요청 범위를 벗어나는 리팩터링 금지 (버그 하나 고치는데 주변 코드까지 손대지 않기)
- 수술하듯 최소한의 변경(surgical change)
- 가정(assumption)은 숨기지 말고 드러내기
- 작업 완료 기준을 검증 가능하게 정의하기
개인 CLAUDE.md(~/.claude/CLAUDE.md)에서 이 스킬을 코딩 규칙의 기본 소스로 지정해뒀다.
# CLAUDE.md
Coding behavior guidelines are provided by the `andrej-karpathy-skills` plugin
(karpathy-guidelines skill).
매번 반복해서 "간결하게 짜줘", "필요한 부분만 고쳐줘" 같은 프롬프트를 안 넣어도 되니 편하다.
figma (현재 비활성화)
Figma 디자인을 코드로 가져오거나(design-to-code), 반대로 코드/의도를 Figma 디자인으로 만들어주는(code-to-design) 공식 플러그인. 지금은 꺼둔 상태인데, 디자이너와 협업할 일이 생기면 다시 켤 예정.
2. 직접 등록한 MCP 서버
MCP(Model Context Protocol) 서버는 ~/.claude.json의 mcpServers에 등록해서 쓴다. 전역으로 등록했기 때문에 모든 프로젝트에서 공통으로 사용된다 (이 프로젝트엔 별도의 프로젝트 스코프 .mcp.json은 없음).
serena — 심볼 단위 코드 탐색/리팩터링
{
"serena": {
"type": "stdio",
"command": "serena",
"args": ["start-mcp-server", "--context=claude-code", "--project-from-cwd"]
}
}
LSP(Language Server Protocol) 기반으로 코드를 "심볼" 단위로 다루는 툴킷이다. 대표적인 도구들:
- find_symbol / get_symbols_overview — 심볼 검색, 파일 구조 개요
- find_referencing_symbols — 특정 심볼을 참조하는 곳 전부 찾기
- rename_symbol / safe_delete_symbol — 안전한 이름 변경/삭제
- replace_symbol_body / insert_before_symbol / insert_after_symbol — 심볼 단위 편집
grep으로 텍스트를 찾는 것보다 훨씬 정확하게 "이 함수를 누가 호출하는지", "이 클래스의 이 메서드만 바꾸고 싶다" 같은 작업을 할 수 있어서, 큰 레거시 코드베이스를 다룰 때 특히 유용하다.
codebase-memory-mcp — 코드베이스 그래프 인덱싱
{
"codebase-memory-mcp": {
"command": "/Users/enleaf/.local/bin/codebase-memory-mcp",
"args": []
}
}
코드베이스 전체를 그래프로 인덱싱해서 구조적인 질의를 던질 수 있게 해주는 도구.
- search_graph — 심볼/구조 검색
- trace_path — 호출 경로 추적
- get_architecture — 전체 아키텍처 개요
- query_graph — 멀티홉 질의 (예: "A가 호출하는 함수들이 다시 호출하는 것들")
여기서 재밌는 부분은, 이 MCP 서버를 단순 도구로만 쓰는 게 아니라 **훅(hook)**으로도 연동해뒀다는 점이다. 자세한 내용은 바로 아래 훅 섹션에서.
3. 직접 설정한 훅(Hooks)
MCP 서버가 "Claude가 호출해서 쓰는 도구"라면, 훅은 "Claude의 도구 호출 앞뒤에 자동으로 끼어드는 CLI 스크립트"다. MCP가 아니라서 헷갈리기 쉬운데, 실제로 rtk 때문에 이 둘을 혼동한 적이 있어서 따로 정리한다. ~/.claude/settings.json의 hooks에 등록돼 있다.
훅 시점매처(matcher)실행 커맨드역할
| PreToolUse | Bash | rtk hook claude | Bash 명령 실행 전 가로채서 출력을 압축·정리 |
| PreToolUse | Grep|Glob|Bash | codebase-memory-mcp hook-augment | 검색/탐색 도구 호출 전 그래프 컨텍스트 보강 |
| PostToolUse | Read | codebase-memory-mcp hook-augment | 파일을 읽은 직후 관련 구조 정보 보강 |
| SessionStart | startup/resume/clear/compact | codebase-memory-mcp hook-augment | 세션 시작·재개 시 프로젝트 인덱싱 상태 주입 |
| SubagentStart | * | codebase-memory-mcp hook-augment | 서브에이전트 시작 시에도 동일하게 컨텍스트 보강 |
rtk — Bash 출력 압축 프록시
{
"matcher": "Bash",
"hooks": [{ "type": "command", "command": "rtk hook claude" }]
}
rtk는 MCP 서버가 아니라 /Users/enleaf/.local/bin/rtk에 설치된 CLI 바이너리다 (현재 버전 0.49.0). mcpServers에는 전혀 등록돼 있지 않고, 오직 PreToolUse 훅으로만 연결돼 있다. 역할은 Bash 명령 결과를 신호는 유지하면서 노이즈만 줄여 압축 출력하는 것 — 개인 지침 파일(RTK.md)에는 "결과가 비어 있거나, exit code와 모순되거나, 깨져 보일 때만 rtk proxy <cmd>로 재실행하라"는 규칙도 적어뒀다.
codebase-memory-mcp의 hook-augment
앞 섹션에서 다룬 codebase-memory-mcp는 도구로도 쓰이지만, 동시에 hook-augment 서브커맨드로 훅에도 등록돼 있다. PreToolUse(Grep/Glob/Bash), PostToolUse(Read), SessionStart, SubagentStart까지 걸려 있어서, Claude가 코드를 찾거나 읽을 때마다 별도 요청 없이 그래프 기반 컨텍스트가 조용히 덧붙는다. 같은 MCP 서버 바이너리를 "도구"와 "훅" 두 가지 방식으로 동시에 활용하는 셈이다.
4. Claude Code 앱에 기본 내장된 커넥터
여기부터는 내가 설치한 게 아니라 Claude Code 데스크톱 앱(Code 탭)이 기본으로 제공하는 기능들이다. 처음엔 이것도 내가 세팅한 MCP인 줄 알고 헷갈렸는데, 정리하면서 구분해봤다.
- Claude Docs — 대화 중에 바로 문서를 만들고 공유할 수 있는 기능
- Drive API — 구글 드라이브 파일 검색/읽기
- Figma MCP(공식) — 위에서 설치한 figma 플러그인이 실제로 쓰는 서버
- visualize — 인터랙티브 위젯/차트를 대화 중에 바로 렌더링
- Claude Browser (내장 브라우저) / Claude in Chrome (확장 프로그램 연동)
- iOS Simulator 제어 — iOS 앱을 시뮬레이터에서 실행/캡처
- Terminal 연동 — 사용자 터미널 탭 읽기/명령 실행
- ccd_ 계열 도구* — 세션·윈도우·PR·사이드바 관리 등 앱 자체 UI 제어용 내부 도구
- mcp-registry / scheduled-tasks — MCP 커넥터 탐색, 예약 작업 관리
정리
구분이름역할
| 플러그인 | andrej-karpathy-skills | 코딩 행동 가이드라인 스킬 |
| 플러그인 | figma (비활성) | Figma ↔ 코드 연동 |
| MCP 서버 | serena | 심볼 단위 코드 탐색/리팩터링 |
| MCP 서버 | codebase-memory-mcp | 코드베이스 그래프 인덱싱 (도구 + 훅 겸용) |
| 훅 | rtk | Bash 출력 압축 프록시 (MCP 아님, CLI + PreToolUse 훅) |
| 훅 | codebase-memory-mcp hook-augment | 검색/읽기/세션 시작 시 그래프 컨텍스트 자동 보강 |
| 앱 내장 | Claude Docs, Drive, Figma MCP, visualize, Browser, iOS Simulator, Terminal 등 | 별도 설치 없이 기본 제공 |
개인적으로는 serena와 codebase-memory-mcp 조합이 가장 체감 효과가 컸다. 대규모 레거시 코드베이스에서 "이 함수 누가 쓰는지", "이 변경이 어디까지 영향을 주는지" 같은 질문에 훨씬 빠르고 정확하게 답을 얻을 수 있었다.
다음 글에서는 실제로 이 도구들을 조합해서 레거시 코드를 리팩터링한 사례를 다뤄볼 예정이다.
'Develop' 카테고리의 다른 글
| Chrome Inspector로 Android(AOS) 앱 디버깅 시 Offline 문제 해결 가이드 (0) | 2025.12.18 |
|---|---|
| 비교 표현식 (gt, lt, ge, le, eq, ne / gte, lte) (0) | 2023.03.14 |
| 개발 일정 - 공수산정 (0) | 2022.12.01 |
| 딥링크(Deeplink) : URI스킴, 유니버셜 링크, 앱링크 구분과 이해 (0) | 2022.01.25 |
| 개발도구 (0) | 2021.03.12 |