⚡다양한 옵션 상세
MCP, Skills, Plugin, Sub Agent
각 옵션의 실제 설정 방법과 활용법을 플랫폼별로 상세하게 다룹니다.
Chapter 10: 다양한 옵션 상세 — MCP, Skills, Plugin, Sub Agent
이전 장에서 MCP의 기본 개념과 설정 방법을 배웠습니다. 이 장에서는 각 옵션의 심화 설정법과 플랫폼별 차이점을 상세하게 다룹니다. 이 옵션들을 제대로 이해하면, AI 코딩 도구를 단순한 코드 생성기가 아니라 통합 개발 파트너로 활용할 수 있습니다.
DAW의 기본 기능만으로도 곡을 만들 수 있지만, VST 플러그인, MIDI 라우팅, 매크로 컨트롤, 버스 전송 등을 활용하면 프로덕션 퀄리티가 완전히 달라집니다. 이 장은 DAW의 고급 라우팅과 플러그인 설정을 마스터하는 과정입니다.
10.1 MCP 서버 실습 — Filesystem과 Playwright
Filesystem MCP: AI의 손
Filesystem MCP는 AI가 파일 시스템을 직접 읽고 쓸 수 있게 해줍니다. 이것 없이는 AI에게 "이 파일 내용을 확인해봐"라고 할 수 없습니다.
Filesystem MCP는 DAW에서 하드디스크 레코딩 기능과 같습니다. 이 기능이 없으면 DAW가 오디오 파일을 읽거나 저장할 수 없죠. AI도 마찬가지로, Filesystem MCP 없이는 프로젝트의 코드 파일을 읽지 못합니다.
상세 설정법
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/home/user/mediapipe-controller",
"/home/user/mediapipe-controller/docs"
]
}
}
}args 배열에 여러 경로를 넣을 수 있습니다. 프로젝트 폴더와 문서 폴더를 동시에 허용하면, AI가 참고 자료를 읽으면서 코드를 수정할 수 있습니다. 단, **민감한 디렉토리(~/.ssh, ~/.env 등)**는 절대 포함하지 마세요.
AI에게 Filesystem을 활용시키는 프롬프트 예시
# 프로젝트 파일 분석 요청
"src/ 디렉토리의 모든 JavaScript 파일을 읽고,
각 파일이 무슨 역할을 하는지 정리해줘."
# 참고 파일 기반 코드 작성
"docs/references/mediapipe-example.js를 참고해서
src/js/hand-tracker.js를 작성해줘."
# 코드 리뷰
"src/js/ 안의 모든 파일을 읽고,
버그나 개선할 점을 찾아줘."Playwright MCP: AI의 눈
Playwright MCP는 AI가 웹 브라우저를 직접 조작할 수 있게 해줍니다. 웹페이지를 열고, 스크린샷을 찍고, 버튼을 클릭할 수 있습니다.
Playwright MCP는 라이브 공연의 비디오 모니터와 같습니다. 무대 위에서 무슨 일이 벌어지는지 실시간으로 볼 수 있듯, AI가 브라우저에서 웹앱이 어떻게 보이는지 직접 확인할 수 있습니다.
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"],
"env": {
"DISPLAY": ":0"
}
}
}
}Playwright 활용 예시
# 웹앱 시각적 테스트
"http://localhost:3000을 브라우저로 열고
스크린샷을 찍어서 레이아웃이 제대로 되는지 확인해줘."
# 웹앱 상호작용 테스트
"카메라 허용 버튼을 클릭하고,
손 추적이 시작되는지 확인해줘."
# 문서 크롤링
"MediaPipe 공식 문서 페이지를 열고,
Hand Landmarker API의 사용법을 정리해줘."Playwright MCP는 헤드리스 브라우저를 사용합니다. 서버 환경(모니터 없는 컴퓨터)에서도 동작하지만, 카메라 접근이 필요한 기능(MediaPipe 등)은 실제 브라우저에서 테스트해야 합니다. AI는 스크린샷으로 시각적 확인만 할 수 있습니다.
10.2 MCP가 해결하는 문제들
MCP 없이도 바이브 코딩은 가능하지만, MCP가 있으면 워크플로우가 근본적으로 달라집니다.
| 상황 | MCP 없이 | MCP 있으면 | |------|---------|-----------| | 파일 내용 확인 | 직접 복사해서 붙여넣기 | AI가 직접 읽음 | | 코드 수정 | AI 출력을 복사해서 파일에 붙여넣기 | AI가 직접 파일 수정 | | 웹 결과 확인 | 내가 스크린샷 찍어서 공유 | AI가 브라우저로 직접 확인 | | DB 데이터 확인 | 쿼리 결과를 복사해서 붙여넣기 | AI가 직접 DB 쿼리 | | 최신 문서 확인 | 내가 URL 내용을 복사 | AI가 fetch로 직접 읽음 |
MCP 없는 AI 코딩은 보면대 없이 연주하는 것과 같습니다. 연주자에게 악보를 한 소절씩 불러주는 대신, 보면대에 악보를 올려놓으면 연주자가 직접 보면서 연주할 수 있죠. MCP는 AI에게 보면대(파일), 모니터(브라우저), **메모장(메모리)**을 제공합니다.
10.3 Skills / Slash Commands — 프리셋 등록하기
Skills(Claude Code) 또는 Slash Commands는 자주 반복하는 작업을 단축 명령어로 등록하는 기능입니다.
Skills는 DAW의 프리셋과 같습니다. 매번 EQ, 컴프레서, 리버브를 하나씩 설정하는 대신, "보컬 체인 프리셋"을 불러오면 모든 설정이 한 번에 적용되죠. Skills는 "코드 리뷰해줘", "테스트 작성해줘" 같은 복잡한 지시를 한 단어로 실행합니다.
Claude Code에서 Skills 만들기
Claude Code에서는 .claude/commands/ 디렉토리에 마크다운 파일을 만들어 커스텀 슬래시 커맨드를 등록합니다:
# 디렉토리 생성
mkdir -p .claude/commands
# 코드 리뷰 스킬 작성
cat > .claude/commands/review.md << 'EOF'
변경된 파일들을 모두 읽고, 다음 기준으로 코드 리뷰를 해주세요:
1. 버그 가능성이 있는 코드
2. 성능 문제
3. 한국어 주석 누락
4. 변수명 규칙 위반 (camelCase가 아닌 것)
각 이슈를 파일명:라인번호 형식으로 정리해주세요.
EOF이제 Claude Code에서 /review라고 입력하면 위 지시가 자동으로 실행됩니다.
음악 프로젝트에 유용한 Skills 예시
# .claude/commands/osc-test.md
src/js/osc-sender.js를 읽고,
OSC 메시지 전송 코드에 오류가 없는지 확인해주세요.
특히 다음을 체크:
- OSC 주소 패턴이 /로 시작하는지
- 포트 번호가 올바른지 (Ableton: 11000, TouchDesigner: 7000)
- WebSocket 연결 해제 처리가 있는지
---
# .claude/commands/mediapipe-debug.md
hand-tracker.js의 MediaPipe 초기화 코드를 확인하고:
1. CDN URL이 최신 버전인지
2. 카메라 해상도 설정이 적절한지 (640x480 권장)
3. 에러 핸들링이 되어 있는지
문제가 있으면 수정 코드를 제안해주세요.10.4 Plugin — 외부 도구 통합
Plugin은 MCP보다 더 넓은 개념으로, AI 코딩 도구에 외부 서비스나 도구를 통합하는 방식입니다. MCP가 "표준 통신 규약"이라면, Plugin은 "에디터/플랫폼에 직접 설치하는 확장 모듈"입니다.
Plugin은 DAW의 VST/AU 플러그인과 정확히 같은 개념입니다. DAW 자체에는 기본 이펙트가 있지만, Serum(신디사이저), FabFilter(EQ), Valhalla(리버브) 같은 서드파티 플러그인을 설치하면 사운드 팔레트가 무한히 확장됩니다.
Plugin과 MCP의 차이
| 구분 | MCP | Plugin | |------|-----|--------| | 표준화 | 표준 프로토콜 (어디서든 호환) | 플랫폼별 고유 방식 | | 설치 | JSON 설정 파일로 간단 등록 | 각 플랫폼의 마켓플레이스에서 설치 | | 범위 | 파일, 브라우저, DB 등 로컬 리소스 | 클라우드 서비스, 외부 API 등 | | 예시 | filesystem, playwright | GitHub 연동, Jira 통합 |
플랫폼별 Plugin/확장 시스템 (2026년 현재)
2026년 현재, 세 플랫폼 모두 Plugin 또는 유사한 확장 시스템을 제공합니다:
# Codex CLI — Plugin 시스템 (2026년 3월 도입)
# MCP 서버, 워크플로우, 통합을 하나의 번들로 패키징
# Box, Figma, Linear, Notion, Sentry, Slack 등 공식 플러그인 제공
codex plugin install slack
codex plugin install figma
# Gemini CLI — Extensions 시스템
# 프롬프트, MCP 서버, 명령, 테마, Hooks, Skills를 번들로 패키징
# Codex Plugin과 유사한 범위
gemini extension install my-extension
# Claude Code — 별도 Plugin 시스템 없음
# 대신 MCP 서버 + Skills + Hooks 조합으로 동일한 확장성 제공
# .mcp.json + .claude/commands/ + settings.json hooks| 개념 | 역할 | 비유 | |------|------|------| | MCP | 외부 시스템 연결 (파일, DB, 브라우저) | MIDI 프로토콜 — 장치 간 통신 규약 | | Skills | 반복 작업을 명령어로 저장 | DAW 프리셋 — 한 번에 불러오는 설정 | | Plugin | MCP + Skills + 설정을 하나로 묶은 패키지 | VST 플러그인 — 설치하면 바로 사용 | | Hooks | 이벤트에 자동 반응하는 트리거 | MIDI 트리거 — 패드 누르면 자동 실행 |
Plugin은 MCP + Skills + Hooks를 하나로 묶은 번들입니다. Codex와 Gemini는 이 번들 형식을 공식 지원하고, Claude Code는 개별 구성요소를 직접 조합하는 방식입니다.
10.5 Sub Agent — 작업 분할 처리
Sub Agent는 복잡한 작업을 여러 개의 독립적인 작업으로 분할하여 처리하는 방식입니다. 메인 AI가 "프로젝트 매니저" 역할을 하고, 각 세부 작업을 별도의 AI 세션에 위임합니다.
Sub Agent는 오케스트라의 파트 리더 시스템과 같습니다. 지휘자(메인 AI)가 전체 구조를 관리하면서, "현악 파트 연습은 콘서트마스터에게", "타악기 파트는 수석 타악기 주자에게" 위임하는 것입니다. 각 파트 리더는 자기 영역에 집중하고, 결과를 지휘자에게 보고합니다.
Sub Agent 활용 시나리오
우리의 MediaPipe 프로젝트에서 Sub Agent가 유용한 경우:
# 복잡한 작업을 분할하는 프롬프트 예시
"다음 3가지 작업을 각각 독립적으로 처리해줘:
1. src/js/hand-tracker.js: MediaPipe 초기화 및 손 랜드마크 추적
2. src/js/osc-sender.js: OSC 메시지 포맷 및 WebSocket 전송
3. src/js/ui-controller.js: 캔버스에 손 랜드마크 시각화
각 파일은 서로 의존하지 않게 만들어줘.
나중에 index.html에서 조립할 거야."Claude Code — 가장 강력한 멀티 에이전트 시스템:
- 내부 **Task 도구(Agent tool)**로 Sub Agent 자동 생성 및 병렬 실행
- Agent Teams (연구 프리뷰): 오케스트레이터가 여러 Sub Agent를 tmux 패널에서 동시 실행
.claude/agents/디렉토리에 커스텀 에이전트 정의 가능 (각자의 프롬프트, 도구, 권한, MCP 설정)- 역할 기반 협업: Planner → Coder → Reviewer 구조
Codex CLI — TOML 기반 커스텀 에이전트:
~/.codex/agents/(개인) 또는.codex/agents/(프로젝트) 디렉토리에 TOML 파일로 에이전트 정의- 각 에이전트마다 독립된 모델, 지시문, 도구 설정 가능
- 특화된 에이전트를 병렬로 실행하여 결과 취합
Gemini CLI — 격리 실행 방식:
- 독립적인 에이전트 인스턴스가 작업을 격리 환경에서 실행
- 완료 후 요약된 결과를 메인 에이전트에게 반환
- Skills(메인 에이전트 보강)와 Sub Agent(격리 실행)가 명확히 구분됨
Sub Agent 활용 팁
# Claude Code에서 Sub Agent를 활성화하는 프롬프트 패턴:
# 패턴 1: 명시적 병렬 처리 요청
"다음 3개 파일을 각각 독립적으로 작성해줘.
서로 의존하지 않으니 병렬로 처리해도 돼."
# 패턴 2: 대규모 리서치 + 구현 분리
"먼저 MediaPipe Hands API 최신 사용법을 조사하고,
동시에 OSC 라이브러리 옵션을 조사해줘.
두 결과를 바탕으로 통합 설계를 해줘."
# 패턴 3: 여러 사용자의 피드백을 반영
"파일 A에는 디자인 수정을, 파일 B에는 로직 수정을,
파일 C에는 테스트 코드를 각각 동시에 추가해줘."
# → Claude Code가 내부적으로 Sub Agent를 생성하여
# 각 작업을 병렬로 처리하고 결과를 취합합니다10.6 플랫폼별 MCP 설정 비교
세 플랫폼의 MCP 설정 방식을 비교해봅시다:
Claude Code
// .mcp.json (프로젝트 루트)
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "./"]
},
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
}Codex CLI
// codex.json 또는 환경변수로 설정
// Codex는 MCP 표준을 지원하며,
// 설정 파일 위치는 프로젝트 루트의 codex.json
{
"mcp_servers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "./"]
}
}
}Gemini CLI
// settings.json 또는 별도의 MCP 설정
// Gemini CLI는 MCP 표준을 채택하여 유사한 형식 사용
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-filesystem", "./"]
}
}
}| 항목 | GPT Codex | Claude Code | Gemini CLI |
|---|---|---|---|
| MCP 설정 파일 | .codex/config.toml [mcp] | .mcp.json (프로젝트 루트) | settings.json mcpServers |
| 글로벌 설정 | ~/.codex/config.toml | ~/.claude/settings.json | ~/.gemini/settings.json |
| 커스텀 Skills | 앱/CLI/IDE 동기화 Skills | .claude/commands/ 폴더 | Agent Skills (자동 인식) |
| Sub Agent | .codex/agents/ (TOML 정의) | Task 도구 + Agent Teams | 격리 실행 에이전트 |
| Plugin / 확장 | Plugin 시스템 (공식 마켓) | MCP + Skills 조합 | Extensions 시스템 |
| Hooks | hooks.json (실험적) | settings.json hooks | hooks/hooks.json |
10.7 실전 조합: 모든 옵션을 함께 사용하기
지금까지 배운 모든 옵션을 우리 MediaPipe 프로젝트에 적용해봅시다:
MCP 설정 — 기반 인프라
filesystem으로 코드를 읽고 쓰고, playwright로 결과를 확인하고, fetch로 문서를 가져옵니다.
AGENTS.md — 프로젝트 맥락 주입
기술 스택, 코딩 규칙, 디렉토리 구조를 명시합니다.
Skills — 반복 작업 자동화
/review, /osc-test, /mediapipe-debug 등을 등록합니다.
Plan Mode — 구조 설계
구현 전에 전체 아키텍처를 AI와 논의합니다.
Sub Agent — 병렬 개발
독립적인 모듈(hand-tracker, osc-sender, ui-controller)을 분할 처리합니다.
이 모든 것을 조합하면, 마치 풀 스펙 프로덕션 스튜디오를 갖춘 것과 같습니다. DAW(AI)에 오디오 인터페이스(MCP)를 연결하고, 악보(AGENTS.md)를 준비하고, 프리셋(Skills)을 로드하고, 편곡 스케치(Plan Mode)를 하고, 각 파트(Sub Agent)를 녹음하는 전체 워크플로우입니다.
모든 옵션을 처음부터 다 설정할 필요는 없습니다. MCP filesystem + AGENTS.md만으로도 충분히 시작할 수 있습니다. 나머지는 필요할 때 하나씩 추가하세요. 처음부터 DAW의 모든 플러그인을 로드하면 부팅이 느려지듯, 필요한 것만 가볍게 시작하는 게 좋습니다.
10.8 실습 과제
.mcp.json에filesystem과playwright를 함께 설정하고, AI에게 "index.html 파일을 읽어줘"라고 요청해보세요.claude/commands/에 자신만의 커스텀 슬래시 커맨드를 하나 만들어보세요- Plan Mode로 "MediaPipe 손 추적 웹앱"의 전체 구조를 AI와 논의해보세요 (코드 작성 금지!)
- 세 플랫폼(Codex, Claude, Gemini) 중 하나를 선택하여, 해당 플랫폼의 MCP 설정을 완성해보세요