Skip to main content
Glama
USECASES.md20.5 kB
# Gemini MCP 실전 활용 가이드 ## 📋 목차 1. [프로젝트 개요](#프로젝트-개요) 2. [실전 워크플로우](#실전-워크플로우) 3. [유스케이스 1: 부사수 코드 리뷰](#유스케이스-1-부사수-코드-리뷰) 4. [유스케이스 2: 대규모 리팩토링](#유스케이스-2-대규모-리팩토링) 5. [유스케이스 3: 프로젝트 온보딩](#유스케이스-3-프로젝트-온보딩) 6. [유스케이스 4: 아키텍처 설계](#유스케이스-4-아키텍처-설계) 7. [유스케이스 5: AI 이미지 생성](#유스케이스-5-ai-이미지-생성) 8. [일일 루틴 예시](#일일-루틴-예시) 9. [팁과 트릭](#팁과-트릭) --- ## 프로젝트 개요 ### 핵심 컨셉: Agent-to-Agent (A2A) 워크플로우 ``` 사용자 → Claude Code (메인) → Gemini (서브) → Claude Code (결과 정리) ``` **역할 분담:** - **Claude Code**: 일반 코딩, 디버깅, 파일 생성/수정, 사용자 대화 - **Gemini 2.5**: 대규모 컨텍스트 분석, 전체 코드베이스 리뷰 ### 언제 Gemini를 사용하나? #### ✅ Gemini 사용 (500줄+ 또는 15개+ 파일) - 전체 코드베이스 분석 - 대규모 코드 변경 리뷰 - 복잡한 아키텍처 설계 - 중복 코드 탐지 - 보안 취약점 스캔 #### ⏭️ Claude만 사용 (200줄 이하, 5개 이하 파일) - 단일 파일 수정 - 간단한 버그 수정 - 작은 기능 추가 - 일반 질의응답 --- ## 실전 워크플로우 ### 기본 패턴 ```bash # 1단계: 로컬 파일 수집 "local-search-mcp로 /path/to/project에서 최근 변경된 파일들 전부 가져와줘" # 2단계: Gemini 분석 요청 "ask_gemini 도구 사용: 프로젝트명 - 코드 리뷰 기술 스택: - ... <파일 내용들> 다음 관점에서 분석: 1. ... 2. ... 우선순위별 분류: 🚨 Critical ⚠️ High 💡 Medium 📝 Low" # 3단계: Claude가 결과 정리 및 액션 아이템 제시 ``` --- ## 유스케이스 1: 부사수 코드 리뷰 ### 상황 - **담당자**: 박지승 (2년차 주니어) - **프로젝트**: 인천공항 키오스크 (Vue 3 + Vite) - **리뷰 주기**: 매일 아침 09:00-10:30 - **변경 규모**: 일일 평균 300-1000줄, 10-30개 파일 ### 실제 프롬프트 (A2A 워크플로우) ``` Step 1: 변경 파일 수집 ──────────────────── "local-search-mcp로 /Users/yoonjongho/Desktop/YJH_folder/work/front-end/Kiosk_platform/packages/incheon 에서 어제부터 변경된 파일들 가져와줘" Step 2: Gemini 분석 (대규모일 경우) ──────────────────── "ask_gemini 도구 사용: 인천공항 키오스크 프로젝트 - 부사수 코드 리뷰 담당: 박지승 | 리뷰어: 윤종호 기술 스택: - Vue 3 Composition API - Pinia Store - Vite 7 - TypeScript [변경된 15개 파일 내용...] Linear 이슈: LIN-XXX '결제 시스템 구현' 다음 관점에서 종합 분석: 1. 전체 구현 방향 평가 2. Linear 이슈 요구사항 충족도 3. Vue Composition API 올바른 사용 - ref/reactive 적절성 - computed 성능 - lifecycle hooks 4. Pinia Store 패턴 일관성 5. API 에러 핸들링 완성도 6. 키오스크 UX 고려사항 - 터치 인터페이스 (44px+ 버튼) - 큰 폰트 - 타임아웃 처리 7. 보안 (결제/인증 정보 처리) 8. 성능 이슈 (불필요한 렌더링) 9. 코드 중복 및 리팩토링 기회 우선순위별 분류: 🚨 Critical (즉시 수정 필요) ⚠️ High (이번 주 내 수정) 💡 Medium (리팩토링 권장) 📝 Low (개선 제안)" Step 3: Linear 이슈 코멘트 (Claude) ──────────────────── "linear MCP로 LIN-XXX 이슈에 코멘트: 제목: 코드 리뷰 완료 - 수정 필요사항 안녕하세요, 지승님! 어제 작업하신 결제 시스템 구현 리뷰 완료했습니다. ✅ 잘하신 점 1. Composition API 깔끔하게 사용 2. Pinia Store 구조 명확 3. ... 🔧 수정 요청사항 🚨 Critical 1. 보안: src/api/payment.js:45 - 문제: 카드 정보 console.log 노출 - 수정: 민감 정보 로깅 제거 ⚠️ High 2. 성능: src/components/ProductList.vue:78 - v-for 내부 computed 호출 → 외부로 이동 💡 Medium 3. UX: 터치 버튼 44px+ 권장 (현재 32px) 수정 완료하시면 알려주세요! 리뷰어: 윤종호" ``` ### 실제 결과 **Before Gemini**: 리뷰 시간 45-60분 **After Gemini**: 리뷰 시간 20-30분 (50% 단축) **개선 효과:** - ✅ 전체 맥락 파악 시간 단축 - ✅ 놓치는 이슈 감소 (보안, 성능) - ✅ 일관된 리뷰 품질 - ✅ 부사수 성장 가속화 --- ## 유스케이스 2: 대규모 리팩토링 ### 상황 - **프로젝트**: ino-admin-web (Angular 20) - **작업**: BehaviorSubject → Signals 마이그레이션 - **범위**: 25개 컴포넌트, 8개 서비스, 1200줄 ### 실제 프롬프트 ``` Step 1: 현재 코드 수집 ──────────────────── "local-search-mcp로 /Users/yoonjongho/Desktop/YJH_folder/work/front-end/ino-admin-web/src/app 에서 'BehaviorSubject'를 포함한 파일들 찾아줘" Step 2: Gemini 분석 ──────────────────── "ask_gemini 도구 사용: ino-admin-web - BehaviorSubject → Signals 마이그레이션 분석 기술 스택: - Angular 20 Standalone - 현재: BehaviorSubject (RxJS) - 목표: Signals (Angular 20) [25개 파일 내용...] 다음 분석 요청: 1. 마이그레이션 전략 - 단계별 계획 (서비스 우선 vs 컴포넌트 우선) - 의존성 순서 (어떤 파일부터?) 2. 각 파일별 변환 계획 - BehaviorSubject → signal - combineLatest → computed - 구독 패턴 → effect 3. 주의사항 - 타입 안정성 - 성능 영향 - 테스트 필요 영역 4. 예상 소요 시간 및 리스크" Step 3: 단계별 실행 (Claude) ──────────────────── "Gemini 분석 결과를 바탕으로 가장 우선순위 높은 서비스 3개부터 마이그레이션 시작할게" ``` ### 실제 결과 **Gemini 제안:** ``` 1단계 (1-2일): Core Services - auth.service.ts - layout-state.service.ts - toast.service.ts 2단계 (2-3일): Feature Services - companies.service.ts - admin-users.service.ts 3단계 (2-3일): Components - 의존성 순서대로 25개 컴포넌트 ``` **효과:** - ✅ 마이그레이션 실패 0건 - ✅ 예상 시간 정확도 95% - ✅ 리스크 사전 파악 --- ## 유스케이스 3: 프로젝트 온보딩 ### 상황 - **신규 프로젝트**: urwi-app (Nuxt 3) - **상황**: 인수인계 없이 코드만 받음 - **목표**: 1시간 내 핵심 파악 ### 실제 프롬프트 ``` "gemini_analyze_codebase 도구 사용: directory: /Users/yoonjongho/Desktop/YJH_folder/work/front-end/urwi-app focus: architecture 다음 정보 추출: 1. 프로젝트 구조 - 디렉토리 역할 - 레이어 분리 (pages/components/composables) 2. 핵심 기능 - 주요 페이지 3-5개 - 주요 API 엔드포인트 3. 기술 스택 및 의존성 - 상태 관리 방식 - 렌더링 전략 (SSR/CSR) 4. 코드 품질 - 일관성 - 베스트 프랙티스 준수도 5. 잠재적 이슈 - 기술 부채 - 개선 기회 6. Quick Start 가이드 - 로컬 실행 방법 - 개발 환경 설정" ``` ### 실제 결과 **Gemini 응답 (요약):** ```markdown ## 프로젝트 개요 - Nuxt 3 + Pinia (Wiki 플랫폼) - SSR/CSR 혼합 전략 - 동적 라우팅: [wikiId]/feed ## 핵심 기능 1. 위키 생성/편집 2. 피드 시스템 (CSR) 3. 사용자 인증 (JWT) ## 잠재적 이슈 ⚠️ /pages/[wikiId]/feed - N+1 쿼리 가능성 💡 stores/wiki.ts - 캐싱 전략 부재 ## Quick Start $ npm install $ npm run dev # http://localhost:3000 ``` **효과:** - ✅ 온보딩 시간: 4시간 → 1시간 - ✅ 핵심 파악 정확도 높음 - ✅ 개선 포인트 즉시 인지 --- ## 유스케이스 4: 아키텍처 설계 ### 상황 - **프로젝트**: Kiosk_platform (신규) - **요구사항**: Monorepo + 멀티 리전 지원 - **제약**: 기존 Incheon 코드 재사용 ### 실제 프롬프트 ``` "ask_gemini 도구로 model을 'pro'로 설정: 키오스크 플랫폼 아키텍처 설계 요구사항: 1. Monorepo 구조 (PNPM Workspace) 2. 지역별 독립 배포 (AWS Amplify) 3. 공통 컴포넌트 라이브러리 4. 기존 인천 코드 마이그레이션 기술 스택: - Vue 3 + Vite - Pinia - PNPM Workspace 설계 요청: 1. 디렉토리 구조 2. 패키지 분리 전략 - packages/incheon - packages/dongseongro - packages/shared 3. 공통 로직 추출 방법 4. 독립 배포 전략 (Amplify 설정) 5. 개발 워크플로우 6. 마이그레이션 단계별 계획 7. 예상 이슈 및 해결 방안" ``` ### 실제 결과 **Gemini 제안 (Pro 모델):** ``` packages/ ├── incheon/ │ ├── src/ │ ├── amplify.yml │ └── package.json (name: @kiosk/incheon) ├── dongseongro/ │ └── ... (동일 구조) ├── shared/ │ ├── components/ │ ├── composables/ │ └── utils/ # pnpm-workspace.yaml packages: - 'packages/*' # 공통 로직 추출 @kiosk/shared → ESM import로 사용 # 독립 배포 각 패키지마다 별도 Amplify App ``` **효과:** - ✅ 설계 시간: 1주일 → 2일 - ✅ 아키텍처 견고성 향상 - ✅ 예상 문제 사전 방지 --- ## 유스케이스 5: AI 이미지 생성 ### 상황 - **프로젝트**: 키오스크 UI/UX 개선 - **요구사항**: - 프로토타입 이미지 생성 (무료) - 최종 배포용 고품질 이미지 (유료) - **작업**: 아이콘, 배경, 일러스트 제작 ### 시나리오 1: 빠른 프로토타입 (Nano Banana 🍌) **용도**: 디자인 아이디어 테스트, 목업 제작, 빠른 반복 ``` Step 1: 초안 생성 (무료) ──────────────────── "generate_image_gemini 도구 사용: prompt: A minimalist icon of a coffee cup for a kiosk interface, simple geometric shapes, flat design, navy blue and white colors, clean lines, suitable for touch screen numberOfImages: 4" Step 2: 반복 개선 (대화형) ──────────────────── "앞에서 생성한 이미지 중 3번째가 마음에 드는데, 좀 더 둥근 느낌으로 다시 생성해줘" Step 3: 다양한 스타일 테스트 ──────────────────── "같은 커피 아이콘을 1. 라인 아트 스타일 2. 3D 스타일 3. 손그림 스타일 로 각각 생성해줘" ``` **실제 결과:** - ⏱️ 생성 시간: 즉시 (10초 이내) - 💰 비용: **무료** (토큰 기반) - 🔄 반복: 무제한 (대화형 편집) - ✅ 용도: 프로토타입, A/B 테스트 ### 시나리오 2: 최종 배포용 (Imagen 3) **용도**: 실제 제품 배포, 마케팅 자료, 고품질 출력 ``` Step 1: 최종 이미지 생성 (유료) ──────────────────── "generate_image_imagen 도구 사용: prompt: Professional food photography of a latte with beautiful latte art, warm cafe lighting, shallow depth of field, high resolution, commercial quality, appealing composition numberOfImages: 4" Step 2: 베스트 선택 ──────────────────── "4개 중 가장 좋은 걸로 고해상도 버전 1개 더 생성해줘 좀 더 밝은 조명으로" ``` **실제 결과:** - ⏱️ 생성 시간: 10-15초 - 💰 비용: **$0.03/이미지** - 📸 품질: 포토리얼리스틱 - 🔒 보안: SynthID 워터마크 자동 포함 - ✅ 용도: 실제 배포, 프린트, 광고 ### 시나리오 3: 프로젝트 문서 이미지 **상황**: README, 발표 자료, 문서화 이미지 필요 ``` Step 1: 다이어그램/일러스트 (Nano Banana) ──────────────────── "generate_image_gemini 도구 사용: prompt: Technical diagram showing a microservices architecture with API gateway, multiple services, and databases. Clean infographic style, blue and orange colors, white background, clear labels numberOfImages: 2" Step 2: 아이콘 세트 생성 ──────────────────── "키오스크용 아이콘 세트 생성: 1. Home icon 2. Menu icon 3. Cart icon 4. User profile icon 일관된 스타일로, 64x64px, 심플한 라인 아트" ``` **효과:** - ✅ 디자이너 없이 빠른 비주얼 제작 - ✅ 문서화 품질 향상 - ✅ 팀 커뮤니케이션 개선 ### 시나리오 4: 실전 워크플로우 (2단계 전략) **전략**: Nano Banana로 테스트 → Imagen으로 최종화 ``` 1단계: 아이디어 탐색 (Nano Banana - 무료) ──────────────────── "generate_image_gemini로 배경 이미지 10가지 스타일 테스트 - 미니멀 - 따뜻한 - 모던 - 자연" 2단계: 최종 선정 및 고품질 생성 (Imagen 3 - 유료) ──────────────────── "2번 스타일이 좋네! generate_image_imagen으로 최종 배포용 고해상도 버전 생성" ``` **비용 최적화:** - 🟢 테스트 10회: $0 (Nano Banana) - 🔵 최종 1회: $0.03 (Imagen) - ✅ 총 비용: **$0.03** (vs 디자이너 외주 $50-100) ### 실전 팁 #### 1. 모델 선택 기준 | 목적 | 모델 | 이유 | |------|------|------| | 프로토타입 | Nano Banana 🍌 | 무료, 빠른 반복 | | A/B 테스트 | Nano Banana 🍌 | 다양한 옵션 생성 | | 최종 배포 | Imagen 3 | 포토리얼리스틱 | | 문서화 | Nano Banana 🍌 | 충분한 품질 | | 마케팅 자료 | Imagen 3 | 전문가급 품질 | | 아이콘/로고 | Imagen 3 | 선명한 텍스트 | #### 2. 프롬프트 작성 팁 **❌ 나쁜 예:** ``` "커피 이미지 만들어줘" ``` **✅ 좋은 예:** ``` "Professional food photography of espresso in white ceramic cup, top-down view, marble table, natural window lighting, high resolution, commercial quality, minimalist composition" ``` **핵심 요소:** - 📸 스타일: "professional photography", "flat design", "line art" - 🎨 색상: 구체적인 색상 명시 - 💡 조명: "warm lighting", "dramatic shadows" - 📏 구도: "centered", "top-down view", "close-up" - 🎯 용도: "for kiosk", "icon", "background" #### 3. 반복 개선 패턴 ``` 1차: "기본 이미지 4개 생성" 2차: "2번이 좋은데, 색상을 파란색으로" 3차: "좀 더 밝게" 4차: "완벽해! Imagen으로 최종 버전" ``` #### 4. 비용 관리 ``` 월 예상 사용: - Nano Banana: 무제한 (무료) - Imagen 3: 주 5-10개 → 월 $0.60-1.20 vs 디자이너 외주: - 아이콘 세트: $100-200 - 배경 이미지: $50-100 - 총 절감: 월 $150-300 ``` --- ## 일일 루틴 예시 ### 아침 루틴 (09:00-10:30) - 코드 리뷰 ```bash # Terminal 1: Claude Code 시작 $ claude # Claude 프롬프트 "오늘 아침 루틴: 부사수 코드 리뷰 1. git log 확인 2. 변경 규모 판단 3. Gemini 필요 시 A2A 워크플로우 4. Linear 이슈 코멘트" # Claude가 자동으로: # - git diff 확인 # - 파일 수/라인 수 카운트 # - 규모에 따라 Gemini 호출 여부 결정 # - 결과를 Linear에 코멘트 ``` ### 실제 시나리오 (큰 변경) ``` [Claude 판단] 변경: 18개 파일, 850줄 → Gemini 사용 권장 [자동 실행] 1. local-search-mcp로 파일 수집 2. ask_gemini로 종합 분석 3. Linear 코멘트 작성 4. 우선순위 액션 아이템 정리 [결과] ⏱️ 소요 시간: 25분 ✅ 발견 이슈: 8건 (Critical 2, High 3, Medium 3) ``` --- ## 팁과 트릭 ### 1. 효과적인 Gemini 프롬프트 작성 #### ❌ 나쁜 예 ``` "이 코드 리뷰해줘" ``` #### ✅ 좋은 예 ``` "ask_gemini 도구 사용: 프로젝트: {명확한 이름} 기술 스택: {구체적인 버전} [파일 내용] 분석 관점: 1. {구체적인 항목} 2. {측정 가능한 기준} 출력 형식: - 우선순위별 분류 - 구체적인 파일명:라인 - Before/After 코드 예시" ``` ### 2. 모델 선택 기준 #### 텍스트/코드 생성 | 상황 | 모델 | 이유 | |------|------|------| | 일반 코드 리뷰 | Flash | 무료, 충분히 빠름 | | 아키텍처 설계 | Pro (Gemini 3) | 복잡한 추론 필요 | | 보안 분석 | Pro (Gemini 3) | 정확도 중요 | | 중복 코드 탐지 | Flash | 패턴 매칭 중심 | #### 이미지 생성 | 상황 | 모델 | 이유 | |------|------|------| | 프로토타입/테스트 | Nano Banana 🍌 | 무료, 빠른 반복 | | 최종 배포 | Imagen 3 | 포토리얼리스틱 품질 | | 문서화/README | Nano Banana 🍌 | 충분한 품질 | | 마케팅/브랜딩 | Imagen 3 | 전문가급 품질 | ### 3. 변경 규모 자동 판단 스크립트 ```bash # .zshrc에 추가 function code_review_size() { local lines=$(git diff HEAD~5..HEAD --stat | tail -1 | awk '{print $4}') local files=$(git diff HEAD~5..HEAD --name-only | wc -l) echo "변경: ${files}개 파일, ${lines}줄" if [[ $files -gt 15 || $lines -gt 500 ]]; then echo "🔴 큰 변경 → Gemini 사용 권장" elif [[ $files -gt 5 || $lines -gt 200 ]]; then echo "🟡 중간 변경 → Claude 주의" else echo "🟢 작은 변경 → Claude만" fi } ``` ### 4. .clinerules와 연계 ```markdown # .clinerules 파일에 추가 ## A2A 워크플로우 기준 - 🟢 작은: ~200줄, ~5파일 → Claude만 - 🟡 중간: 200-500줄, 5-15파일 → Claude 주의 - 🔴 큰: 500줄+ 또는 15+파일 → Gemini→Claude ## 큰 변경 프롬프트 템플릿 """ ask_gemini 도구 사용: {프로젝트명} - {작업명} ... """ ``` ### 5. 비용 최적화 #### 텍스트/코드 생성 ```bash # Flash (무료) 우선 사용 ask_gemini → 기본적으로 Flash # Pro는 꼭 필요할 때만 - 아키텍처 설계 - 중요한 의사결정 - 복잡한 추론 # 월 예상 비용 Flash: $0 (무료) Pro (Gemini 3): 주 1-2회 사용 → 월 $5-10 ``` #### 이미지 생성 ```bash # 2단계 전략 (테스트 → 최종화) 1. Nano Banana로 무제한 테스트 (무료) 2. 최종 1-2개만 Imagen으로 생성 # 월 예상 비용 Nano Banana: 무제한 (무료) Imagen 3: 주 5-10개 → 월 $0.60-1.20 # 총 절감 효과 디자이너 외주 대비: 월 $150-300 절감 ``` ### 6. 일반적인 실수 #### ❌ 너무 작은 작업에 Gemini 사용 ``` 단일 파일 10줄 수정 → Gemini 호출 (불필요한 오버헤드) ``` #### ✅ 적절한 규모에만 사용 ``` 15개 파일, 800줄 변경 → Gemini 호출 (명확한 가치) ``` #### ❌ 컨텍스트 없는 질문 ``` "이 코드 분석해줘" (어떤 관점으로?) ``` #### ✅ 명확한 컨텍스트 제공 ``` "기술 스택: Vue 3 관점: 성능 최적화 특히: computed vs watch 사용" ``` --- ## 실전 체크리스트 ### 매일 아침 (코드 리뷰) - [ ] `git log --since="yesterday"` 확인 - [ ] 변경 규모 판단 (파일 수, 라인 수) - [ ] 규모에 따라 전략 선택 - [ ] Gemini 사용 시 A2A 워크플로우 - [ ] Linear 이슈 코멘트 작성 ### 새 프로젝트 시작 - [ ] `gemini_analyze_codebase` 로 구조 파악 - [ ] 핵심 파일 3-5개 확인 - [ ] 기술 부채 리스트 작성 - [ ] `.clinerules` 작성 ### 대규모 리팩토링 - [ ] Gemini로 마이그레이션 계획 수립 - [ ] 단계별 실행 순서 확정 - [ ] 각 단계마다 테스트 계획 - [ ] 롤백 전략 준비 ### 아키텍처 설계 - [ ] Pro 모델 사용 고려 - [ ] 요구사항 명확히 정리 - [ ] 제약사항 명시 - [ ] 여러 대안 비교 요청 --- ## 마치며 ### 핵심 원칙 1. **적재적소**: 작은 작업은 Claude만, 큰 작업은 Gemini 2. **명확한 컨텍스트**: 프로젝트 정보, 기술 스택, 분석 관점 3. **A2A 워크플로우**: Claude → Gemini → Claude 4. **비용 최적화**: Flash 우선, Pro는 필요시만 ### 기대 효과 - ⏱️ **시간 절약**: 코드 리뷰 50% 단축 - 🎯 **품질 향상**: 놓치는 이슈 감소 - 📈 **생산성**: 대규모 작업 빠른 착수 - 🧠 **학습**: AI의 인사이트 습득 ### 다음 단계 1. 자신의 프로젝트에 적용 2. `.clinerules`에 A2A 기준 추가 3. 일일/주간 루틴 확립 4. 팀에 공유 (효과 입증 후) --- **Happy Coding with Claude & Gemini! 🚀**

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yoon-jongho/claude-to-gemini'

If you have feedback or need assistance with the MCP directory API, please join our Discord server