Google Cloud MCP Server
공식Interact with Google Cloud services and manage your cloud resources.
문서
gcloud MCP 서버 ☁️
gcloud 모델 컨텍스트 프로토콜(MCP) 서버는 AI 어시스턴트가 gcloud CLI를 사용하여 Google Cloud 환경과 쉽게 상호 작용할 수 있도록 지원합니다. gcloud MCP 서버를 통해 다음을 수행할 수 있습니다:
- 자연어로 Google Cloud와 상호 작용. 복잡한 명령어 구문, 플래그, 인수를 외우는 대신 원하는 결과를 설명하세요.
- 복잡한 워크플로우 자동화 및 간소화. 여러 클라우드 작업을 하나의 반복 가능한 명령으로 연결하여 수작업과 오류 가능성을 줄입니다.
- 클라우드 관리 진입 장벽 완화. gcloud에 익숙하지 않은 팀원도 자신감 있고 안전하게 강력한 작업을 수행할 수 있도록 지원합니다.
📡 사용 가능한 MCP 서버
이 저장소는 gcloud MCP 서버 외에도 다른 MCP 서버를 호스팅합니다. 최신 목록은 아래와 같으며, 이 저장소 외부에서 호스팅되는 다른 Google Cloud MCP 서버 링크는 여기에 있습니다.
🚀 시작하기
사전 준비 사항
- Node.js: 버전 20 이상
- gcloud CLI
✨ 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 서버 | 도구 | 설명 |
|---|---|---|
| gcloud | run_gcloud_command | gcloud 명령어를 실행합니다. 일부 명령어는 에이전트의 실행이 제한되어 있습니다. 자세한 내용은 MCP 권한을 참조하세요. |
| observability | list_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 | 프로젝트의 오류 그룹을 나열합니다. | |
| storage | list_objects | GCS 버킷의 객체를 나열합니다. |
read_object_metadata | 특정 객체의 포괄적인 메타데이터를 읽습니다. | |
read_object_content | 특정 객체의 콘텐츠를 읽습니다. | |
delete_object | 버킷에서 특정 객체를 삭제합니다. | |
write_object | 버킷에 새 객체를 씁니다. | |
update_object_metadata | 기존 객체의 사용자 지정 메타데이터를 업데이트합니다. | |
copy_object | 한 버킷에서 다른 버킷으로 객체를 복사합니다. | |
move_object | 한 버킷에서 다른 버킷으로 객체를 이동합니다. | |
upload_object | GCS 버킷에 파일을 업로드합니다. | |
download_object | GCS에서 로컬 파일로 객체를 다운로드합니다. | |
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_schema | GCS 인사이트 서비스 활성화 여부를 확인하고 지정된 인사이트 데이터세트 구성에 대한 BigQuery 테이블 스키마를 반환합니다. | |
execute_insights_query | 인사이트 데이터세트에 대해 BigQuery SQL 쿼리를 실행하고 결과를 반환합니다. | |
list_insights_configs | 지정된 프로젝트의 모든 Storage Insights 데이터세트 구성 이름을 나열합니다. | |
| backupdr | list_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는 다음과 같은 기타 서버를 제공합니다.
- Firebase MCP
- Google Analytics MCP
- Google Cloud Genmedia MCP
- Google Cloud Run MCP
- Google Kubernetes Engine (GKE) MCP
- Google Security Operations and Threat Intelligence MCP
- MCP Toolbox for Databases
👥 기여하기
기여를 환영합니다! 버그 수정, 피드백 공유, 문서 개선 등 어떤 형태의 기여든 환영합니다. 시작하려면 기여 가이드를 읽어주세요.
📄 중요 참고 사항
이 저장소는 현재 미리보기 상태이며 주요 변경 사항이 발생할 수 있습니다. 이 저장소는 솔루션을 제공하며, 공식적으로 지원되는 Google 제품이 아닙니다. Google Cloud 서비스 약관의 적용을 받지 않습니다. MCP 사양, 기타 SDK, 또는 다른 솔루션 및 제품이 변경될 때 작동이 중단될 수 있습니다. 보안 정책도 참조하세요.