이 가이드에서는 Cloud Storage를 통합 개발 환경 (IDE) 및 개발자 도구에 연결하는 방법을 보여줍니다. 이렇게 하려면 데이터베이스용 MCP 도구 상자를 사용하여 머신에서 로컬 MCP 서버를 실행합니다.
데이터베이스용 MCP 도구 상자는 Cloud Storage, BigQuery, AlloyDB, Spanner, Cloud SQL을 비롯한 데이터베이스 및 데이터 저장소용 커넥터가 포함된 오픈소스 저장소입니다. 이 도구 상자는 OAuth2 및 OIDC 인증을 지원하고 모니터링 가능성을 위해 Open Telemetry와 통합됩니다. Cloud Storage 도구 상자 통합을 사용하면 LLM을 사용하여 다음 작업을 수행할 수 있습니다.
- 버킷을 만들고, 나열하고, 삭제합니다.
- 버킷 및 객체 메타데이터를 가져옵니다.
- 버킷의 ID 및 액세스 관리 (IAM) 정책을 가져옵니다.
- 객체 읽기, 쓰기, 업로드, 다운로드
- 객체를 복사하거나 이동합니다.
이 가이드에서는 다음 IDE 및 도구의 연결 프로세스를 보여줍니다.
- 커서
- Windsurf(이전 명칭: Codeium)
- Visual Studio Code(Copilot)
- Cline(VS Code 확장 프로그램)
- Claude Desktop
- Claude code
- Antigravity
시작하기 전에
Cloud de Confiance 콘솔의 프로젝트 선택기 페이지에서 Cloud de Confiance by S3NS 프로젝트를 선택하거나 만듭니다.
이 태스크를 완료하는 데 필요한 역할과 권한을 구성합니다. LLM 에이전트를 호출하는 사용자에게는 버킷 또는 프로젝트 수준에서 다음 역할이 필요합니다.
- 버킷을 나열하고, 버킷을 만들고, 빈 버킷을 삭제하려면 스토리지 관리자 (
roles/storage.admin) 권한이 필요합니다. - 객체 나열, 객체 읽기, 객체 메타데이터 또는 버킷 메타데이터 가져오기: 스토리지 객체 뷰어 (
roles/storage.objectViewer) - 객체에 콘텐츠를 쓰거나 객체를 업로드하려면 스토리지 객체 생성자 (
roles/storage.objectCreator)가 필요합니다. - 객체를 복사, 이동 또는 삭제하려면 스토리지 객체 관리자 (
roles/storage.objectAdmin)가 필요합니다.
- 버킷을 나열하고, 버킷을 만들고, 빈 버킷을 삭제하려면 스토리지 관리자 (
환경에 애플리케이션 기본 사용자 인증 정보(ADC)를 구성합니다.
Antigravity와 연결
커스텀 구성을 사용하여 Cloud Storage를 Antigravity에 연결합니다. 여기서 맞춤 MCP 서버는 구성 파일 (예: mcp_config.json)을 수정하여 수동으로 구성하는 서버입니다. 이 수동 구성은 내장 MCP 스토어 카탈로그에서 서버를 직접 설치하는 대신 사용됩니다.
맞춤 MCP 서버를 구성하려면 다음을 수행하세요.
- 터미널에서
npx --version를 실행하여npx가 시스템에 설치되어 있고 올바르게 구성되어 있는지 확인합니다.npx가 포함된 Node.js를 설치해야 하는 경우 npm Node.js 및 npm 다운로드 및 설치 가이드를 참고하세요. - Antigravity를 열고 편집기의 에이전트 패널 상단에 있는 '...' 드롭다운을 사용하여 MCP 스토어로 이동합니다.
- mcp_config.json 파일을 열려면 MCP 서버를 클릭한 다음 MCP 서버 관리 > 원시 구성 보기를 클릭합니다.
- 다음 구성을 추가하고 자리표시자를 프로젝트 ID로 바꾼 후 저장합니다.
{ "mcpServers": { "storage": { "command": "npx", "args": ["-y","@toolbox-sdk/server","--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }
MCP Toolbox 설치
도구 상자는 머신에서 로컬로 실행되는 오픈소스 모델 컨텍스트 프로토콜 (MCP) 서버입니다. 로컬 서버는 IDE와 Cloud Storage 간의 통신을 관리합니다. 이 연결은 AI 도구를 위한 안전하고 효율적인 환경을 제공합니다.
MCP Toolbox의 최신 버전을 바이너리로 다운로드합니다. 운영체제(OS) 및 CPU 아키텍처에 해당하는 바이너리를 선택합니다. MCP Toolbox 버전 1.2.0 이상을 사용해야 합니다.
linux/amd64
curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/linux/amd64/toolbox
VERSION을 MCP 도구 상자 버전(예:v1.2.0)으로 바꿉니다.macOS darwin/arm64
curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/darwin/arm64/toolbox
VERSION을 MCP 도구 상자 버전(예:v1.2.0)으로 바꿉니다.macOS darwin/amd64
curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/darwin/amd64/toolbox
VERSION을 MCP 도구 상자 버전(예:v1.2.0)으로 바꿉니다.windows/amd64
curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/windows/amd64/toolbox
VERSION을 MCP 도구 상자 버전(예:v1.2.0)으로 바꿉니다.바이너리를 실행 가능하게 만듭니다.
chmod +x toolbox설치를 확인합니다.
./toolbox --version
컨테이너 이미지 또는 Homebrew를 사용하여 툴박스를 설정하려면 툴박스 설치 페이지를 참고하세요.
클라이언트 및 연결 설정
이 섹션에서는 MCP 도구 상자를 설치한 후 Cloud Storage를 도구에 연결하는 방법을 설명합니다.
Claude code
- Claude Code를 설치합니다.
- 프로젝트 루트에
.mcp.json파일이 없으면 만듭니다. - 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
다음 변수를 값으로 바꿉니다.{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolbox바이너리의 경로입니다.CLOUD_STORAGE_PROJECT: Cloud de Confiance 프로젝트 ID를 지정하는 환경 변수입니다.PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID입니다.
- Claude Code를 다시 시작하여 새 설정을 로드합니다. Claude Code가 다시 열리면 애플리케이션에서 구성된 MCP 서버를 감지합니다.
Claude Desktop
- Claude Desktop을 열고 설정으로 이동합니다.
- 개발자 탭에서 구성 수정을 클릭하여 구성 파일을 엽니다.
- 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
다음 변수를 값으로 바꿉니다.{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolbox바이너리의 경로입니다.CLOUD_STORAGE_PROJECT: Cloud de Confiance 프로젝트 ID를 지정하는 환경 변수입니다.PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID입니다.
- Claude Desktop을 다시 시작합니다.
- 새 채팅 화면에 새 MCP 서버와 함께 망치(MCP) 아이콘이 표시됩니다.
Cline
- VS Code에서 Cline 확장 프로그램을 열고 MCP 서버 아이콘을 클릭합니다.
- MCP 서버 구성을 클릭하여 구성 파일을 엽니다.
- 다음 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
다음 변수를 값으로 바꿉니다.{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolbox바이너리의 경로입니다.CLOUD_STORAGE_PROJECT: Cloud de Confiance 프로젝트 ID를 지정하는 환경 변수입니다.PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID입니다.
서버가 성공적으로 연결되면 녹색 활성 상태가 표시됩니다.
커서
- 프로젝트 루트에
.cursor디렉터리가 없으면 이 디렉터리를 만듭니다. .cursor/mcp.json파일이 없으면 만들고 엽니다.- 다음 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
다음 변수를 값으로 바꿉니다.{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolbox바이너리의 경로입니다.CLOUD_STORAGE_PROJECT: Cloud de Confiance 프로젝트 ID를 지정하는 환경 변수입니다.PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID입니다.
- 커서를 열고 설정 > 커서 설정 > MCP로 이동합니다. 서버가 연결되면 녹색 활성 상태가 표시됩니다.
Visual Studio Code(Copilot)
- VS Code를 열고 프로젝트 루트에
.vscode디렉터리가 없으면 만듭니다. .vscode/mcp.json파일이 없으면 만들고 엽니다.- 다음 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
다음 변수를 값으로 바꿉니다.{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolbox바이너리의 경로입니다.CLOUD_STORAGE_PROJECT: Cloud de Confiance 프로젝트 ID를 지정하는 환경 변수입니다.PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID입니다.
- VS Code 창을 새로고침합니다. MCP 호환 확장 프로그램이 구성을 자동으로 감지하고 서버를 시작합니다.
Windsurf
- Windsurf를 열고 Cascade 어시스턴트로 이동합니다.
- MCP 아이콘을 클릭한 후 구성을 클릭하여 구성 파일을 엽니다.
- 다음 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
다음 변수를 값으로 바꿉니다.{ "mcpServers": { "storage": { "command": "./PATH/TO/toolbox", "args": ["--prebuilt","cloud-storage","--stdio"], "env": { "CLOUD_STORAGE_PROJECT": "PROJECT_ID" } } } }./PATH/TO/toolbox:toolbox바이너리의 경로입니다.CLOUD_STORAGE_PROJECT: Cloud de Confiance 프로젝트 ID를 지정하는 환경 변수입니다.PROJECT_ID: Cloud de Confiance by S3NS 프로젝트 ID입니다.
사전 빌드된 도구
MCP Toolbox를 Cloud Storage에 연결하면 에이전트가 다음과 같은 사전 빌드된 도구를 사용합니다.
- list_buckets: 구성된 프로젝트의 Cloud Storage 버킷을 나열합니다.
- list_objects: 선택적 프리픽스 및 구분자 필터링을 사용하여 버킷의 객체를 나열합니다.
- get_bucket_metadata: 버킷의 메타데이터를 반환합니다.
- get_bucket_iam_policy: 버킷의 IAM 정책 바인딩을 반환합니다.
- get_object_metadata: 객체의 메타데이터를 반환합니다.
- read_object: UTF-8 텍스트 객체 (또는 바이트 범위)를 읽습니다. 8MiB로 제한되며 바이너리 객체는 거부됩니다.
- download_object: 객체를 로컬 경로로 다운로드합니다.
- create_bucket: 구성된 프로젝트에 버킷을 만듭니다.
- delete_bucket: 빈 버킷을 삭제합니다.
- upload_object: 로컬 파일을 객체에 업로드합니다.
- write_object: 텍스트 콘텐츠를 객체에 직접 씁니다.
- copy_object: 객체를 대상 객체에 복사합니다.
- move_object: 동일한 버킷 내에서 객체의 이름을 원자적으로 바꿉니다.
- delete_object: 객체를 삭제합니다.