본문 바로가기
인공지능 (AI,GPT)

Claude와 Gemini CLI MCP 통합 최강 듀오! AI 워크플로우 자동화 완전체

by 날으는물고기 2025. 7. 9.

Claude와 Gemini CLI MCP 통합 최강 듀오! AI 워크플로우 자동화 완전체

728x90

클로드를 두뇌로, 제미니 CLI를 데이터 스펀지로 활용

  • Claude가 Gemini를 부리는 법?
  • "Claude야, Gemini 불러줘"
  • Claude에서 Gemini CLI를 연결하는 방법
300x250

클로드(Claude)와 제미니 CLI(Gemini CLI)를 효과적으로 조합하면 각 도구의 장점을 극대화할 수 있습니다. 클로드는 뛰어난 추론 능력과 코드 작성 능력을, 제미니는 대용량 컨텍스트 처리 능력을 제공합니다.

핵심 전략

  • 클로드: 복잡한 로직 설계, 코드 작성, 문제 해결 (두뇌 역할)
  • 제미니 CLI: 대규모 코드베이스 분석, 정보 수집 (데이터 스펀지 역할)

🔧 기본 설정

1. CLAUDE.md 파일 설정

# Using Gemini CLI for Large Codebase Analysis

When analyzing large codebases or multiple files that might exceed context limits, 
use the Gemini CLI with its massive context window. Use `gemini -p` to leverage 
Google Gemini's large context capacity.

## File and Directory Inclusion Syntax

Use the `@` syntax to include files and directories in your Gemini prompts. 
The paths should be relative to WHERE you run the gemini command.

2. 제미니 CLI 기본 사용법

# 단일 파일 분석
gemini -p "@src/main.py 이 파일의 목적과 구조를 설명해줘"

# 여러 파일 분석
gemini -p "@package.json @src/index.js 코드에서 사용된 의존성을 분석해줘"

# 전체 디렉토리 분석
gemini -p "@src/ 이 코드베이스의 아키텍처를 요약해줘"

# 현재 디렉토리 전체 분석
gemini -p "@./ 이 전체 프로젝트에 대한 개요를 제공해줘"

# --all_files 플래그 사용
gemini --all_files -p "프로젝트 구조와 의존성을 분석해줘"

🎯 활용 시나리오별 예시

1. 기능 구현 확인

# 다크 모드 구현 확인
gemini -p "@src/ @lib/ 이 코드베이스에 다크 모드가 구현되어 있나요? 
관련 파일과 함수를 보여주세요"

# JWT 인증 구현 확인
gemini -p "@src/ @middleware/ JWT 인증이 구현되어 있나요? 
모든 인증 관련 엔드포인트와 미들웨어를 나열해주세요"

# React 훅 패턴 검색
gemini -p "@src/ WebSocket 연결을 처리하는 React 훅이 있나요? 
파일 경로와 함께 나열해주세요"

2. 보안 및 성능 검토

# 에러 처리 검토
gemini -p "@src/ @api/ 모든 API 엔드포인트에 적절한 에러 처리가 
구현되어 있나요? try-catch 블록의 예시를 보여주세요"

# 레이트 리미팅 확인
gemini -p "@backend/ @middleware/ API에 레이트 리미팅이 구현되어 있나요? 
구현 세부사항을 보여주세요"

# 캐싱 전략 검토
gemini -p "@src/ @lib/ @services/ Redis 캐싱이 구현되어 있나요? 
모든 캐시 관련 함수와 사용법을 나열해주세요"

# SQL 인젝션 보호 확인
gemini -p "@src/ @api/ SQL 인젝션 보호가 구현되어 있나요? 
사용자 입력이 어떻게 살균되는지 보여주세요"

3. 테스트 커버리지 확인

# 특정 모듈 테스트 확인
gemini -p "@src/payment/ @tests/ 결제 처리 모듈이 완전히 테스트되었나요? 
모든 테스트 케이스를 나열해주세요"

# 전체 테스트 커버리지 분석
gemini -p "@src/ @tests/ 소스 코드에 대한 테스트 커버리지를 분석해주세요"

🚀 고급 활용법

1. 자동화된 워크플로우 (Reddit 사용자 제안)

Reddit 사용자가 제안한 bash 함수를 활용한 자동화 예시

#!/bin/bash

# Claude와 Gemini를 연결하는 함수
claude_gemini_bridge() {
    local claude_output="$1"

    # Claude의 /tools 블록 파싱
    tools_block=$(echo "$claude_output" | grep -A 100 "/tools")

    # @ 경로를 절대 경로로 변환
    absolute_paths=$(echo "$tools_block" | sed 's/@/$(pwd)\//g')

    # Gemini에 전달하여 분석
    gemini_result=$(echo "$absolute_paths" | gemini -p -)

    # 결과를 Claude에 다시 전달
    echo "$gemini_result" | claude --hidden-system-message
}

# 파일 변경 감지 및 자동 분석
watch_and_analyze() {
    inotifywait -m -r -e modify,create,delete ./src |
    while read path action file; do
        echo "파일 변경 감지: $file"

        # 대규모 리팩토링 시 자동 동기화
        gemini -p "@src/ 최근 변경사항을 분석하고 영향받는 부분을 찾아주세요" |
        claude_gemini_bridge
    done
}

2. 토큰 절약을 위한 전처리

# ripgrep을 사용한 사전 필터링
search_and_analyze() {
    local pattern="$1"
    local analysis_request="$2"

    # ripgrep으로 패턴 매칭
    rg_results=$(rg -A 3 -B 3 "$pattern" --json)

    # 매칭 결과만 Gemini로 전송
    echo "$rg_results" | gemini -p "$analysis_request"
}

# 사용 예시
search_and_analyze "useEffect" "@결과 React 훅 사용 패턴을 분석해주세요"

3. 프로젝트별 맞춤 설정

# 프로젝트 설정 파일 (.gemini-claude-config)
cat > .gemini-claude-config << EOF
{
    "large_analysis_threshold": 100000,  # 100KB 이상일 때 Gemini 사용
    "auto_delegate_patterns": [
        "전체.*분석",
        "아키텍처.*검토",
        "보안.*감사"
    ],
    "claude_preferred_tasks": [
        "리팩토링",
        "버그 수정",
        "코드 작성"
    ]
}
EOF

📊 사용 시나리오별 도구 선택 가이드

작업 유형 권장 도구 이유
전체 코드베이스 분석 Gemini CLI 대용량 컨텍스트 처리 가능
복잡한 버그 수정 Claude 뛰어난 추론 능력
아키텍처 문서화 Gemini → Claude Gemini로 수집, Claude로 정리
코드 리팩토링 Claude 정밀한 코드 수정 능력
보안 감사 Gemini CLI 전체 코드베이스 스캔
새 기능 구현 Claude 창의적 문제 해결

💡 실전 팁

1. 효율적인 프롬프트 작성

# 비효율적 (너무 광범위함)
gemini -p "@src/ 코드를 분석해줘"

# 효율적 (구체적이고 목적이 명확함)
gemini -p "@src/ @lib/ 이 프로젝트에서 사용하는 상태 관리 패턴을 찾아서 
각 패턴의 장단점을 분석해주세요. Redux, Context API, 또는 
다른 상태 관리 라이브러리 사용 여부를 확인해주세요"

2. 결과 후처리

# Gemini 결과를 Claude에 전달하여 개선
gemini_analysis=$(gemini -p "@src/ 컴포넌트 구조 분석")

echo "$gemini_analysis" | claude --prompt "
위 분석 결과를 바탕으로:
1. 개선이 필요한 부분을 찾아주세요
2. 리팩토링 계획을 수립해주세요
3. 구체적인 코드 예시를 제공해주세요
"

3. 컨텍스트 관리 전략

# 대규모 분석은 Gemini로
gemini -p "@./ 프로젝트 전체 의존성 트리를 분석해주세요" > deps_analysis.txt

# 상세한 작업은 Claude로 (필요한 부분만 전달)
cat deps_analysis.txt | grep "security" | claude --prompt "
보안 관련 의존성 중 업데이트가 필요한 것들을 찾고
업데이트 계획을 수립해주세요
"

🎓 베스트 프랙티스

  1. 역할 분담 명확화
    • Gemini: 정보 수집, 패턴 검색, 대규모 분석
    • Claude: 의사결정, 코드 작성, 복잡한 문제 해결
  2. 점진적 분석
    • 먼저 Gemini로 전체 구조 파악
    • 필요한 부분만 Claude로 심층 분석
  3. 자동화 우선
    • 반복적인 작업은 스크립트로 자동화
    • Git hooks, CI/CD와 연동
  4. 토큰 효율성
    • 대용량 파일은 Gemini로 요약 후 Claude에 전달
    • 불필요한 코드는 사전 필터링
  5. 버전 관리 통합
    # Git pre-commit hook 예시
    #!/bin/bash
    gemini -p "@staged 커밋될 변경사항이 코딩 표준을 따르나요?" || exit 1

이러한 방식으로 Claude와 Gemini CLI를 조합하면, 대규모 프로젝트에서도 효율적으로 작업할 수 있으며, 각 도구의 강점을 최대한 활용할 수 있습니다.

Claude에서 Gemini CLI를 MCP 방식으로 활용하는 방법

MCP는 AI 어시스턴트가 외부 도구와 상호작용할 수 있게 하는 프로토콜입니다. Claude가 Gemini CLI의 강력한 분석 능력을 직접 활용할 수 있게 해줍니다.

MCP의 장점

  • 통합된 워크플로우: Claude 내에서 직접 Gemini 호출
  • 자동화된 컨텍스트 전달: 수동 복사/붙여넣기 불필요
  • 토큰 절약: 대용량 파일 분석을 Gemini에 위임
  • 실시간 상호작용: Claude와 Gemini 간 즉각적인 데이터 교환

🚀 Gemini MCP Tool 설치 및 설정

1. 원라인 설치 (권장)

claude mcp add gemini-cli -- npx -y gemini-mcp-tool

2. 설치 확인

Claude Code 내에서 /mcp 입력하여 gemini-cli MCP가 활성화되었는지 확인

3. 대체 설치 방법

Claude Desktop에서 가져오기

이미 Claude Desktop에 설정이 있다면

claude mcp add-from-claude-desktop

전역 설치

npm install -g gemini-mcp-tool

⚙️ 상세 설정

1. Claude Desktop 설정 파일 위치

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/claude/claude_desktop_config.json

2. NPX 사용 설정 (권장)

{
  "mcpServers": {
    "gemini-cli": {
      "command": "npx",
      "args": ["-y", "gemini-mcp-tool"]
    }
  }
}

3. 전역 설치 사용 설정

{
  "mcpServers": {
    "gemini-cli": {
      "command": "gemini-mcp"
    }
  }
}

🛠️ 사용 가능한 명령어

1. AI 도구 (Claude가 사용)

ask-gemini

기능: Google Gemini에 분석 요청
매개변수:
  - prompt (필수): 분석 요청 내용
  - model (선택): Gemini 모델 선택 (기본: gemini-2.5-flash)
  - sandbox (선택): 안전한 코드 실행을 위한 샌드박스 모드

sandbox-test

기능: Gemini 샌드박스에서 안전하게 코드 실행
매개변수:
  - prompt (필수): 코드 테스트 요청
  - model (선택): Gemini 모델 선택

2. 사용자 슬래시 명령어

/analyze

파일이나 디렉토리 분석, 일반 질문

/analyze prompt:@src/ 이 디렉토리를 요약해줘
/analyze prompt:최신 기술 뉴스를 검색해줘

/sandbox

안전한 코드 테스트

/sandbox prompt:CSV 데이터를 처리하는 Python 스크립트 만들고 실행해줘
/sandbox prompt:@script.py 이 스크립트를 안전하게 테스트해줘

📚 실전 활용 예시

1. 파일 참조를 통한 분석 (@ 구문)

# 단일 파일 분석
"gemini를 사용해서 @src/main.js를 분석하고 무엇을 하는지 설명해줘"

# 현재 디렉토리 요약
"gemini로 @. 현재 디렉토리를 요약해줘"

# package.json 의존성 분석
"@package.json을 분석하고 의존성에 대해 알려줘"

# 여러 파일 동시 분석
"gemini로 @src/components/ @src/hooks/ 이 두 디렉토리의 관계를 분석해줘"

2. 일반 질문 (파일 참조 없이)

# 최신 뉴스 검색
"gemini에게 최신 기술 뉴스를 검색해달라고 해줘"

# 개념 설명
"gemini를 사용해서 양자 컴퓨팅을 설명해줘"

# 베스트 프랙티스 조언
"gemini에게 React 개발 베스트 프랙티스에 대해 물어봐"

3. 샌드박스 모드 활용

# 안전한 스크립트 생성 및 실행
"gemini 샌드박스를 사용해서 데이터를 처리하는 Python 스크립트를 만들고 실행해줘"

# 기존 스크립트 안전하게 테스트
"gemini에게 @script.py를 안전하게 테스트하고 무엇을 하는지 설명해달라고 해줘"

# 패키지 설치 및 시각화
"gemini 샌드박스를 사용해서 numpy를 설치하고 데이터 시각화를 만들어줘"

# API 호출 스크립트 테스트
"이 코드를 안전하게 테스트해줘: API에 HTTP 요청을 하는 스크립트 만들기"

🔄 워크플로우 통합 패턴

1. 대규모 코드베이스 분석 워크플로우

graph LR
    A[Claude에서 작업 시작] --> B{컨텍스트 크기 확인}
    B -->|대용량| C[Gemini MCP로 분석 요청]
    B -->|소용량| D[Claude가 직접 처리]
    C --> E[Gemini가 분석 수행]
    E --> F[결과를 Claude에 반환]
    F --> G[Claude가 결과 기반 작업 수행]

2. 실시간 분석 예시

# Claude 내에서 실행
"""
1. 먼저 전체 프로젝트 구조를 파악해보겠습니다.
   gemini를 사용해서 @./ 프로젝트 전체 구조를 분석해줘

2. [Gemini 결과 수신 후]
   특정 모듈에 집중해보겠습니다.
   gemini로 @src/auth/ 인증 모듈의 보안 취약점을 검사해줘

3. [분석 결과 기반]
   이제 개선사항을 구현하겠습니다.
   [Claude가 직접 코드 작성]
"""

3. 점진적 리팩토링 워크플로우

# 1단계: 현재 상태 분석
"gemini를 사용해서 @src/ 코드 품질과 개선이 필요한 부분을 찾아줘"

# 2단계: 영향 범위 파악
"gemini로 @src/components/UserProfile.js를 리팩토링하면 영향받는 파일들을 찾아줘"

# 3단계: Claude가 리팩토링 수행
"위 분석을 바탕으로 UserProfile 컴포넌트를 리팩토링하겠습니다"

# 4단계: 검증
"gemini 샌드박스로 리팩토링된 코드가 제대로 작동하는지 테스트해줘"

🎯 고급 활용 기법

1. 컨텍스트 최적화 전략

// Claude 내부 로직 (의사코드)
function analyzeWithOptimalTool(files) {
    const totalSize = calculateTotalSize(files);

    if (totalSize > CLAUDE_CONTEXT_LIMIT) {
        // Gemini MCP 자동 호출
        return callGeminiMCP({
            prompt: `@${files.join(' @')} 분석해줘`,
            model: 'gemini-2.5-flash'
        });
    } else {
        // Claude가 직접 처리
        return claudeDirectAnalysis(files);
    }
}

2. 병렬 분석 패턴

# 여러 측면을 동시에 분석
parallel_analysis() {
    # 보안 분석
    "gemini로 @backend/ 보안 취약점을 찾아줘" &

    # 성능 분석
    "gemini로 @src/ 성능 병목 지점을 찾아줘" &

    # 코드 품질 분석
    "gemini로 @./ 코드 스멜과 안티패턴을 찾아줘" &

    wait  # 모든 분석 완료 대기
}

3. 템플릿 기반 분석

# 프로젝트 분석 템플릿
project_analysis_template:
  architecture:
    prompt: "gemini로 @src/ 전체 아키텍처를 다이어그램으로 설명해줘"

  dependencies:
    prompt: "gemini로 @package.json @yarn.lock 의존성 트리와 보안 이슈를 분석해줘"

  performance:
    prompt: "gemini로 @src/ 성능 최적화가 필요한 부분을 찾아줘"

  security:
    prompt: "gemini로 @./ OWASP Top 10 기준으로 보안 검사를 수행해줘"

💡 베스트 프랙티스

1. 효과적인 프롬프트 작성

# ❌ 비효율적
"gemini로 코드 봐줘"

# ✅ 효율적
"gemini를 사용해서 @src/api/ REST API 엔드포인트의 에러 처리 패턴을 분석하고, 
일관성 없는 부분을 찾아서 개선 방안을 제시해줘"

2. 모델 선택 전략

// 작업별 최적 모델 선택
const modelSelection = {
    quickAnalysis: 'gemini-2.5-flash',  // 빠른 분석
    deepAnalysis: 'gemini-2.5-pro',      // 심층 분석
    codeGeneration: 'gemini-2.5-flash',  // 코드 생성
    securityAudit: 'gemini-2.5-pro'      // 보안 감사
};

3. 에러 처리 및 폴백

# 에러 처리 패턴
try_gemini_analysis() {
    # 1차 시도: Gemini MCP
    result=$(claude_command "gemini로 @large_file.js 분석해줘")

    if [ $? -ne 0 ]; then
        # 폴백: 파일을 청크로 나누어 분석
        split_and_analyze "large_file.js"
    fi
}

🔧 문제 해결 가이드

일반적인 문제와 해결법

문제 원인 해결 방법
MCP가 인식되지 않음 설정 파일 오류 설정 파일 경로와 JSON 구문 확인
Gemini 응답 없음 API 한도 초과 일일/분당 요청 제한 확인
@ 구문 작동 안 함 상대 경로 문제 현재 작업 디렉토리 확인
샌드박스 오류 권한 문제 샌드박스 모드 명시적 활성화

디버깅 명령어

# MCP 상태 확인
/mcp

# 연결 테스트
/ping message:"MCP 연결 테스트"

# 도움말 확인
/help

📊 성능 비교 및 사용 지침

작업별 도구 선택 매트릭스

작업 유형 Claude 직접 Gemini MCP 이유
100KB 이하 파일 오버헤드 없이 빠른 처리
1MB 이상 파일 컨텍스트 한계 초과
창의적 코드 작성 Claude의 추론 능력 활용
패턴 검색 대규모 검색에 효율적
실시간 상호작용 낮은 지연시간 필요
보안 감사 전체 코드베이스 스캔

🚀 실전 활용 시나리오

시나리오 1: 레거시 코드 현대화

# 1. 현재 상태 파악
"gemini를 사용해서 @legacy/ 폴더의 코드 연령과 기술 스택을 분석해줘"

# 2. 의존성 분석
"gemini로 @legacy/ 코드가 사용하는 모든 외부 의존성과 버전을 찾아줘"

# 3. 마이그레이션 계획
"위 분석을 바탕으로 단계별 현대화 계획을 수립해주세요" # Claude가 처리

# 4. 영향 범위 확인
"gemini로 @legacy/core.js를 수정하면 영향받는 모든 파일을 찾아줘"

시나리오 2: 성능 최적화

# 1. 병목 지점 찾기
"gemini를 사용해서 @src/ 에서 O(n²) 이상의 시간 복잡도를 가진 함수들을 찾아줘"

# 2. 메모리 사용 분석
"gemini로 @src/ 메모리 누수 가능성이 있는 패턴을 찾아줘"

# 3. 최적화 구현
# Claude가 직접 최적화된 코드 작성

# 4. 검증
"gemini 샌드박스로 최적화 전후 성능을 비교 테스트해줘"

이러한 MCP 통합 방식을 통해 Claude와 Gemini CLI의 장점을 최대한 활용하면서, 효율적이고 강력한 개발 워크플로우를 구축할 수 있습니다.

728x90
그리드형(광고전용)

댓글