로컬에 gcloud가 없습니다 | DAKER 커뮤니티

오늘은 페이지에 도구를 등록하는 글이 아닙니다. 노트북에 gcloud를 설치하지 않고, 구글 클라우드가 운영하는 원격 MCP 서버로 명령을 보내는 실험입니다. 에이전트가 쓰는 명령줄은 로컬 바이너리가 아닙니다. 구글 쪽 샌드박스에서 실행됩니다.

로컬에 gcloud가 없습니다. 원격 샌드박스에서 명령을 실행합니다.

참고 영상은 Google Cloud Tech 채널의 Automate Google Cloud with Cloud CLI Remote MCP Server입니다. 채널 주소는 @googlecloudtech입니다. yt-dlp 기준 게시일은 2026년 8월 28일입니다. 길이는 132초입니다. 이 글에는 주소만 둡니다. iframe은 넣지 않습니다. 영상이 가리키는 기능 이름은 Cloud CLI remote MCP server입니다. API 이름은 Cloud CLI Execution입니다. 공식 안내는 Use the Cloud CLI remote MCP server입니다. 도구 설명과 금지 명령은 MCP Reference: cloudcli.googleapis.com을 따릅니다. 개요는 Google Cloud MCP servers overview입니다. 영상이 보여 준 장애 복구 화면을 초 단위로 옮기지 않습니다. 데모에 나온 행 수와 소요 시간을 모든 환경의 기준으로 만들지 않습니다. 오늘은 클라이언트를 원격 끝점에 연결하고, 읽기만 하는 명령 하나를 확인하는 최소 실험입니다.

쓰기 명령은 확인 뒤에 실행합니다. 읽기만 하는 명령부터 확인하십시오.

문서가 실제로 말하는 일입니다

Cloud CLI remote MCP server는 에이전트가 자연어로 시킨 일을, 구글 클라우드가 운영하는 원격 환경에서 gcloudbq 명령으로 실행하는 방식입니다. 문서 문장은 로컬 컴퓨터의 표준 입력·출력으로 붙는 로컬 MCP 서버와, 서비스 인프라의 HTTP 끝점으로 붙는 원격 MCP 서버를 구별합니다. 오늘 대상은 후자입니다. 끝점은 https://cloudcli.googleapis.com/mcp입니다. 전송은 HTTP입니다. 이 기능을 켜는 API 이름은 Cloud CLI Execution입니다. 문서에 따르면 Cloud CLI Execution API를 활성화하면 이 원격 MCP 서버가 켜집니다.

구글과 구글 클라우드의 원격 MCP 서버가 문서로 적는 이점은 네 가지입니다. 발견을 한곳에서 관리합니다. 전역 또는 리전 HTTP 끝점을 운영합니다. 권한을 세분합니다. Model Armor로 프롬프트와 응답을 검사할 수 있습니다. 감사 로그도 중앙에서 남깁니다. 개요 문서는 MCP 버전 2025-11-25를 지원한다고 적습니다. 이 버전 번호를 성능 점수로 바꾸지 않습니다.

문서가 드는 클라이언트 예는 Gemini CLI, ChatGPT, Claude, Antigravity, 그리고 직접 만드는 애플리케이션입니다. 애플리케이션마다 설정 화면 이름은 다릅니다. 공통으로 넣는 값은 짧습니다. 서버 이름은 Cloud CLI remote MCP server입니다. URL 또는 끝점은 https://cloudcli.googleapis.com/mcp입니다. 전송은 HTTP입니다. 인증은 구글 클라우드 자격 증명, OAuth 클라이언트 ID와 비밀, 또는 에이전트 신원과 자격 증명입니다. API 키는 받지 않습니다. 문서가 그렇게 적습니다.

도구는 두 개입니다

원격 서버가 내놓는 도구 이름은 두 개입니다. run_gcloud_command는 사용자 프로젝트에서 gcloud 명령 하나를 실행합니다. run_bq_command는 BigQuery CLI인 bq 명령 하나를 실행합니다. 둘 다 읽기만 하는 도구가 아닙니다. 참조 문서는 굵은 안전 경고를 붙입니다. 자원을 만들고, 바꾸고, 지울 수 있습니다. 예로 든 삭제는 gcloud compute instances deletebq rm입니다. 오늘 숙제는 삭제 명령을 확인하는 일이 아닙니다. 읽기만 하는 명령 하나부터 확인하는 일입니다.

run_bq_command와 BigQuery MCP 서버는 같은 말이 아닙니다. 문서 표는 둘을 나눕니다. BigQuery MCP 서버는 Generally Available입니다. 표준 SQL 실행과 스키마 탐색, 데이터 변경에 맞습니다. 대상은 분석가와 SQL 개발자입니다. run_bq_command는 Preview입니다. 슬롯 예약, 예약 질의, 스냅샷, 오래 도는 작업 취소처럼 관리 작업에 맞습니다. 대상은 관리자와 데이터 플랫폼, DevOps입니다. 오늘 팀이 SQL로 표를 읽는 일이면 BigQuery MCP 서버 문서를 따로 봅니다. 오늘 글의 최소 실험은 Cloud CLI 원격 서버의 도구 목록이 보이는지 확인하는 일입니다.

도구 목록은 인증 없이 받을 수 있습니다. 문서는 tools/list가 인증을 요구하지 않는다고 적습니다. 방법은 POST /mcpcloudcli.googleapis.com에 보내는 것입니다. JSON-RPC 본문의 method는 tools/list이고 jsonrpc는 2.0입니다. 참조 문서의 curl 예는 accept 헤더에 application/json, text/event-stream을 넣습니다. 오늘 팀이 목록에 보이는 이름이 run_gcloud_commandrun_bq_command인지만 노트에 적습니다. 목록 길이의 평균을 만들지 않습니다.

프로젝트 매개변수와 깃발은 다릅니다

도구 호출에는 project 매개변수가 필수입니다. 형식은 projects/PROJECT_ID입니다. 이 값은 Cloud CLI Execution API의 활성화 확인, 결제, 할당량을 위한 프로젝트입니다. gcloud 명령의 --project 깃발과 같은 값이 아닙니다. bq의 --project_id--quota_project_id와도 별개입니다. 문서는 에이전트의 시스템 프롬프트나 스킬에, 요청 프로젝트를 고르는 규칙을 넣으라고 적습니다. 오늘 팀이 쓰는 프로젝트 ID를 README에 한 줄로 남깁니다. 채팅에만 남은 ID는 다음 사람이 재현하지 못합니다.

긴 옵션은 등호로 붙입니다. 참조 문서의 맞는 예는 --zone=us-central1-a--project=my-project입니다. 잘못된 예는 공백으로 나눈 --zone us-central1-a입니다. bq도 같습니다. --project_id=my-project는 맞고, --project_id my-project는 틀립니다. 로컬 .bigqueryrc 기본값은 원격 실행에 실리지 않습니다. 리전 작업에는 --location을 명령 문자열에 직접 적습니다.

로그를 읽을 때는 --limit가 필수입니다. 참조 문서는 gcloud logging read에 항상 한도를 넣으라고 적습니다. 예는 --limit=10--limit=100입니다. 한도를 빼면 자격 증명과 연결이 끊길 수 있다고 적혀 있습니다. 오래 걸리는 동기 작업에는 gcloud는 --async, bq는 --nosync를 쓰라고 적습니다. 가상 머신을 만들거나 질의를 돌리는 일이 여기에 해당합니다. 오늘 최소 실험은 가상 머신을 만드는 일이 아닙니다.

명령에 파일이 필요하면 input_files를 씁니다. 각 항목은 상대 경로와 평문 내용입니다. 문서 예는 gcloud builds submit --config=cloudbuild.yaml --async --project=PROJECT_ID입니다. 파이프와 명령 연결은 지원하지 않습니다. 오류가 나면 stderr를 읽고 깃발을 고친 뒤 다음 호출에서 다시 시도하라고 적혀 있습니다. 오늘 숙제는 빌드 제출이 아닙니다. 목록과 읽기 명령이 먼저입니다.

권한과 금지 명령입니다

인증은 OAuth 2.0과 IAM입니다. 구글 클라우드 신원을 모두 쓸 수 있습니다. API 키는 쓰지 않습니다. 필요한 역할은 MCP Tool User입니다. 역할 ID는 roles/mcp.toolUser입니다. 필요한 권한은 mcp.tools.call입니다. OAuth 범위는 https://www.googleapis.com/auth/cloud-platform입니다. 설명 문장은 구글 클라우드 서비스 전반의 데이터를 보고 관리한다는 뜻입니다. 문서는 에이전트용 신원을 따로 만들라고 권합니다. 접근을 제한하고 기록을 남기기 쉽습니다.

원격에서 실행된 명령은 로그인한 호출자 권한으로 돕니다. 대상 자원에는 기존 IAM과 조직 정책이 그대로 적용됩니다. MCP 호출 권한과 자원 권한이 다릅니다. 도구를 호출할 수 있어도, 인스턴스를 지울 권한이 없으면 삭제는 실패합니다. 최소 권한 원칙을 유지합니다. 오늘 실험 계정에 소유자 역할을 넓히지 마십시오.

지원하지 않는 gcloud 명령이 있습니다. 안내 문서는 보안과 부적합을 이유로 일부 명령을 막으며, 목록은 완전하지 않고 예고 없이 바뀔 수 있다고 적습니다. 안내가 드는 예는 gcloud auth, gcloud config, gcloud iam service-accounts, gcloud init, gcloud survey입니다. 참조 문서의 금지 목록은 알파와 베타 변형을 포함합니다. app deploy, app instances ssh, auth, billing, components, config, docker, feedback, info, init, meta, survey입니다. bq에서 막힌 명령은 완전 목록으로 적혀 있습니다. bq init, bq pyshell, bq shell입니다. 에이전트가 이 명령을 실행하지 않아야 한다고 문서가 적습니다. 오늘 팀이 금지 목록 밖의 읽기 명령만 고릅니다.

결제 프로젝트를 가정하지 않습니다. 폴더나 조직 범위 명령, 요청자 부담 버킷처럼 특수한 경우에는 --billing-project=PROJECT가 필요합니다. 프로젝트 범위 명령에는 --project=PROJECT_ID를 넣는 것이 맞습니다. --project--billing-project 중 적어도 하나는 명령 문자열에 있어야 합니다. bq는 --project_id 또는 --quota_project_id 중 적어도 하나가 필요합니다. 특수 값 LEGACY, CURRENT_PROJECT, CURRENT_PROJECT_WITH_FALLBACK는 쓰지 않습니다.

영상이 보여 주는 순서입니다

영상은 플러그인 설정에서 원격 서버를 켠다고 말합니다. 로컬 바이너리를 설치하지 않는다고 말합니다. 켜면 에이전트에게 bq와 gcloud CLI 도구 두 개가 생긴다고 말합니다. 이어서 Cloud Logging 필터를 직접 쓰지 않고, 에이전트에게 말로 물어보는 장면을 보여 줍니다. 에이전트는 run_gcloud_command로 원격 끝점을 조회합니다. 데모 서사는 오늘 배치 파일이 Cloud Storage에 없다는 쪽입니다. 이어서 저장소 버킷과 데이터 웨어하우스를 맞춰 봅니다. 한 번의 대화에서 파일이 스테이징 디렉터리에 잘못 놓였다고 보고합니다. 그다음 run_bq_command로 BigQuery를 조회해 영향을 본다고 말합니다. SQL 창을 바꾸거나 자격 증명을 손으로 넣지 않는다고 말합니다. 고칠 때는 파일을 활성 디렉터리로 옮기라고 시킵니다. 에이전트는 데이터를 바꾼다는 이유로 확인을 받은 뒤에 gcloud storage cp를 실행합니다. 모든 동작은 호출자의 IAM 자격 증명으로, 보안 샌드박스에서 돈다고 말합니다.

영상 안의 행 수와 소요 시간은 그 데모의 숫자입니다. 이 글은 그 숫자를 모든 팀의 목표로 옮기지 않습니다. 오늘 팀이 재현할 것은 장애를 두 분 안에 끝내는 연기가 아닙니다. 끝점에 연결되고, 도구 두 개가 보이며, 읽기 명령 하나가 호출자 권한으로 실행되는지 확인하는 일입니다. 쓰기 명령은 확인 대화가 뜬 뒤에만 실행합니다. 확인 없이 복사하거나 지우지 마십시오.

선택 보안입니다

MCP 도구는 동작 범위가 넓습니다. 구글 클라우드는 기본값과 조직·프로젝트 정책으로 위험을 줄인다고 적습니다. 자세한 보안 안내는 AI security and safety 문서를 봅니다. Model Armor는 프롬프트와 응답을 미리 검사하는 서비스입니다. 켜고 로그까지 켜면 페이로드 전체가 로그에 남을 수 있습니다. 민감한 값이 로그에 노출될 수 있다고 문서가 적습니다. Model Armor를 쓰는 리전과 쓰지 않는 리전이 있습니다. 지원하지 않는 관할에서 호출하면 경로가 서버마다 달라질 수 있고, 사용 중·전송 중 데이터 상주 규칙을 깨뜨릴 수 있습니다. 오늘 최소 실험은 Model Armor를 반드시 켜는 일이 아닙니다. 켜기 전에 로그에 무엇이 남는지부터 팀 규칙을 정합니다.

이 글이 아닌 것입니다

지난 금요일 잡담의 WebMCP 글이 아닙니다. 그 글은 열린 웹페이지가 document.modelContext.registerTool로 도구를 등록하고, ChatGPT 데스크톱 내장 브라우저가 그 도구를 발견하는 일이었습니다. 오늘 숙제는 페이지 도구가 아닙니다. 구글 클라우드가 운영하는 HTTP 끝점에 gcloud와 bq 명령을 보내는 일입니다. 로컬 stdio MCP 서버를 노트북에 띄우는 글도 아닙니다. 원격 샌드박스입니다.

오늘 아침 잡담 여섯 편과 주제를 합치지 않습니다. 그록 봇이 X를 읽는 글, 과학자 1만 석 글, 커서 공급을 11월 12일에 끊는 글, 옴니 장면을 40초까지 잇는 글, 큐웬4 뼈대 글, 보안 AI에 GPU 256장을 주는 글은 이미 올라 있습니다. 오스마니의 인지 포기 글과도 각도를 섞지 않습니다. 제미나이 3.5 전사 글은 이미 있습니다. 오늘 원문은 Google Cloud Tech의 Cloud CLI 원격 MCP 안내와 SDK 문서입니다.

새 모델을 기다리는 글이 아닙니다. 벤치 점수를 다시 쓰는 글도 아닙니다. 없는 설치 수와 평균 절감 분과 전환율을 만들지 않습니다. 영상 데모의 행 수를 파이프라인 SLA로 바꾸지 않습니다. Preview인 run_bq_command를 Generally Available인 BigQuery MCP 서버와 같은 말로 쓰지 않습니다. DAKER 플랫폼 숫자도 이 글의 핵심이 아닙니다.

유튜브 화면을 이 글에 넣지 않습니다. 주소만 둡니다. iframe은 쓰지 않습니다. 설치 광고와 조회수 자랑과 자극적인 썸네일만 고른 글이 아닙니다. 영상이 오늘 필요한 이유는 재현 가능한 순서입니다. Cloud CLI Execution API를 켜고, 클라이언트를 https://cloudcli.googleapis.com/mcp에 연결한 뒤, 도구 목록과 읽기 명령 하나를 확인합니다.

배포가 제출입니다. 올린 링크가 제출입니다. 그 문장은 로컬에서만 통과한 설정을 제출로 부르지 말라는 뜻입니다. 해커톤에 구글 클라우드를 붙인다면 심사자가 열 수 있는 공개 주소가 있어야 제출로 부릅니다. 노트북의 플러그인 화면만 켠 상태는 제출이 아닙니다.

오늘 할 일입니다

오늘 범위는 클러스터를 새로 만드는 일이 아닙니다. Cloud CLI Execution API를 켜고, 쓰는 에이전트에 원격 MCP 서버를 연결한 뒤, 도구 두 개가 보이는지와 읽기 명령 하나가 호출자 권한으로 실행되는지를 확인하는 일입니다. 인스턴스 삭제와 데이터 복사와 방화벽 생성은 오늘 숙제에서 빼 둡니다.

한 줄로 줄이면 이렇습니다. 에이전트에게 로컬 터미널을 주지 않습니다. 구글 클라우드가 운영하는 원격 샌드박스에 명령을 보내고, 호출자 IAM으로 실행 결과를 받습니다. 로컬에 gcloud가 없습니다.

원문: Automate Google Cloud with Cloud CLI Remote MCP Server · Google Cloud Tech · Use the Cloud CLI remote MCP server · MCP Reference · Google Cloud MCP servers overview