실습 설정 안내 및 요구사항
계정과 진행 상황을 보호하세요. 이 실습을 실행하려면 항상 시크릿 브라우저 창과 실습 사용자 인증 정보를 사용하세요.

바이브 코딩 및 Gemini CLI 시작하기

실습 1시간 30분 universal_currency_alt 크레딧 3개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
이 콘텐츠는 아직 휴대기기에 최적화되지 않음
최상의 경험을 위해 데스크톱 컴퓨터에서 이메일로 전송된 링크를 사용하여 방문하세요.

GSP1348

Google Cloud 사용자 주도형 실습 로고

개요

바이브 코딩은 인공지능(AI)을 사용하여 자연어 프롬프트에서 기능 코드를 생성하여 개발을 가속하고 앱 빌드의 접근성을 향상할 수 있도록 하는 새로운 소프트웨어 개발 방식입니다. 특히 프로그래밍 경험이 적은 개발자에게 유용합니다.

2025년 초에 AI 연구원 안드레이 카르파티가 처음 사용한 이 용어는 코드를 한 줄씩 작성하는 것에서 Gemini CLI 같은 AI 어시스턴트가 대화식 프로세스를 통해 애플리케이션을 생성, 수정, 디버그하도록 안내하는 것으로 개발자의 기본 역할이 바뀐 워크플로를 설명합니다. 실제 코드 작성은 AI가 처리하도록 하고 개발자는 앱의 큰 그림이나 주요 목표에 대해 생각하는 데 집중할 수 있습니다.

Gemini CLI는 터미널에서 바로 Gemini의 기능을 사용할 수 있도록 지원하는 오픈소스 AI 에이전트입니다. Gemini CLI 프로젝트는 오픈소스이므로 개발자는 공개 로드맵에서 기능 개선사항, 예정된 기능, 버그 수정에 대해 자세히 알아볼 수 있습니다.

학습할 내용

이 실습에서는 다음 작업을 수행하는 방법을 알아봅니다.

  • Gemini CLI를 사용할 수 있도록 구성합니다.
  • Gemini CLI와 상호작용합니다.
  • Gemini CLI 기본 제공 도구를 살펴봅니다.
  • 셸 모드에서 Gemini CLI를 사용합니다.
  • Gemini CLI에서 MCP 서버를 구성하는 방법을 알아봅니다.
  • Gemini CLI로 바이브 코딩을 진행합니다.

필요한 사항

이 실습은 Google Cloud Shell에서 처음부터 끝까지 진행할 수 있습니다. Google Cloud Shell에는 Gemini CLI가 사전 설치되어 있습니다.

이 실습은 초보자 포함 모든 수준의 사용자와 개발자를 대상으로 합니다.

설정 및 요건

실습 시작 버튼을 클릭하기 전에

다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.

실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.

이 실습을 완료하려면 다음을 준비해야 합니다.

  • 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
참고: 이 실습을 실행하려면 시크릿 모드(권장) 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학습자 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
  • 실습을 완료하기에 충분한 시간(실습을 시작하고 나면 일시중지할 수 없음)
참고: 이 실습에는 학습자 계정만 사용하세요. 다른 Google Cloud 계정을 사용하는 경우 해당 계정에 비용이 청구될 수 있습니다.

Cloud Shell 활성화

Cloud Shell은 다양한 개발 도구가 탑재된 가상 머신으로, 5GB의 영구 홈 디렉터리를 제공하며 Google Cloud에서 실행됩니다. Cloud Shell을 사용하면 명령줄을 통해 Google Cloud 리소스에 액세스할 수 있습니다.

  1. Google Cloud 콘솔 상단에서 Cloud Shell 활성화 Cloud Shell 활성화 아이콘를 클릭합니다.

  2. 다음 창을 클릭합니다.

    • Cloud Shell 정보 창을 통해 계속 진행합니다.
    • 사용자 인증 정보를 사용하여 Google Cloud API를 호출할 수 있도록 Cloud Shell을 승인합니다.

연결되면 사용자 인증이 이미 처리된 것이며 프로젝트가 학습자의 PROJECT_ID, (으)로 설정됩니다. 출력에 이 세션의 PROJECT_ID를 선언하는 줄이 포함됩니다.

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud는 Google Cloud의 명령줄 도구입니다. Cloud Shell에 사전 설치되어 있으며 명령줄 자동 완성을 지원합니다.

  1. (선택사항) 다음 명령어를 사용하여 활성 계정 이름 목록을 표시할 수 있습니다.
gcloud auth list
  1. 승인을 클릭합니다.

출력:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (선택사항) 다음 명령어를 사용하여 프로젝트 ID 목록을 표시할 수 있습니다.
gcloud config list project

출력:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 참고: gcloud 전체 문서는 Google Cloud에서 gcloud CLI 개요 가이드를 참고하세요.

작업 1. 필요에 맞게 Gemini CLI 구성하기

Gemini CLI에서 Cloud Logging 사용 설정하기

이 실습의 일부 작업에서 채점 기능이 작동하도록 하려면 Gemini CLI에서 Cloud Logging을 사용 설정해야 합니다.

  • Cloud Shell에서 다음 명령어를 실행하여 Gemini CLI에 대해 Cloud Logging을 구성합니다.
export ZONE=$(gcloud compute instances list \ --filter "name="lab-vm"" --format "value(zone.basename())") export EXTERNAL_IP=$(gcloud compute instances describe \ lab-vm --zone=$ZONE \ --format='get(networkInterfaces[0].accessConfigs[0].natIP)')

Gemini CLI 구성 옵션

Gemini CLI의 동작은 구성 파일과 환경 변수로 제어됩니다. 주요 파일이 두 개 있습니다.

  • .gemini/settings.json: 이 파일은 CLI의 구성과 외부 도구에 연결하는 방식을 제어합니다.

  • GEMINI.md: 이 파일은 모델에 자연어 가이드라인과 컨텍스트를 제공합니다. CLI는 이 파일을 읽고 프로젝트의 코딩 표준과 규칙을 이해합니다.

settings.json을 통한 Gemini CLI 구성

Cloud Shell을 사용하여 Gemini를 실행하면 Gemini CLI의 기본 테마와 인증 방법이 미리 선택되고 구성되어 있습니다. Gemini CLI가 사용자의 선호사항을 '기억'하는 데 사용하는 파일은 settings.json입니다. 사용자는 이 파일을 사용하여 Gemini CLI를 맞춤설정할 수 있습니다.

Cloud Shell에서 이 파일은 다음 디렉터리에 있습니다.

~/.gemini/settings.json.

GEMINI.md를 통한 Gemini CLI 구성

~/.gemini/ 디렉터리에 있는 settings.json 파일을 통해 Gemini CLI의 일부 동작을 구성할 수 있으며, 여기에 더해 GEMINI.md도 Gemini CLI의 동작을 구성하는 데 사용할 수 있습니다.

GEMINI.md 파일은 Gemini 모델에 제공되는 지침 컨텍스트('메모리'라고도 함)를 구성하는 데 중요하게 사용되는 컨텍스트 파일입니다. 기본값은 GEMINI.md이며, 원하는 경우 settings.json 파일의 contextFileName 속성을 사용하여 구성할 수 있습니다.

이 파일을 사용하면 사용자의 필요에 따라 더 정확한 맞춤형 대답을 제공하도록 AI에 프로젝트 지침, 코딩 스타일 가이드 또는 관련 배경 정보를 제공할 수 있습니다.

GEMINI.md 파일은 마크다운 형식으로 되어 있습니다.

GEMINI.md 파일에는 무엇이 들어 있을까요? 다음은 공식 Gemini CLI 문서에 따라 생성된 예시에서 발췌한 콘텐츠입니다.

샘플 GEMINI.md 파일:

# Project: My Awesome TypeScript Library ## General Instructions: - When generating new TypeScript code, please follow the existing coding style. - Ensure all new functions and classes have JSDoc comments. - Prefer functional programming paradigms where appropriate. - All code should be compatible with TypeScript 5.0 and Node.js 20+. ## Coding Style: - Use 2 spaces for indentation. - Interface names should be prefixed with `I` (e.g., `IUserService`). - Private class members should be prefixed with an underscore (`_`). - Always use strict equality (`===` and `!==`). ## Specific Component: `src/api/client.ts` - This file handles all outbound API requests. - When adding new API call functions, ensure they include robust error handling and logging. - Use the existing `fetchWithRetry` utility for all GET requests. ## Regarding Dependencies: - Avoid introducing new external dependencies unless absolutely necessary. - If a new dependency is required, please state the reason.

샘플 GEMINI.md 파일에는 일반적인 지침 외에도 코딩 스타일, 종속 항목 관리 등에 관한 매우 구체적인 지침이 있는 것을 볼 수 있습니다. 사용자는 이 샘플과 비슷하게 사용 중인 프로그래밍 언어, 프레임워크, 코딩 스타일, 기타 프로젝트별 선호사항에 따라 자신만의 가이드라인을 작성할 수 있습니다.

GEMINI.md 파일은 Gemini CLI가 사용자의 선호사항을 따르도록 하기 위한 핵심입니다. 자세한 내용은 프로젝트에 대해 자동으로 이러한 파일을 생성하고 시스템 프롬프트를 맞춤설정하는 방법 등을 자세히 다루는 Practical Gemini CLI 시리즈를 참고하세요.

프로젝트별 구성 설정하기

Gemini CLI를 시작하기 전, 추후 모든 프로젝트의 홈 폴더로 사용할 폴더를 만들어야 합니다. 홈 폴더는 Gemini CLI가 작동할 때 가장 먼저 참고하는 곳입니다. 물론 이 외에도 필요한 경우에는 사용자의 시스템에 있는 다른 폴더도 참고합니다.

  1. Cloud Shell에서 다음 명령어를 실행하여 샘플 폴더 gemini-cli-projects를 만들고 이 폴더로 이동합니다.
mkdir gemini-cli-projects cd gemini-cli-projects
  1. 이제 다음 명령어를 실행하여 settings.json 구성 파일을 포함하는 .gemini 하위 디렉터리를 만듭니다.
mkdir -p .gemini echo '{ "telemetry": { "enabled": true, "target": "gcp", "otlpEndpoint": "http://${EXTERNAL_IP}:4318/v1/logs", "otlpProtocol": "http", "logPrompts": true, "useCollector": true } }' > .gemini/settings.json

Cloud Shell에는 Gemini CLI가 사전 설치되어 있습니다.

  1. Gemini CLI와 상호작용을 시작하려면 Cloud Shell 터미널에서 ✦ Gemini CLI 탭으로 전환합니다.

Gemini CLI를 처음 사용하는 경우 인증 방법을 선택하라는 메시지가 표시될 수 있습니다.

  1. 인증 모드를 선택하라는 메시지가 표시되면 2를 눌러 2. Use Cloud Shell user credentials를 선택합니다. 인증을 요청하는 메시지가 표시되지 않는다면 이 단계를 무시하고 실습을 진행하면 됩니다.

인증이 완료되면 Gemini CLI가 준비되어 명령어가 입력되기를 기다립니다. 다음은 샘플 스크린샷입니다.

샘플 Gemini CLI 인스턴스

여기서는 일단 Gemini CLI를 종료해도 됩니다. 다음 작업에서 모델을 사용하는 방법을 더 자세히 알아볼 것입니다.

  1. Ctrl+D 또는 Ctrl+C를 두 번 누르거나 /quit 명령어를 실행하여 Gemini CLI를 종료합니다.

작업 2. Gemini CLI와 상호작용하기

이 작업에서는 Gemini CLI를 시작합니다. 이 실습에서 채점 기능이 작동하도록 하기 위해 먼저 특정 버전의 Gemini CLI를 설치합니다. 그런 다음 앞에서 만든 프로젝트 폴더 내에서 작업하기 위해 새 Gemini 세션을 시작합니다.

  1. Cloud Shell에서 다음 명령어를 실행하여 해당 버전의 Gemini CLI를 전역으로 설치합니다. npm install -g @google/gemini-cli@0.6.1
참고: 설치 프로세스가 완료되기까지 최대 5분이 소요될 수 있습니다.
  1. 다음 명령어를 실행하여 Gemini CLI를 실행하고 새 세션을 시작합니다.

    gemini
  2. 다음을 복사하여 붙여넣은 다음 Enter 키를 눌러 Gemini CLI에 첫 번째 쿼리를 포함하는 프롬프트를 제공합니다.

인공지능에 관한 명언을 찾아 주고 누가 한 말인지 알려 줘.

예상 대답은 다음과 같습니다.

출력:

╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ ✓ GoogleSearch Searching the web for: "인공지능 관련 명언" │ │ │ │ Search results for "인공지능 관련 명언" returned. │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ✦ "완전한 인공지능의 개발은 인류의 종말을 의미할 수 있다." - 스티븐 호킹.

쿼리 결과로 GoogleSearch 도구(Gemini CLI의 기본 제공 도구)가 호출된 것을 볼 수 있습니다. 기본 제공 도구에 대해서는 이 실습의 뒷부분에서 자세히 알아봅니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. Gemini CLI와 상호작용하기

  1. Gemini CLI와 Gemini CLI가 지원하는 여러 명령어에 대해 빠르게 알아보는 한 가지 방법은 /help(정방향 슬래시)를 입력하여 다음과 같은 다양한 명령어와 키보드 단축키를 보는 것입니다.
/help 명령어 예시

/help 명령어는 소위 말하는 '슬래시 명령어'의 한 가지 예입니다. 이러한 기본 제공 Gemini CLI 명령어에 대해 자세히 알아보려면 슬래시 명령어(/) 문서를 참고하세요.

작업 3. Gemini CLI 기본 제공 도구 살펴보기

Gemini CLI에는 기본 제공 도구 모음이 함께 제공됩니다. 이러한 도구는 Gemini 모델이 사용자의 로컬 환경과 상호작용하고, 정보에 액세스하고, 작업을 수행하는 데 사용합니다. 기본 제공 도구는 CLI가 단순히 텍스트를 생성하는 것을 넘어 다양한 작업을 지원할 수 있도록 기능을 향상해 줍니다.

자세한 내용은 도구 문서를 참고하세요.

  • 현재 기본 제공되는 도구 목록을 가져오려면 /tools 명령어를 사용하면 됩니다. /tools

샘플 출력:

ℹ Available Gemini CLI tools: - Edit - FindFiles - GoogleSearch - ReadFile - ReadFolder - ReadManyFiles - Save Memory - SearchText - Shell - WebFetch - WriteFile

Gemini CLI는 원한다면 언제든지 이러한 도구를 호출할 수 있을까요? 답은 아니요입니다. 기본적으로 모델은 로컬 시스템에 쓰기, 외부 시스템에서 읽기, 외부 네트워크로 이동하기 등과 같은 민감한 작업을 수행할 때는 항상 권한을 요청합니다.

CLI를 시작할 때 --yolomode를 사용할 수 있긴 하지만 이는 일반적으로 권장되는 방식이 아닙니다. Gemini CLI가 선택한 도구를 실행하려고 할 때 사용자에게 권한을 요청하는 메시지가 표시될 수 있습니다. 사용자는 권한을 거부하거나, 한 번만 실행하도록 허용하거나, 항상 실행되도록 권한을 부여할 수 있습니다. 사용자가 모든 것을 제어할 수 있습니다.

CLI가 특정 기본 제공 도구를 사용하도록 프롬프트 입력하기

이 섹션에서는 Gemini CLI가 기본 제공 도구 중 하나를 선택하고 실행하도록 프롬프트를 입력하여 이 과정이 작동하는 방식을 알아봅니다.

전 세계 최신 금융 뉴스를 확인하고 Gemini CLI를 실행한 로컬 작업 디렉터리에 있는 파일에 저장하려 한다고 가정해 보겠습니다.

  1. Gemini CLI에 다음 프롬프트를 입력합니다.
전 세계 금융 분야 주요 뉴스 헤드라인을 검색해서 finance-news-today.txt라는 파일에 저장해 줘

Gemini CLI는 먼저 GoogleSearch 도구를 호출하여 웹을 검색합니다.

GoogleSearch 도구가 호출된 모습

검색이 완료되면 다음과 같이 데이터를 가져옵니다.

GoogleSearch 도구의 검색 결과

이 작업을 마치면 검색한 정보를 파일에 쓸 준비가 되고 WriteFile 도구를 사용합니다. 그러나 쓰기는 민감한 작업이므로 사용자에게 권한을 요청합니다. 사용자는 권한 유형(예: allow once, allow always 등)을 정할 수 있습니다.

  1. 여기서는 Enter 키를 눌러 allow once를 선택하세요.
WriteFile 도구의 출력

그러면 Gemini CLI가 이 정보를 파일에 쓰고 다음과 같이 성공 메시지를 출력합니다.

예상 출력:

✦ I have saved the latest finance headlines in finance-news-today.txt.

파일이 작성되었는지 확인하려면 @file을 사용하여 콘텐츠를 읽으라고 요청할 수 있습니다. @ 기호를 입력하면 방금 생성된 파일을 포함하여 현재 폴더에 있는 파일 목록이 표시됩니다.

참고: Flash 모델을 사용하려면 Cloud Shell에서 -m 파라미터 뒤에 모델 이름을 지정하는 다음 명령어를 실행하면 됩니다.

gemini -m "gemini-2.5-flash"

Gemini CLI가 실행되는 중에는 다음 스크린샷처럼 Gemini CLI 터미널의 오른쪽 하단에서 현재 실행 중인 모델을 확인할 수 있습니다.

Gemini CLI의 모델 이름

비대화형 모드 사용하기

Gemini CLI를 비대화형 모드로 실행하는 옵션도 있습니다. 비대화형 모드로 실행하면 Gemini CLI 대화형 터미널을 열지 않아도 사용자가 프롬프트를 입력하면 Gemini가 프롬프트에 대답합니다. 이 옵션은 스크립트나 그 밖의 자동화 프로세스의 일환으로 Gemini CLI를 자동화된 방식으로 사용하려는 경우에 유용합니다.

  1. Ctrl+D 또는 Ctrl+C를 두 번 누르거나 /quit 프롬프트를 실행하여 세션을 종료합니다.

  2. Cloud Shell에서 -p 파라미터 뒤에 프롬프트가 오는 다음 명령어를 실행합니다.

gemini -p "Cloud Run을 배포하는 gloud 명령어는?"

비대화형 모드에서는 후속 질문으로 대화를 이어갈 수 없다는 점에 유의하세요. 이 모드에서는 WriteFile을 비롯한 도구를 승인하거나 셸 명령어를 실행할 수도 없습니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. Gemini 비대화형 모드 사용하기

작업 4. 셸 모드에서 Gemini CLI 사용하기

Gemini CLI 내에서 바로 Shell을 사용할 수도 있습니다.

  1. 다음 명령어를 사용하여 Gemini CLI를 다시 시작합니다.
gemini
  1. 프롬프트 상자에서 !를 누릅니다. 그러면 Shell 모드로 전환됩니다.

셸 모드에서는 다음 스크린샷처럼 프롬프트 시작 부분에 !가 표시됩니다.

셸 모드가 사용 설정된 모습

셸 모드에서는 pwd, cat, ls와 같은 표준 명령어를 바로 사용할 수 있습니다.

이번에는 cat 명령어를 통해 파일의 콘텐츠를 출력해 보겠습니다.

  1. Gemini CLI에 다음 프롬프트를 입력합니다. cat finance-news-today.txt

출력 예시:

cat 명령어 출력 예시
  1. !를 다시 누르거나 ESC 키를 눌러 셸 모드를 종료합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 셸 모드에서 Gemini CLI 사용하기

작업 5. 모델 컨텍스트 프로토콜(MCP) 서버 구성하기

MCP 서버는 Gemini CLI가 외부 시스템 및 데이터 소스와 상호작용할 수 있도록 모델 컨텍스트 프로토콜을 통해 Gemini CLI에 도구와 리소스를 노출하는 애플리케이션입니다. MCP 서버는 Gemini 모델과 사용자의 로컬 환경 또는 API와 같은 다른 서비스 사이의 다리 역할을 합니다.

MCP 서버는 Gemini CLI가 도구를 발견하고 실행하여 기본 제공 기능을 넘어 데이터베이스, API, 커스텀 스크립트, 특수 워크플로와 상호작용하는 등의 작업을 수행하도록 지원합니다.

Gemini CLI는 커스텀 도구의 발견 및 사용을 위해 MCP 서버를 구성하는 작업을 지원합니다.

  1. Gemini CLI가 실행 중이라면 구성된 MCP 서버를 다음과 같이 /mcp 명령어를 통해 확인할 수 있습니다.
/mcp 명령어를 호출한 모습

구성된 MCP 서버가 없으면 Gemini CLI의 MCP 서버 문서가 실행됩니다.

MCP 서버는 ~/.gemini/settings.json 파일 또는 프로젝트의 루트 디렉터리에서 전역 수준으로 구성할 수 있습니다.

Gemini CLI가 실행 중이라면 Ctrl+D 또는 Ctrl+C를 두 번 눌러 세션을 종료합니다.

  1. Cloud Shell 터미널에서 툴바의 편집기 열기를 클릭하여 Cloud Shell 편집기를 실행합니다.
  2. .gemini 하위 디렉터리는 기본적으로 숨겨져 있으니 View > Toggle hidden files를 선택하여 숨은 파일과 디렉터리를 표시합니다.
  3. Cloud Shell 편집기에서 프로젝트 폴더 gemini-cli-projects에 있는 .gemini/settings.json 파일을 찾아서 엽니다.

~/.gemini/settings.json 파일에서 mcpServers 구성 블록을 구성해야 합니다. 이때 다음 구문이 사용됩니다.

"mcpServers": { "server_name_1": {}, "server_name_2": {}, "server_name_n": {} }

이 파일은 다음 작업에서 MCP 서버를 지원하도록 구성할 것입니다.

각 서버 구성은 참고 문서에 나와 있듯이 다음 속성을 지원합니다.

필수(다음 중 하나)

  • command(string): Stdio 전송의 실행 파일 경로
  • url(string): SSE 엔드포인트 URL(예: 'http://localhost:8080/sse')
  • httpUrl(string): HTTP 스트리밍 엔드포인트 URL

선택사항

  • args(string[]): Stdio 전송의 명령줄 인수
  • headers(object): url 또는 httpUrl을 사용하는 경우 커스텀 HTTP 헤더
  • env(object): 서버 프로세스를 위한 환경 변수. 값은 $$VAR_NAME 또는 $${VAR_NAME} 구문을 사용하여 환경 변수를 참조할 수 있습니다.
  • cwd(string): Stdio 전송의 작업 디렉터리
  • timeout(number): 요청 제한 시간(밀리초)(기본값: 600,000ms = 10분)
  • trust(boolean): true인 경우 이 서버에 대한 모든 도구 호출 확인을 우회함(기본값: false)
  • includeTools(string[]): 이 MCP 서버에서 포함할 도구 이름 목록. 지정된 경우 이 서버에서 여기에 나열된 도구만 사용할 수 있습니다(허용 목록 동작). 지정하지 않은 경우 서버의 모든 도구가 기본적으로 사용 설정됩니다.
  • excludeTools(string[]): 이 MCP 서버에서 제외할 도구 이름 목록. 여기에 나열된 도구는 서버에서 노출되었더라도 모델에서 사용할 수 없습니다. 참고: excludeTools는 includeTools보다 우선 적용됩니다. 즉, 두 목록에 모두 포함된 도구는 제외됩니다.
참고: 계속하기 전에, 서드 파티 MCP 서버에 연결하거나 이러한 서버를 통합할 때 주의를 기울여야 한다는 점에 유의하세요. 개인 정보와 시스템 무결성을 보호하려면 신뢰할 수 있고 철저한 검증을 거친 소스의 MCP 서버만 통합하는 것이 좋습니다.

Github MCP 서버 설정하기

GitHub 공식 MCP 서버는 서버가 노출하는 도구와 해당 도구를 구성하는 방법에 관한 자세한 문서를 제공합니다. Gemini CLI는 원격 MCP 서버도 지원하므로 서버를 로컬에서 또는 원격으로 실행할 수 있습니다.

이 섹션에서는 GitHub의 원격 MCP 서버를 설정합니다. 그러려면 먼저 GitHub에 개인 액세스 토큰(PAT)이 있어야 합니다.

그런 다음 settings.json 파일에 Github MCP 서버 구성을 가리키는 MCP 서버 객체를 추가해야 합니다.

클래식 GitHub PAT 만들기

이 섹션에서는 클래식 GitHub PAT를 만들고, 토큰 수명을 만료되지 않음으로 설정하고, 사용 가능한 모든 권한을 허용합니다.

  1. GitHub Developer Settings 페이지로 이동하여 Personal access tokens 드롭다운을 펼치고 Tokens (classic)을 선택합니다.
  2. Generate new token을 클릭하고 드롭다운에서 Generate new token (classic)을 선택합니다.
  3. Note 필드에 토큰의 고유한 이름을 입력하고 ExpirationNo expiration으로 설정한 다음 Select scopes 아래에서 사용 가능한 모든 권한을 허용하도록 체크박스를 선택합니다.
  4. Generate token을 클릭합니다.
  5. 복사 (⧉) 아이콘을 클릭하여 토큰을 클립보드에 복사하고 나중에 사용할 수 있도록 저장합니다.

자세한 내용은 개인 액세스 토큰(클래식) 만들기 GitHub 문서를 참고하세요.

Github MCP 서버 구성 진행하기

  1. Cloud Shell에서 다음 명령어를 실행하여 Cloud Shell 편집기에서 settings.json 파일을 엽니다.

    edit .gemini/settings.json
  2. settings.json 파일을 수정합니다. (지금은 파일이 다음과 같을 것입니다.)

    { "telemetry": { "enabled": true, "target": "gcp", "otlpEndpoint": "http://${EXTERNAL_IP}:4318/v1/logs", "otlpProtocol": "http", "logPrompts": true, "useCollector": true } }
  3. 아래 JSON 코드에서 "Bearer " 뒤의 [자리표시자]를 앞에서 복사해 둔 PAT로 바꾸고 파일 상단의 첫 번째 중괄호 뒤에 이 코드를 삽입합니다.

"theme": "Default", "mcpServers": { "github": { "httpUrl": "https://api.githubcopilot.com/mcp/", "trust": false, "headers": { "Authorization": "Bearer [replace-with-your-github-PAT]" } } },

settings.json에 이 외에 추가 설정이 있을 수 있지만, 최종 결과는 다음과 비슷할 것입니다.

{ "theme": "Default", "mcpServers": { "github": { "httpUrl": "https://api.githubcopilot.com/mcp/", "trust": false, "headers": { "Authorization": "Bearer [replace-with-your-github-PAT]" } } }, "telemetry": { "enabled": true, "target": "gcp", "otlpEndpoint": "http://${EXTERNAL_IP}:4318/v1/logs", "otlpProtocol": "http", "logPrompts": true, "useCollector": true } }
  1. 툴바에서 터미널 열기를 클릭하여 Cloud Shell 터미널로 돌아간 후 다음 명령어를 실행하여 업데이트된 settings.json 파일이 로드된 상태로 Gemini CLI를 시작합니다. 이렇게 하면 구성된 Github MCP 서버가 활성화됩니다.
gemini
  1. MCP 서버가 구성되었고 준비되었는지 확인하려면 /mcp 프롬프트를 입력합니다.

다음 스크린샷은 머신에 구성된 Github MCP 서버와 이제 Gemini CLI가 MCP와 함께 사용할 수 있는 각종 도구를 보여 줍니다.

샘플 출력:

구성된 MCP 서버 목록 출력

다음으로, GitHub MCP 서버의 도구 중 하나를 호출하는 프롬프트를 입력합니다.

  1. 다음 프롬프트를 입력합니다.
내 github 사용자 이름은?

예상 출력:

내 github 사용자 이름은? 명령어가 호출된 모습

Gemini CLI가 GitHub MCP 서버에서 올바른 도구를 선택한 것을 볼 수 있습니다. 그러나 다른 기본 제공 도구와 마찬가지로 이 도구를 호출하려면 사용자가 명시적인 권한을 제공해야 합니다.

  1. ENTER 키를 눌러 1. Yes, allow once를 선택하여 GitHub 서버의 'get_me' 도구가 쿼리를 실행할 수 있도록 합니다.
참고: 이 작업에 대해 점수를 받으려면 여기서 Yes, allow once를 선택해야 합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. '내 github 사용자 이름은?'이라고 묻기

이제 Github MCP 서버가 구성되었으므로 다음과 같이 자연어로 쿼리를 입력하여 Github 프로젝트를 사용할 수 있습니다.

  • <repo-name>에 대해 설명해 줘.
  • 내 로컬 머신에 <repo-name> 클론해 줘.
  • @<file-name> 또는 @<directory-name>에 대해 설명해 줘.
  • 이 저장소에는 어떤 구성요소가 있어?
  • 필요한 부분을 수정했어. 변경사항을 Github로 푸시해 줘. 이때 Github MCP 서버 도구를 사용해.

기타 MCP 서버

여러분이 관심 있을 만한 추가 MCP 서버 목록을 소개합니다.

이러한 MCP 서버를 설정하는 방법은 이 블로그 게시물에 안내되어 있습니다.

작업 6. Gemini CLI로 바이브 코딩하기

이 작업에서는 Gemini CLI를 사용하여 웹사이트를 바이브 코딩합니다. Gemini CLI에 웹사이트의 구조를 생성하고 설정하라고 요청합니다.

참고: 바이브 코딩을 할 때는 지침을 매우 정확하게 작성하더라도 모델이 지시대로 작동하지 않거나, 할루시네이션을 일으키거나, 루프에 갇힐 수 있습니다. 모델이 작동을 멈추었다면 ESC 키를 누르고 업데이트된 지침이 포함된 프롬프트를 입력하거나 이전 지침을 반복하세요.
  1. Gemini CLI에서 다음 프롬프트를 입력합니다.
기술 강연으로 이루어진 1일 행사 웹사이트를 생성해 줘. 각각 1시간씩 6개의 강연이 진행될 예정이야. 각 강연은 제목, 발표자(1명 또는 최대 2명), 카테고리(1개 또는 최대 3개의 키워드), 소요 시간, 설명을 포함해야 해. 웹사이트에는 사용자가 전체 일정과 시간을 확인할 수 있는 하나의 페이지가 있어. 1시간의 점심시간이 있고, 이벤트는 오전 10시에 시작돼. 강연과 강연 사이에 10분의 휴식 시간이 있어. 서버 측에서는 Node.js를 사용하고 프런트엔드에서는 표준 HTML, JavaScript, CSS를 사용하려고 해. 사용자는 카테고리를 기준으로 강연을 검색할 수 있어야 해. 다음과 같이 진행해 줘. 1. 이 애플리케이션을 설계하고 코딩할 방법을 계획해. 2. 진행하면서 잘 모르겠는 점이 있으면 나한테 물어봐. 3. 내가 좋다고 하면 코드를 생성하고 웹사이트를 단일 서버리스 HTML 파일로 컴파일해. 4. 웹사이트를 실행하고 테스트하기 위한 지침을 제공해 줘. 로컬에서 미리 볼 수 있도록 단순한 Python 서버를 사용하여 index.html 파일을 제공해 줘.

이 시점에서 Gemini CLI가 일련의 작업을 진행합니다.

  1. 모델이 다음으로 취해야 할 조치를 확인하도록 요구하거나 진행 방법을 물으면 다음과 같은 프롬프트를 입력합니다.
자리표시자 데이터를 사용하여 웹사이트를 만들고 네가 만든 계획 제안에 따라 진행해. 참고: Gemini CLI가 시간 초과되거나 잘못된 사용자 이름을 사용하는 등의 문제가 발생할 수 있습니다. 필요한 경우 Gemini CLI와 상호작용하여 수정사항을 제안하세요.

실행 결과 아래에 이어지는 몇 개의 프롬프트와 대답이 관찰되었습니다. 여러분은 전혀 다른 대답을 받을 수도 있습니다.

필요에 따라 Gemini CLI와 양방향으로 상호작용해야 합니다.

샘플 계획 출력

Gemini CLI가 실행하고자 하는 명령어를 제안하는 경우도 있습니다. 이 실습에서는 사용자의 의도대로 작업을 진행해야 합니다.

모델이 특정 명령어를 실행하겠다고 제안하면 ESC 키를 눌러 빠져나온 후 다음과 같은 메시지를 용하여 접근 방식을 리디렉션하세요.

지침만 제공하도록 지시하는 프롬프트

Gemini CLI가 서버를 시작하고 홈페이지로 이동하라는 지침을 따르는 과정에서 다음과 같은 샘플 사이트가 표시됩니다(위와 동일한 프롬프트를 사용했다면 아래와 비슷한 사이트가 표시될 것입니다).

강연 이벤트 사이트의 샘플 출력

원한다면 Gemini CLI의 도움을 받아서 다른 부분을 변경해 보아도 좋습니다.

GitHub 저장소에 변경사항 푸시하기

만족할 만한 웹사이트가 만들어졌으니 이제 이 섹션에서는 작업 5에서 구성한 원격 Github MCP 서버를 사용하여 Github 저장소를 만들고 저장소로 변경사항을 푸시합니다.

먼저 Gemini CLI의 도움을 받아 .gitignore 파일을 만듭니다.

  1. Gemini CLI에 다음 프롬프트를 입력합니다.
이 프로젝트에 사용할 .gitignore 파일을 만들어.

다음으로, Gemini CLI에 이 저장소를 GitHub 계정으로 푸시하라고 지시합니다(이때 GitHub MCP 서버 도구가 백그라운드에서 실행됩니다).

  1. 다음과 같은 프롬프트를 입력합니다([Your-name] 자리표시자를 본인의 이름으로 바꾸어야 합니다).
잘했어. 이제 GitHub MCP 서버의 'push_files' 도구를 사용하여 이 파일을 내 GitHub 계정에 새 저장소로 푸시해. GitHub MCP 서버에 구성된 개인 액세스 토큰(PAT)을 사용하여 HTTPS를 통해 GitHub에 인증해. 이 저장소의 이름을 [Your-Name]-event-talks-app으로 지정해 줘.

이 시점에서 Gemini CLI는 여러 명령어를 실행합니다.

  • 저장소를 만듭니다.
  • init, add, commit과 같은 Git 명령어를 사용하여 로컬 Git 저장소를 관리합니다.
  • 원격 Git을 설정하고 푸시를 수행합니다.
참고: Gemini CLI가 시간 초과되거나 잘못된 사용자 이름을 사용하는 등의 문제가 발생할 수 있습니다. 필요한 경우 Gemini CLI와 상호작용하여 수정사항을 제안하세요.

Gemini CLI가 변경사항을 푸시할 때 인증 문제가 발생하는 경우, Github MCP 서버의 도구를 사용하라고 다시 한번 지시합니다.

모든 것이 잘 진행된다면 GitHub 저장소가 준비됩니다. 다음은 샘플 스크린샷입니다.

샘플 GitHub 저장소 출력

잘하셨습니다. Gemini CLI의 도움으로 웹사이트를 만들고 Github 저장소를 만들어서 변경사항을 저장소로 푸시했습니다.

참고: 이 실습의 프로젝트를 위한 사용자 친화적인 README.md 파일을 만들지 않았습니다. 실제 프로덕션 환경에서는 이 파일을 만드는 것이 권장됩니다. 원하는 경우 Gemini CLI에 요청할 수 있습니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. GitHub 저장소에 변경사항 푸시하기

수고하셨습니다

Gemini CLI와 그 기능을 살펴보았고, 사용 사례에 적용하는 방법을 알아보았습니다.

다음 단계/더 학습하기

설명서 최종 업데이트: 2025년 10월 16일

실습 최종 테스트: 2025년 10월 16일

Copyright 2026 Google LLC. All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

시크릿 브라우징 사용

  1. 실습에 입력한 사용자 이름비밀번호를 복사합니다.
  2. 비공개 모드에서 콘솔 열기를 클릭합니다.

콘솔에 로그인

    실습 사용자 인증 정보를 사용하여
  1. 로그인합니다. 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과될 수 있습니다.
  2. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
  3. 실습을 완료했거나 다시 시작하려고 하는 경우가 아니면 실습 종료를 클릭하지 마세요. 이 버튼을 클릭하면 작업 내용이 지워지고 프로젝트가 삭제됩니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.