Google Cloud MCP Server

공식

Google Cloud 서비스와 상호작용하고 클라우드 리소스를 관리하세요.

문서

gcloud-mcp Servers CI License

gcloud MCP 서버 ☁️

gcloud 모델 컨텍스트 프로토콜(MCP) 서버는 AI 어시스턴트가 gcloud CLI를 사용하여 Google Cloud 환경과 쉽게 상호 작용할 수 있도록 지원합니다. gcloud MCP 서버를 통해 다음을 수행할 수 있습니다:

  • 자연어로 Google Cloud와 상호 작용. 복잡한 명령어 구문, 플래그, 인수를 외우는 대신 원하는 결과를 설명하세요.
  • 복잡한 워크플로우 자동화 및 간소화. 여러 클라우드 작업을 하나의 반복 가능한 명령으로 연결하여 수작업과 오류 가능성을 줄입니다.
  • 클라우드 관리 진입 장벽 완화. gcloud에 익숙하지 않은 팀원도 자신감 있고 안전하게 강력한 작업을 수행할 수 있도록 지원합니다.

📡 사용 가능한 MCP 서버

이 저장소는 gcloud MCP 서버 외에도 다른 MCP 서버를 호스팅합니다. 최신 목록은 아래와 같으며, 이 저장소 외부에서 호스팅되는 다른 Google Cloud MCP 서버 링크는 여기에 있습니다.

MCP 서버 이름설명패키지 이름버전
gcloud자연어 프롬프트를 사용하여 gcloud CLI를 통해 Google Cloud와 상호 작용합니다.gcloud-mcpVersion
observabilityGoogle Cloud Observability API에 접근하여 로그, 지표, 트레이스를 쿼리합니다.observability-mcpVersion
storage버킷 및 객체 관리를 위해 Google Cloud Storage와 상호 작용합니다.storage-mcpVersion
backupdrGoogle Cloud Backup and Disaster Recovery와 상호 작용합니다.backupdr-mcpVersion

🚀 시작하기

사전 준비 사항

✨ MCP 서버 설정하기

Gemini CLI 및 Gemini Code Assist

MCP 서버를 Gemini CLI 또는 Gemini Code Assist와 통합하려면, 표에 나열된 MCP 서버에 대해 홈 디렉터리에서 아래 설정 명령을 실행하세요. 이 명령은 현재 사용자를 위해 MCP 서버를 Gemini CLI 확장 프로그램으로 설치하여 모든 프로젝트에서 사용할 수 있도록 합니다.

npx @google-cloud/[PACKAGE_NAME] init --agent=gemini-cli

예를 들어, gcloud-mcp의 경우:

npx @google-cloud/gcloud-mcp init --agent=gemini-cli

초기화 과정 후, 다음 명령을 실행하여 gcloud-mcp 서버가 올바르게 구성되었는지 확인할 수 있습니다:

gemini mcp list

> ✓ gcloud: npx -y @google-cloud/gcloud-mcp (stdio) - Connected

다른 AI 클라이언트의 경우

이 저장소의 MCP 서버를 다른 클라이언트와 함께 사용하려면, 각 MCP 서버에 대해 해당 JSON 구성 파일에 다음 스니펫을 추가하세요:

"[SERVER_NAME]": {
  "command": "npx",
  "args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
}

예를 들어, gcloud의 경우:

"gcloud": {
  "command": "npx",
  "args": ["-y", "@google-cloud/gcloud-mcp"]
}

주요 도구별 지침:

  • Claude Desktop: Claude > 설정 > 개발자 > 구성 편집을 열고 claude_desktop_config.json을(를) 편집하세요.
  • Cline: MCP 서버 아이콘을 클릭한 다음 MCP 서버 구성을 클릭하여 cline_mcp_settings.json을(를) 편집하세요.
  • Cursor: 단일 프로젝트의 경우 .cursor/mcp.json을(를) 편집하거나 모든 프로젝트의 경우 ~/.cursor/mcp.json을(를) 편집하세요.
  • Gemini CLI (수동 설정): 확장 프로그램을 사용하지 않는 경우, 단일 프로젝트의 경우 .gemini/settings.json을(를) 편집하거나 모든 프로젝트의 경우 ~/.gemini/settings.json을(를) 편집하세요.

Visual Studio Code의 경우, 단일 프로젝트는 작업 영역의 .vscode/mcp.json 파일을, 모든 프로젝트는 전역 사용자 설정 파일을 편집하세요:

"servers": {
  "[SERVER_NAME]": {
    "command": "npx",
    "args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
  }
}

예를 들어, gcloud 및 observability의 경우:

"servers": {
  "gcloud": {
    "command": "npx",
    "args": ["-y", "@google-cloud/gcloud-mcp"]
  },
  "observability": {
    "command": "npx",
    "args": ["-y", "@google-cloud/observability-mcp"]
  },
}

🛠 로컬 개발

저장소를 로컬에 설치하는 방법에 대한 자세한 내용은 development.md를 참조하세요.

🧰 사용 가능한 MCP 도구

MCP 서버도구설명
gcloudrun_gcloud_commandgcloud 명령어를 실행합니다. 일부 명령어는 에이전트의 실행이 제한되어 있습니다. 자세한 내용은 MCP 권한을 참조하세요.
observabilitylist_log_entries프로젝트의 로그 항목을 나열합니다.
list_log_names프로젝트의 로그 이름을 나열합니다.
list_buckets프로젝트의 로그 버킷을 나열합니다.
list_views프로젝트의 로그 뷰를 나열합니다.
list_sinks프로젝트의 로그 싱크를 나열합니다.
list_log_scopes프로젝트의 로그 범위를 나열합니다.
list_metric_descriptors프로젝트의 측정항목 설명자를 나열합니다.
list_time_series지정된 측정항목의 시계열 데이터를 나열합니다.
list_alert_policies프로젝트의 알림 정책을 나열합니다.
list_traces프로젝트에서 트레이스를 검색합니다.
get_trace프로젝트에서 ID로 특정 트레이스를 가져옵니다.
list_group_stats프로젝트의 오류 그룹을 나열합니다.
storagelist_objectsGCS 버킷의 객체를 나열합니다.
read_object_metadata특정 객체의 포괄적인 메타데이터를 읽습니다.
read_object_content특정 객체의 콘텐츠를 읽습니다.
delete_object버킷에서 특정 객체를 삭제합니다.
write_object버킷에 새 객체를 씁니다.
update_object_metadata기존 객체의 사용자 지정 메타데이터를 업데이트합니다.
copy_object한 버킷에서 다른 버킷으로 객체를 복사합니다.
move_object한 버킷에서 다른 버킷으로 객체를 이동합니다.
upload_objectGCS 버킷에 파일을 업로드합니다.
download_objectGCS에서 로컬 파일로 객체를 다운로드합니다.
list_buckets프로젝트의 모든 버킷을 나열합니다.
create_bucket새 버킷을 생성합니다.
delete_bucket버킷을 삭제합니다.
get_bucket_metadata특정 버킷의 포괄적인 메타데이터를 가져옵니다.
update_bucket_labels버킷의 라벨을 업데이트합니다.
get_bucket_location버킷의 위치를 가져옵니다.
view_iam_policy버킷의 IAM 정책을 조회합니다.
check_iam_permissions버킷의 IAM 권한을 테스트합니다.
get_metadata_table_schemaGCS 인사이트 서비스 활성화 여부를 확인하고 지정된 인사이트 데이터세트 구성에 대한 BigQuery 테이블 스키마를 반환합니다.
execute_insights_query인사이트 데이터세트에 대해 BigQuery SQL 쿼리를 실행하고 결과를 반환합니다.
list_insights_configs지정된 프로젝트의 모든 Storage Insights 데이터세트 구성 이름을 나열합니다.
backupdrlist_backup_vaults지정된 프로젝트 및 위치의 모든 백업 볼트를 나열합니다.
get_backup_vault특정 백업 볼트의 세부 정보를 가져옵니다.
list_backup_plans지정된 프로젝트 및 위치의 모든 백업 계획을 나열합니다.
get_backup_plan특정 백업 계획의 세부 정보를 가져옵니다.
list_backup_plan_associations백업 계획과 리소스 간의 모든 연결을 나열합니다.
get_backup_plan_association특정 백업 계획 연결의 세부 정보를 가져옵니다.
list_datasources백업 볼트 내의 모든 데이터 소스를 나열합니다.
get_datasource특정 데이터 소스의 세부 정보를 가져옵니다.
list_backups지정된 데이터 소스의 모든 백업을 나열합니다.
get_backup특정 백업의 세부 정보를 가져옵니다.
find_protectable_resources보호할 수 있는 리소스(VM, 디스크, SQL)를 검색합니다.
get_backupdr_operation장기 실행 BackupDR 작업의 상태를 검색합니다.
get_csql_operation장기 실행 Cloud SQL 작업의 상태를 검색합니다.
create_backup_vault지정된 위치에 새 백업 볼트를 생성합니다.
create_backup_plan정의된 규칙 및 보존 기간으로 새 백업 계획을 생성합니다.
update_backup_plan기존 백업 계획을 수정합니다.
create_backup_plan_association보호를 시작하기 위해 리소스를 백업 계획에 연결합니다.
restore_backup대상 Compute Engine 인스턴스 또는 디스크로 백업을 복원합니다.
csql_restore대상 인스턴스로 Cloud SQL 백업을 복원합니다.
delete_backup_vault백업 볼트를 삭제합니다.
delete_backup_plan백업 계획을 삭제합니다.
delete_backup_plan_association연결을 삭제하여 리소스의 보호를 제거합니다.
delete_backup볼트에서 특정 백업을 삭제합니다.

🔑 MCP 권한

gcloud MCP의 권한은 활성 gcloud 계정의 권한과 직접 연결됩니다. 권한을 제한하고 최소 권한 원칙에 따라 운영하려면 서비스 계정으로 가장하여 인증하고 해당 서비스 계정에 제한된 권한을 가진 역할을 할당하면 됩니다.

기본적으로 gcloud MCP는 AI 에이전트에 적합하지 않은 gcloud 명령어의 실행을 방지합니다. 이는 임의의 입력을 실행하고 대화형 세션을 시작할 수 있는 명령어를 제한하기 위함입니다. 거부된 명령어 목록은 여기에서 확인하세요.

💫 기타 Google Cloud MCP 서버

Google Cloud는 다음과 같은 기타 서버를 제공합니다.

👥 기여하기

기여를 환영합니다! 버그 수정, 피드백 공유, 문서 개선 등 어떤 형태의 기여든 환영합니다. 시작하려면 기여 가이드를 읽어주세요.

📄 중요 참고 사항

이 저장소는 현재 미리보기 상태이며 주요 변경 사항이 발생할 수 있습니다. 이 저장소는 솔루션을 제공하며, 공식적으로 지원되는 Google 제품이 아닙니다. Google Cloud 서비스 약관의 적용을 받지 않습니다. MCP 사양, 기타 SDK, 또는 다른 솔루션 및 제품이 변경될 때 작동이 중단될 수 있습니다. 보안 정책도 참조하세요.