Autenticare i server MCP

Quando l'agente deve connettersi a un server o a uno strumento MCP ospitato su Cloud Run, puoi proteggere la connessione utilizzando Identity and Access Management e Identity-Aware Proxy (IAP) integrati.

Se stai connettendo un agente in esecuzione su Cloud Run a un server MCP su Cloud Run, consulta Autenticare gli agenti di AI per istruzioni sui criteri run.invoker.

Strumenti e client CLI per sviluppatori per il server MCP

Per connettere in modo sicuro gli strumenti per sviluppatori, gli SDK locali e i client MCP generici a un server MCP privato ospitato su Cloud Run, ti consigliamo vivamente di configurare Identity-Aware Proxy.

Abilita IAP

Abilita IAP per il servizio MCP di Cloud Run di cui hai eseguito il deployment:

gcloud run services update MCP_SERVICE_NAME \
    --iap \
    --region=REGION

Sostituisci quanto segue:

  • MCP_SERVICE_NAME: il nome del servizio del server MCP.
  • REGION: la regione in cui è stato eseguito il deployment del servizio.

Concedi l'accesso al server MCP

Associa l'identità dell'agente chiamante o l'identità utente di uno sviluppatore al ruolo di invoker IAP nel servizio di backend:

gcloud iap web add-iam-policy-binding \
    --resource-type=cloud-run \
    --service=MCP_SERVICE_NAME \
    --member="PRINCIPAL" \
    --role="roles/iap.httpsResourceAccessor" \
    --region=REGION

Sostituisci quanto segue:

  • MCP_SERVICE_NAME: il nome del servizio del server MCP.
  • PRINCIPAL: un identificatore per le entità o i membri, che in genere ha il seguente formato: PRINCIPAL:ID. Ad esempio, user:my-user@example.com. Per un elenco completo dei valori che PRINCIPAL può avere, consulta il riferimento per l'associazione dei criteri.
  • REGION: la regione in cui è stato eseguito il deployment del servizio.

Configura l'accesso con IAP

Per impostazione predefinita, IAP utilizza un client OAuth gestito da Google che supporta solo gli accessi utente basati su browser. Per consentire agli strumenti e agli agenti CLI di accedere al server MCP a livello di programmazione, devi configurare un ID client OAuth personalizzato.

  1. Crea un client OAuth nella Google Cloud console in API e servizi > Credenziali. Prendi nota di ID client e Client secret.
    • Se la configurazione riguarda strumenti per sviluppatori locali come la CLI Antigravity, aggiungi http://localhost:7777/oauth/callback agli URL di reindirizzamento inclusi nella lista consentita.
  2. Aggiungi il client OAuth alla lista consentita per l'accesso programmatico nelle impostazioni IAP seguendo la guida per condividere i client OAuth.

Aggiorna le impostazioni del client per la connessione

Dopo aver configurato l'accesso programmatico, aggiorna la configurazione del client per fornire i dettagli della connessione e le credenziali dell'ID client OAuth personalizzato.

Ad esempio, per configurare uno strumento come la CLI Antigravity per la connessione al server MCP protetto, aggiorna il blocco mcpServers nelle impostazioni:

{
  "mcpServers": {
    "my-mcp-server": {
      "httpUrl": "https://my-mcp-server-<PROJECT_NUMBER>.<REGION>.run.app",
      "oauth": {
        "enabled": "true",
        "clientId": "YOUR_CUSTOM_OAUTH_CLIENT_ID",
        "clientSecret": "YOUR_CLIENT_SECRET",
        "scopes": [
          "email",
          "openid"
        ],
        "redirectUri": "http://localhost:7777/oauth/callback"
      }
    }
  }
}