Conecta LLMs a Cloud Storage con MCP

En esta guía, se muestra cómo conectar Cloud Storage a entornos de desarrollo integrado (IDE) y herramientas para desarrolladores. Para ello, ejecuta un servidor de MCP local en tu máquina con MCP Toolbox para bases de datos.

MCP Toolbox para bases de datos es un repositorio de código abierto que contiene conectores para bases de datos y almacenes de datos, incluidos Cloud Storage, BigQuery, AlloyDB, Spanner y Cloud SQL. La caja de herramientas admite la autenticación de OAuth2 y OIDC, y se integra con Open Telemetry para la observabilidad. La integración de la caja de herramientas de Cloud Storage te permite usar un LLM para realizar las siguientes acciones:

  • Crea, enumera y borra buckets.
  • Obtén metadatos de bucket y objetos.
  • Obtén políticas de Identity and Access Management (IAM) en tus buckets.
  • Lee, escribe, sube y descarga objetos.
  • Copia o mueve objetos.

En esta guía, se demuestra el proceso de conexión para los siguientes IDE y herramientas:

  • Cursor
  • Windsurf (antes conocido como Codeium)
  • Visual Studio Code (Copilot)
  • Cline (extensión de VS Code)
  • Claude para computadoras de escritorio
  • Claude Code
  • Antigravity

Antes de comenzar

  1. En la Google Cloud consola, en la página del selector de proyectos, selecciona o crea un Google Cloud proyecto.

  2. Asegúrate de tener habilitada la facturación para tu Google Cloud proyecto.

  3. Habilita la API de Cloud Storage en el Google Cloud proyecto.

  4. Configura los roles y los permisos requeridos para completar esta tarea. El usuario que invoca a los agentes de LLM necesita los siguientes roles a nivel del bucket o del proyecto:

    • Para enumerar buckets, crear buckets y borrar buckets vacíos: Administrador de Storage (roles/storage.admin)
    • Para enumerar objetos, leer objetos, obtener metadatos de objetos o metadatos de bucket: Visualizador de objetos de Storage (roles/storage.objectViewer)
    • Para escribir contenido en un objeto o subir un objeto: Creador de objetos de Storage (roles/storage.objectCreator)
    • Para copiar, mover o borrar objetos: Administrador de objetos de Storage (roles/storage.objectAdmin)
  5. Configura las credenciales predeterminadas de la aplicación (ADC) para tu entorno.

Conéctate con Antigravity

Conectas Cloud Storage a Antigravity con una configuración personalizada. En este contexto, un servidor de MCP personalizado es un servidor que configuras de forma manual editando tu archivo de configuración (como mcp_config.json). Esta configuración manual se usa en lugar de instalar el servidor directamente desde el catálogo integrado de MCP Store.

Para configurar un servidor de MCP personalizado, haz lo siguiente:

  1. Ejecuta npx --version en tu terminal para verificar que npx esté instalado y configurado correctamente en tu sistema. Si necesitas instalar Node.js, que incluye npx, consulta la guía Descarga e instala Node.js y npm.
  2. Abre Antigravity y navega a MCP Store con el menú desplegable "..." en la parte superior del panel de agentes del editor.
  3. Para abrir el archivo mcp_config.json , haz clic en Servidores de MCP y, luego, en Administrar servidores de MCP > Ver configuración sin procesar.
  4. Agrega la siguiente configuración, reemplaza el marcador de posición por el ID del proyecto y guarda:
    {
      "mcpServers": {
        "storage": {
          "command": "npx",
          "args": ["-y","@toolbox-sdk/server","--prebuilt","cloud-storage","--stdio"],
          "env": {
              "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
          }
        }
      }
    }
    

Instala MCP Toolbox

La caja de herramientas es un servidor de código abierto Protocolo de contexto del modelo (MCP) que se ejecuta de forma local en tu máquina. El servidor local administra la comunicación entre tu IDE y Cloud Storage. Esta conexión proporciona un entorno seguro y eficiente para tus herramientas de IA.

  1. Descarga la versión más reciente de MCP Toolbox como un objeto binario. Selecciona el objeto binario correspondiente a tu sistema operativo (SO) y arquitectura de la CPU. Debes usar la versión 1.2.0 o posterior de MCP Toolbox:

    linux/amd64

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

    Reemplaza VERSION por la versión de MCP Toolbox, por ejemplo, v1.2.0.

    macOS darwin/arm64

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

    Reemplaza VERSION por la versión de MCP Toolbox, por ejemplo, v1.2.0.

    macOS darwin/amd64

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

    Reemplaza VERSION por la versión de MCP Toolbox, por ejemplo, v1.2.0.

    windows/amd64

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

    Reemplaza VERSION por la versión de MCP Toolbox, por ejemplo, v1.2.0.

  2. Haz que el objeto binario sea ejecutable:

    chmod +x toolbox
    
  3. Verifica la instalación:

    ./toolbox --version
    

Para configurar la caja de herramientas con una imagen de contenedor o Homebrew, consulta la página Instala la caja de herramientas.

Configura clientes y conexiones

En esta sección, se describe cómo conectar Cloud Storage a tus herramientas después de instalar MCP Toolbox.

Claude Code

  1. Instala Claude Code.
  2. Crea un archivo .mcp.json en la raíz del proyecto, si no existe.
  3. Agrega la configuración, reemplaza los marcadores de posición por tus valores y guarda:
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    Reemplaza las siguientes variables por tus valores:
    • ./PATH/TO/toolbox: Es la ruta de acceso a tu objeto binario toolbox.
    • CLOUD_STORAGE_PROJECT: Es la variable de entorno que especifica el Google Cloud ID del proyecto.
    • PROJECT_ID: Es el ID del Google Cloud proyecto de.
  4. Reinicia Claude Code para cargar la configuración nueva. Cuando se vuelve a abrir Claude Code, la aplicación detecta el servidor de MCP configurado.

Claude para computadoras de escritorio

  1. Abre Claude para computadoras de escritorio y navega a Configuración.
  2. En la pestaña Desarrollador, haz clic en Editar configuración para abrir el archivo de configuración.
  3. Agrega la configuración, reemplaza los marcadores de posición por tus valores y guarda:
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    Reemplaza las siguientes variables por tus valores:
    • ./PATH/TO/toolbox: Es la ruta de acceso a tu objeto binario toolbox.
    • CLOUD_STORAGE_PROJECT: Es la variable de entorno que especifica el Google Cloud ID del proyecto.
    • PROJECT_ID: Es el ID del Google Cloud proyecto de.
  4. Reinicia Claude para computadoras de escritorio.
  5. En la nueva pantalla de chat, se muestra un ícono de martillo (MCP) con el nuevo servidor de MCP.

Cline

  1. Abre la extensión de Cline en VS Code y haz clic en el ícono de Servidores de MCP.
  2. Haz clic en Configurar servidores de MCP para abrir el archivo de configuración.
  3. Agrega la siguiente configuración, reemplaza los marcadores de posición por tus valores y guarda:
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    Reemplaza las siguientes variables por tus valores:
    • ./PATH/TO/toolbox: Es la ruta de acceso a tu objeto binario toolbox.
    • CLOUD_STORAGE_PROJECT: Es la variable de entorno que especifica el Google Cloud ID del proyecto.
    • PROJECT_ID: Es el ID del Google Cloud proyecto de.

Aparecerá un estado activo verde después de que el servidor se conecte correctamente.

Cursor

  1. Crea el directorio .cursor en la raíz del proyecto si no existe.
  2. Crea el archivo .cursor/mcp.json si no existe y ábrelo.
  3. Agrega la siguiente configuración, reemplaza los marcadores de posición por tus valores y guarda:
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    Reemplaza las siguientes variables por tus valores:
    • ./PATH/TO/toolbox: Es la ruta de acceso a tu objeto binario toolbox.
    • CLOUD_STORAGE_PROJECT: Es la variable de entorno que especifica el Google Cloud ID del proyecto.
    • PROJECT_ID: Es el ID del Google Cloud proyecto de.
  4. Abre Cursor y navega a Configuración > Configuración del cursor > MCP. Aparecerá un estado activo verde cuando se conecte el servidor.

Visual Studio Code (Copilot)

  1. Abre VS Code y crea un directorio .vscode en la raíz del proyecto si no existe.
  2. Crea el archivo .vscode/mcp.json si no existe y ábrelo.
  3. Agrega la siguiente configuración, reemplaza los marcadores de posición por tus valores y guarda:
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    Reemplaza las siguientes variables por tus valores:
    • ./PATH/TO/toolbox: Es la ruta de acceso a tu objeto binario toolbox.
    • CLOUD_STORAGE_PROJECT: Es la variable de entorno que especifica el Google Cloud ID del proyecto.
    • PROJECT_ID: Es el ID del Google Cloud proyecto de.
  4. Vuelve a cargar la ventana de VS Code. La extensión compatible con MCP detecta automáticamente la configuración y, luego, inicia el servidor.

Windsurf

  1. Abre Windsurf y navega al asistente de Cascade.
  2. Haz clic en el ícono de MCP y, luego, en Configurar para abrir el archivo de configuración.
  3. Agrega la siguiente configuración, reemplaza los marcadores de posición por tus valores y guarda:
            {
              "mcpServers": {
                "storage": {
                  "command": "./PATH/TO/toolbox",
                  "args": ["--prebuilt","cloud-storage","--stdio"],
                  "env": {
                    "CLOUD_STORAGE_PROJECT": "PROJECT_ID"
                  }
                }
              }
            }
            
    Reemplaza las siguientes variables por tus valores:
    • ./PATH/TO/toolbox: Es la ruta de acceso a tu objeto binario toolbox.
    • CLOUD_STORAGE_PROJECT: Es la variable de entorno que especifica el Google Cloud ID del proyecto.
    • PROJECT_ID: Es el ID del Google Cloud proyecto de.

Herramientas preconstruidas

Después de conectar MCP Toolbox a Cloud Storage, tu agente usa las siguientes herramientas preconstruidas:

  • list_buckets: Enumera los buckets de Cloud Storage en el proyecto configurado.
  • list_objects: Enumera los objetos de un bucket con filtrado opcional de prefijo y delimitador.
  • get_bucket_metadata: Muestra metadatos para un bucket.
  • get_bucket_iam_policy: Muestra las vinculaciones de políticas de IAM para un bucket.
  • get_object_metadata: Muestra metadatos para un objeto.
  • read_object: Lee un objeto de texto UTF-8 (o un rango de bytes). El límite es de 8 MiB; se rechazan los objetos binarios.
  • download_object: Descarga un objeto a una ruta de acceso local.
  • create_bucket: Crea un bucket en el proyecto configurado.
  • delete_bucket: Borra un bucket vacío.
  • upload_object: Sube un archivo local a un objeto.
  • write_object: Escribe contenido de texto directamente en un objeto.
  • copy_object: Copia un objeto a un objeto de destino.
  • move_object: Cambia el nombre de un objeto de forma atómica dentro del mismo bucket.
  • delete_object: Borra un objeto.