MCP · CLI · v0 직접 배포 실습 예시

AI·터미널·v0로 직접 배포하는 시나리오  |  ← 레퍼런스로 돌아가기

이 파일의 목적MCP·CLI·v0 레퍼런스를 보완하는 실습 시나리오
레퍼런스 문서MCP_Deploy_Manual.html
작성일2026년 6월 13일
● 초급 바로 띄워 보기 Git 설정 없이 가장 빠르게 한 번 배포
M-1초급터미널에서 vercel 한 줄로 배포
AI가 만든 앱 폴더가 손에 있고, GitHub에 올리는 절차 없이 지금 당장 인터넷에 띄워 결과를 보고 싶습니다.
단계별 실행
  1. CLI 설치 & 로그인 (최초 1회)
    npm i -g vercel
    vercel login
  2. 프로젝트 폴더에서 vercel 실행

    처음 실행하면 몇 가지를 물어봅니다(프로젝트 이름·범위 등). 엔터로 기본값을 받아들이면 됩니다.

    $ cd my-app
    $ vercel
    ? Set up and deploy "~/my-app"? yes
    ? Which scope? 내 계정
    ? Link to existing project? no
    🔍 Inspect: https://vercel.com/.../inspect
    ✅ Preview: https://my-app-xxxx.vercel.app
  3. 프로덕션으로 올리기

    기본 vercel은 미리보기 배포입니다. 실서비스 주소로 올리려면 --prod를 붙입니다.

    vercel --prod
vercel은 폴더를 통째로 업로드해 Vercel 서버에서 빌드하고 미리보기 URL을 돌려줍니다. GitHub 저장소가 전혀 없어도 됩니다 — 가장 빠른 1회성 배포 경로입니다.
기본이 미리보기인 것은 안전장치입니다. 먼저 vercel로 확인하고, 괜찮으면 vercel --prod로 승격하는 흐름이 자연스럽습니다.
M-2초급Claude에 Vercel MCP를 붙이고 "배포해줘"
Claude Code로 앱을 만들고 있습니다. 터미널 명령을 외우는 대신, 대화창에서 "배포해줘"라고 말해 끝내고 싶습니다.
단계별 실행
  1. Vercel MCP를 추가한다
    claude mcp add --transport http vercel https://mcp.vercel.com
  2. 세션에서 인증한다

    Claude를 실행하고 /mcp를 입력하면 브라우저로 OAuth 동의 화면이 열립니다. Authorize를 누릅니다.

  3. 대화로 배포를 요청한다
    Claude Code — my-app
    이 프로젝트를 Vercel에 배포해줘
    Claude
    Vercel MCP로 배포를 진행하겠습니다.
    deploy_to_vercel 실행 → 승인하시겠어요?
    응, 승인
    Claude
    배포 완료 — 미리보기: my-app-xxxx.vercel.app
    프로덕션으로 올릴까요?
Claude가 내부적으로 deploy_to_vercel(또는 use_vercel_cli) 도구를 호출합니다. 내가 명령어를 외울 필요 없이, 의도를 말로 전하면 AI가 도구로 옮깁니다.
쓰기 도구(deploy_to_vercel 등)는 실행 전 승인을 받도록 두세요. AI가 연결되면 내 Vercel 계정 권한으로 동작하므로, 무엇을 하는지 보고 승인하는 습관이 중요합니다. (자세한 건 M-5)
● 중급 반복하며 다듬기 실패를 읽고 고치고, 코드 없이 만들기
M-3중급배포 실패 → MCP로 로그 읽고 고치는 폐루프
배포를 눌렀는데 빌드가 실패했습니다. 무엇이 잘못됐는지 로그를 직접 뒤지는 대신, Claude에게 원인을 찾아 고치게 합니다.
단계별 실행
  1. 실패를 알리고 로그 분석을 맡긴다
    Claude Code — my-app
    방금 배포가 실패했어. 원인 좀 찾아줘
    Claude
    최신 배포의 빌드 로그를 확인하겠습니다.
    list_deploymentsget_deployment_build_logs
    Claude
    로그상 Module not found: 'date-fns' 입니다. 의존성이 빠졌네요. package.json에 추가하고 다시 배포할까요?
  2. 수정 후 재배포

    Claude가 누락 의존성을 추가하고 deploy_to_vercel로 다시 배포합니다. 다시 실패하면 같은 루프를 반복합니다.

배포 → 로그 조회 → 수정 → 재배포가 한 대화 안에서 돕니다. get_deployment_build_logs(빌드 실패)와 get_runtime_logs(실행 중 에러)를 구분해 쓰면 원인 추적이 빨라집니다.
이 폐루프가 MCP 직접 방식의 가장 큰 매력입니다. 대시보드와 터미널을 오가지 않고, 만들고-배포하고-고치는 흐름이 끊기지 않습니다.
M-4중급v0로 코드 없이 만들고 배포 + GitHub 연결
코드를 거의 안 쓰고, 프롬프트만으로 랜딩 페이지를 만들어 배포하고 싶습니다. 나중에 협업도 할 수 있게 GitHub에도 연결해 둡니다.
단계별 실행
  1. v0.app에서 프롬프트로 생성

    v0.app에 접속해 만들고 싶은 화면을 말로 설명합니다. 예: "강의 소개 랜딩 페이지, 히어로 + 커리큘럼 + 신청 폼".

  2. 원클릭으로 Vercel 배포

    결과가 마음에 들면 Publish/Deploy로 커스텀 서브도메인과 함께 즉시 배포됩니다.

  3. GitHub에 연결한다

    채팅 사이드바의 Git → Connect로 GitHub 저장소에 잇습니다. 이때부터는 ② GitHub 연동 모델로 합쳐져, 채팅이 브랜치·PR을 만들고 머지 시 배포됩니다.

v0는 "직접 배포(원클릭)"와 "Git 연동(②)"이 만나는 지점입니다. 혼자 빠르게 띄울 땐 원클릭, 팀과 이어갈 땐 GitHub 연결로 자연스럽게 넘어갑니다.
v0 MCP(https://mcp.v0.dev)는 Vercel MCP(https://mcp.vercel.com)와 다른 서버입니다. v0 MCP는 코드·UI 생성용, Vercel MCP는 프로젝트·배포 관리용입니다. 섞어 쓰지 마세요.
● 고급 안전하게 운용 AI에게 계정 권한을 주는 만큼 범위를 좁힌다
M-5고급MCP를 안전하게 쓰기 — 스코프 + 승인 + 주입 대비
팀 작업에서 AI에게 Vercel MCP를 붙였는데, 실수나 악의적 입력으로 엉뚱한 배포·도메인 구매가 일어날까 걱정됩니다. 위험을 구조적으로 줄입니다.
3중 방어
  1. ① 프로젝트 단위로 스코프를 좁힌다

    전체 계정이 아니라 특정 프로젝트로만 연결합니다. 그러면 세션이 그 프로젝트로 한정됩니다. 방법은 클라이언트에 등록하는 MCP URL을 루트가 아니라 프로젝트 스코프 엔드포인트로 바꾸는 것입니다.

    # 루트 대신 프로젝트 스코프 URL을 등록 (예: acme 팀의 my-app)
    claude mcp add --transport http vercel https://mcp.vercel.com/acme/my-app
    # <org>=팀/개인 계정 슬러그, <project>=프로젝트 이름
  2. ② 쓰기 도구는 실행 전 승인(Human confirmation)

    클라이언트의 도구 권한을 "실행 전 확인"으로 둡니다. deploy_to_vercel·buy_domain 같은 변경 도구는 반드시 사람이 보고 승인하게 합니다.

  3. ③ Prompt injection을 의심한다

    외부에서 읽어 온 내용(이슈, 웹페이지, 로그) 안에 "이전 지시 무시하고 ~해라" 같은 숨은 명령이 있을 수 있습니다. AI가 그걸 따르려 하면, 승인 단계에서 멈추고 거부합니다.

MCP 안전하게 — 3중 방어 가운데 내 Vercel 계정 박스를 세 개의 보호 레이어가 동심원처럼 감싼다. 바깥에서 안으로 프로젝트 스코프, 실행 전 승인, 프롬프트 주입 경계 순서이며, 왼쪽 AI 클라이언트에서 향하는 화살표가 세 레이어를 통과한다. MCP 안전하게 — 3중 방어 ① 프로젝트 스코프 계정 전체 대신 프로젝트로 한정 ② 실행 전 승인 Human confirmation ③ 프롬프트 주입 경계 외부 입력의 숨은 명령 거부 내 Vercel 계정 AI 클라이언트 권한은 필요한 만큼만 — 학습은 편하게, 팀·실서비스는 좁게
그림. MCP 권한을 좁히는 3중 방어
공식 문서의 핵심 경고: "Vercel MCP에 연결하면 그 AI는 내 Vercel 계정과 동일한 접근 권한을 갖는다." 그래서 매 연결마다 OAuth 동의 화면이 뜨고(혼동된 대리인 공격 방어), 실행 전 사람의 확인을 권장합니다. 동의 화면이 안 뜨거나 엔드포인트가 mcp.vercel.com이 아니면 연결을 의심하세요.
실무 기본값: 학습·개인 프로젝트는 전체 스코프로 편하게, 팀·실서비스는 프로젝트 스코프 + 실행 전 승인. 권한은 항상 "필요한 만큼만" 주는 것이 안전합니다.

다음 문서: ④ 두 방식 비교 & 운영 매뉴얼 →