MCP를 사용하여 LLM을 Cloud Storage에 연결

데이터베이스용 MCP 도구 상자를 사용하여 로컬 모델 컨텍스트 프로토콜 (MCP) 서버를 실행하면 IDE 및 개발자 도구에서 직접 Cloud Storage와 상호작용할 수 있습니다. 이 설정을 사용하면 Antigravity, Claude, Cline, Cursor, Visual Studio Code (Copilot), Windsurf와 같은 클라이언트의 대규모 언어 모델 (LLM)이 버킷을 만들고, 객체 데이터를 관리하고, Identity and Access Management (IAM) 정책을 검사할 수 있습니다.

오픈소스 MCP 도구 상자는 OAuth2 및 OIDC 인증을 지원하며 모니터링 가능성을 위해 OpenTelemetry와 통합됩니다. Cloud Storage 통합에는 MCP 도구 상자 버전 1.2.0 이상이 필요합니다. 도구 상자 없이 독립형 로컬 MCP 서버를 실행하려면 Cloud Storage MCP GitHub 저장소를 사용하세요.

시작하기 전에

  1. Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

  2. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  3. Google Cloud 프로젝트에서 Cloud Storage API 사용 설정

  4. 이 태스크를 완료하는 데 필요한 역할과 권한을 구성합니다. LLM 에이전트를 호출하는 사용자에게는 버킷 또는 프로젝트 수준에서 다음 역할이 필요합니다.

    • 버킷 나열, 버킷 만들기, 빈 버킷 삭제: 스토리지 관리자 (roles/storage.admin)
    • 객체 나열, 객체 읽기, 객체 메타데이터 또는 버킷 메타데이터 가져오기: 스토리지 객체 뷰어 (roles/storage.objectViewer)
    • 객체에 콘텐츠를 쓰거나 객체를 업로드하는 경우: 스토리지 객체 생성자 (roles/storage.objectCreator)
    • 객체 복사, 이동, 삭제: 스토리지 객체 관리자 (roles/storage.objectAdmin)
  5. 환경에 애플리케이션 기본 사용자 인증 정보(ADC)를 구성합니다.

Antigravity와 연결

커스텀 구성을 사용하여 Cloud Storage를 Antigravity에 연결합니다. 이 컨텍스트에서 커스텀 MCP 서버는 구성 파일 (예: mcp_config.json)을 수정하여 수동으로 구성하는 서버입니다. 이 수동 구성은 기본 제공 MCP 스토어 카탈로그에서 서버를 직접 설치하는 대신 사용됩니다.

커스텀 MCP 서버를 구성하려면 다음 단계를 따르세요.

  1. 터미널에서 npx --version를 실행하여 시스템에 npx가 설치되어 있고 올바르게 구성되어 있는지 확인합니다. npx가 포함된 Node.js를 설치해야 하는 경우 npm Node.js 및 npm 다운로드 및 설치 가이드를 참고하세요.
  2. Antigravity를 열고 편집기의 에이전트 패널 상단에 있는 '…' 드롭다운을 사용하여 MCP 스토어로 이동합니다.
  3. mcp_config.json 파일을 열려면 MCP 서버를 클릭한 후 MCP 서버 관리 > 원시 구성 보기를 클릭합니다.
  4. 다음 구성을 추가하고 자리표시자를 프로젝트 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 도구에 안전하고 효율적인 환경을 제공합니다.

  1. MCP Toolbox의 최신 버전을 바이너리로 다운로드합니다. 운영체제(OS) 및 CPU 아키텍처에 해당하는 바이너리를 선택합니다. MCP 도구 상자 버전 1.2.0 이상을 사용해야 합니다.

    linux/amd64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/linux/amd64/toolbox
    

    VERSION을 MCP Toolbox 버전(예: v1.2.0)으로 바꿉니다.

    macOS darwin/arm64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/darwin/arm64/toolbox
    

    VERSION을 MCP Toolbox 버전(예: v1.2.0)으로 바꿉니다.

    macOS darwin/amd64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/darwin/amd64/toolbox
    

    VERSION을 MCP Toolbox 버전(예: v1.2.0)으로 바꿉니다.

    windows/amd64

    curl -O https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/windows/amd64/toolbox
    

    VERSION을 MCP Toolbox 버전(예: v1.2.0)으로 바꿉니다.

  2. 바이너리를 실행 가능하게 만듭니다.

    chmod +x toolbox
    
  3. 설치를 확인합니다.

    ./toolbox --version
    

컨테이너 이미지 또는 Homebrew로 도구 상자를 설정하려면 도구 상자 설치 페이지를 참조하세요.

클라이언트 및 연결 설정

이 섹션에서는 MCP 도구 상자를 설치한 후 Cloud Storage를 도구에 연결하는 방법을 설명합니다.

Claude code

  1. Claude Code를 설치합니다.
  2. 프로젝트 루트에 .mcp.json 파일이 없으면 만듭니다.
  3. 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    다음 변수를 값으로 바꿉니다.
    • ./PATH/TO/toolbox: toolbox 바이너리의 경로입니다.
    • CLOUD_STORAGE_PROJECT: Google Cloud 프로젝트 ID를 지정하는 환경 변수입니다.
    • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  4. Claude Code를 다시 시작하여 새 설정을 로드합니다. Claude Code가 다시 열리면 애플리케이션이 구성된 MCP 서버를 감지합니다.

Claude Desktop

  1. Claude Desktop을 열고 설정으로 이동합니다.
  2. 개발자 탭에서 구성 수정을 클릭하여 구성 파일을 엽니다.
  3. 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    다음 변수를 값으로 바꿉니다.
    • ./PATH/TO/toolbox: toolbox 바이너리의 경로입니다.
    • CLOUD_STORAGE_PROJECT: Google Cloud 프로젝트 ID를 지정하는 환경 변수입니다.
    • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  4. Claude Desktop을 다시 시작합니다.
  5. 새 채팅 화면에 새 MCP 서버와 함께 망치(MCP) 아이콘이 표시됩니다.

Cline

  1. VS Code에서 Cline 확장 프로그램을 열고 MCP 서버 아이콘을 클릭합니다.
  2. MCP 서버 구성을 클릭하여 구성 파일을 엽니다.
  3. 다음 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    다음 변수를 값으로 바꿉니다.
    • ./PATH/TO/toolbox: toolbox 바이너리의 경로입니다.
    • CLOUD_STORAGE_PROJECT: Google Cloud 프로젝트 ID를 지정하는 환경 변수입니다.
    • PROJECT_ID: Google Cloud 프로젝트 ID입니다.

서버가 성공적으로 연결되면 녹색 활성 상태가 표시됩니다.

커서

  1. 프로젝트 루트에 .cursor 디렉터리가 없으면 이 디렉터리를 만듭니다.
  2. .cursor/mcp.json 파일이 없으면 만들고 엽니다.
  3. 다음 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    다음 변수를 값으로 바꿉니다.
    • ./PATH/TO/toolbox: toolbox 바이너리의 경로입니다.
    • CLOUD_STORAGE_PROJECT: Google Cloud 프로젝트 ID를 지정하는 환경 변수입니다.
    • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  4. 커서를 열고 설정 > 커서 설정 > MCP로 이동합니다. 서버가 연결되면 녹색 활성 상태가 표시됩니다.

Visual Studio Code(Copilot)

  1. VS Code를 열고 프로젝트 루트에 .vscode 디렉터리가 없으면 이 디렉터리를 만듭니다.
  2. .vscode/mcp.json 파일이 없으면 만들고 엽니다.
  3. 다음 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    다음 변수를 값으로 바꿉니다.
    • ./PATH/TO/toolbox: toolbox 바이너리의 경로입니다.
    • CLOUD_STORAGE_PROJECT: Google Cloud 프로젝트 ID를 지정하는 환경 변수입니다.
    • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  4. VS Code 창을 새로고침합니다. MCP 호환 확장 프로그램이 구성을 자동으로 감지하고 서버를 시작합니다.

Windsurf

  1. Windsurf를 열고 Cascade 어시스턴트로 이동합니다.
  2. MCP 아이콘을 클릭한 후 구성을 클릭하여 구성 파일을 엽니다.
  3. 다음 구성을 추가하고 자리표시자를 값으로 바꾼 후 저장합니다.
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    다음 변수를 값으로 바꿉니다.
    • ./PATH/TO/toolbox: toolbox 바이너리의 경로입니다.
    • CLOUD_STORAGE_PROJECT: Google Cloud 프로젝트 ID를 지정하는 환경 변수입니다.
    • PROJECT_ID: Google Cloud 프로젝트 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: 객체를 삭제합니다.