Utilizza il server MCP remoto di Firestore

Questo documento mostra come utilizzare il server Model Context Protocol (MCP) remoto di Firestore per connetterti ad applicazioni AI, tra cui Antigravity, ChatGPT, Claude e applicazioni personalizzate che stai sviluppando. Il server MCP remoto di Firestore ti consente di interagire con i documenti archiviati in un database Firestore dalla tua applicazione AI. Il server MCP remoto di Firestore viene abilitato quando abiliti l'API Firestore.

Il Model Context Protocol (MCP) standardizza il modo in cui i modelli linguistici di grandi dimensioni (LLM) e le applicazioni o gli agenti AI si connettono alle origini dati esterne. I server MCP ti consentono di utilizzare i loro strumenti, le loro risorse e i loro prompt per eseguire azioni e ottenere dati aggiornati dal loro servizio di backend.

Qual è la differenza tra i server MCP locali e remoti?

Server MCP locali
In genere vengono eseguiti sulla tua macchina locale e utilizzano gli stream di input e output standard (stdio) per la comunicazione tra i servizi sullo stesso dispositivo.
Server MCP remoti
Esegui l'applicazione sull'infrastruttura del servizio e offri un endpoint HTTP alle applicazioni AI per la comunicazione tra il client MCP AI e il server MCP. Per saperne di più sull'architettura MCP, consulta Architettura MCP.

Core stateless

Con la versione MCP 2026-07-28, MCP passa da un protocollo bidirezionale stateful a un protocollo stateless. Ogni richiesta MCP è autodescrittiva e può essere instradata utilizzando le intestazioni. Non è necessario l'handshake initialize/initialized o Mcp-Session-Id perché ogni richiesta include tutte le informazioni necessarie nelle intestazioni HTTP o nel parametro _meta. I server MCP possono richiedere informazioni aggiuntive necessarie per uno strumento tramite richieste di andata e ritorno multiple (MRTR).

Per facilitare l'instradamento e l'elaborazione delle richieste senza analizzare il corpo della richiesta, sono necessarie alcune intestazioni MCP, tra cui:

Per saperne di più sull'architettura MCP, consulta la specifica della versione 2026-07-28 di MCP e le modifiche principali.

Prima di iniziare

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Firestore API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. Install the Google Cloud CLI.

  6. Configure the gcloud CLI to use your federated identity.

    For more information, see Sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. Seleziona un database Firestore in modalità nativa da utilizzare o creane uno. Solo i database in modalità Native nella versione Enterprise o Standard supportano il server MCP remoto.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per utilizzare il server MCP di Firestore e interagire con i documenti Firestore, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto in cui vuoi utilizzare il server MCP di Firestore:

  • Effettuare chiamate allo strumento MCP: MCP Tool User (roles/mcp.toolUser)
  • Leggere e modificare i documenti Firestore: Firestore User (roles/datastore.user)

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per utilizzare il server MCP di Firestore e interagire con i documenti di Firestore. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per utilizzare il server MCP di Firestore e interagire con i documenti Firestore, sono necessarie le seguenti autorizzazioni:

  • Effettua chiamate allo strumento MCP: mcp.tools.call
  • Leggi e modifica i documenti Firestore:
    • datastore.entities.allocateIds
    • datastore.entities.create
    • datastore.entities.delete
    • datastore.entities.get
    • datastore.entities.list
    • datastore.entities.update

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Autenticazione e autorizzazione

Il server MCP remoto di Firestore utilizza il protocollo OAuth 2.0 con Identity and Access Management (IAM) per l'autenticazione e l'autorizzazione. Tutte le identitàGoogle Cloud sono supportate per l'autenticazione ai server MCP.

Ti consigliamo di creare un'identità separata per gli agenti che utilizzano gli strumenti MCP in modo che l'accesso alle risorse possa essere controllato e monitorato. Per saperne di più sull'autenticazione, consulta Esegui l'autenticazione ai server MCP.

Ambiti OAuth MCP di Firestore

OAuth 2.0 utilizza ambiti e credenziali per determinare se un'entità autenticata è autorizzata a eseguire un'azione specifica su una risorsa. Per saperne di più sugli ambiti OAuth 2.0 di Google, consulta Utilizzare OAuth 2.0 per accedere alle API di Google.

Firestore ha i seguenti ambiti OAuth dello strumento MCP:

URI dell'ambito per gcloud CLI Descrizione
https://www.googleapis.com/auth/cloud-platform Visualizzare, modificare, configurare ed eliminare i tuoi dati di Google Cloud , nonché visualizzare l'indirizzo email del tuo Account Google.

Potrebbero essere necessari ambiti aggiuntivi per le risorse a cui si accede durante una chiamata allo strumento. Per visualizzare un elenco degli ambiti richiesti per Firestore, consulta API Firestore.

Configura un client MCP per utilizzare il server MCP di Firestore

Le applicazioni e gli agenti AI, come Claude o Antigravity, possono creare un'istanza di un client MCP che si connette a un singolo server MCP. Un'applicazione di AI può avere più client che si connettono a server MCP diversi. Se la tua applicazione non è elencata nelle indicazioni specifiche per il client, puoi utilizzare le seguenti informazioni per connetterti dalla maggior parte delle applicazioni.

Nella tua applicazione di AI, cerca un modo per aggiungere o connetterti a un server MCP remoto. Per il server MCP Firestore, inserisci le seguenti informazioni, se richieste:

  • Nome server: server MCP Firestore
  • URL del server o Endpoint: https://firestore.googleapis.com/mcp
  • Trasporto: HTTP trasmissibile in streaming
  • Dettagli di autenticazione: a seconda di come vuoi eseguire l'autenticazione, puoi inserire le tue credenziali Google Cloud , l'ID client e il secret OAuth o un'identità e le credenziali dell'agente. Per saperne di più sull'autenticazione, consulta Autenticati ai server MCP.
  • Ambito OAuth: l'ambito OAuth 2.0 che vuoi utilizzare per la connessione al server MCP di Firestore.

Per indicazioni specifiche sull'applicazione per la configurazione e la connessione al server MCP, consulta Indicazioni specifiche per il client.

Per indicazioni più generali, consulta le seguenti risorse:

Utilizza il server MCP di Firestore con ADK in Python

Puoi utilizzare l'Agent Development Kit (ADK) per Python per interagire con il server MCP remoto di Firestore.

L'esempio seguente mostra come configurare un agente con il server MCP Firestore ed eseguire un prompt.

import os
import google.auth
from google.auth.transport.requests import Request

from google.adk import Agent
from google.adk.tools.mcp_tool.mcp_toolset import McpToolset, StreamableHTTPConnectionParams
from google.adk.runners import InMemoryRunner, print_event
from google.genai import types

# Set your project configuration
PROJECT_ID = os.environ.get("PROJECT_ID", "your-project-id")
TARGET_PROJECT_ID = os.environ.get("TARGET_PROJECT_ID", "your-target-project-id")

# Authenticate and get token
credentials, _ = google.auth.default()
credentials.refresh(Request())

# Configure the Firestore remote MCP server
mcp_toolset = McpToolset(
    connection_params=StreamableHTTPConnectionParams(
        url="https://firestore.googleapis.com/mcp",
        headers={
            "Accept": "text/event-stream, application/json",
            "Content-Type": "application/json",
            "Authorization": f"Bearer {credentials.token}"
        },
    ),
)

model_path = f"projects/{PROJECT_ID}/locations/us-central1/publishers/google/models/gemini-2.5-flash"

root_agent = Agent(
    name="mcp_codelab_agent",
    model=model_path,
    instruction="You are a Firestore database assistant. Use the available Firestore MCP tools to query, retrieve, and manage documents in the database based on the user's request.",
    tools=[mcp_toolset],
)

if __name__ == "__main__":
    prompt = f"Please list all Firestore databases under the project `{TARGET_PROJECT_ID}`"

    print("--- Running Agent ---")
    runner = InMemoryRunner(agent=root_agent)
    runner.auto_create_session = True
    events = runner.run(
        user_id="user",
        session_id="session",
        new_message=types.Content(
            parts=[types.Part.from_text(text=prompt)]
        )
    )

    for event in events:
        print_event(event, verbose=True)

Strumenti disponibili

Per visualizzare i dettagli degli strumenti MCP disponibili e le relative descrizioni per il server MCP Firestore, consulta il riferimento MCP Firestore.

Strumenti per gli elenchi

Utilizza l'ispettore MCP per elencare gli strumenti o invia una richiesta HTTP tools/list direttamente al server MCP remoto di Firestore. Il metodo tools/list non richiede l'autenticazione.

curl -X POST https://firestore.googleapis.com/TOOLSET_ENDPOINT \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'MCP-Protocol-Version: MCP_PROTOCOL_VERSION' \
    -H 'Mcp-Method: tools/list' \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/list",
      "params": {
        "_meta": {
          "io.modelcontextprotocol/protocolVersion": "MCP_PROTOCOL_VERSION",
          "io.modelcontextprotocol/clientCapabilities": {
            "extensions": {
              "io.modelcontextprotocol/ui": {
                "mimeTypes": ["text/html;profile=mcp-app"]
              }
            }
          }
        }
      }
    }'

Sostituisci quanto segue:

  • TOOLSET_ENDPOINT: il resto dell'endpoint MCP dopo il nome del servizio. Ad esempio, per Firestore, potrebbe essere mcp/toolset-name.
  • MCP_PROTOCOL_VERSION: la versione del protocollo MCP. Ad esempio, 2026-07-28.

Esempi di casi d'uso

Di seguito sono riportati esempi di casi d'uso e prompt per il server MCP di Firestore:

  • "Quali strumenti sono disponibili per il server MCP di Firestore?"
  • "Aggiungi un documento con la raccolta "book" nel mio database Firestore "my-database" con il Google Cloud progetto "my-project" con le informazioni sul libro generate."
  • "Recupera le informazioni per il libro con ID 3VyGFIAPRHUNeuH5h2eb dalla raccolta di libri."
  • "Aggiorna il campo dell'anno del documento 3VyGFIAPRHUNeuH5h2eb impostandolo su 1995."
  • "Elenca tutti i libri della raccolta."
  • "Elenca tutti gli ID raccolta nella directory principale del database Firestore "my-database"."
  • "Elimina il documento 3VyGFIAPRHUNeuH5h2eb nella raccolta book."
  • "Elenca tutti i database del progetto."
  • "Crea un database Firestore Enterprise con la modalità di compatibilità MongoDB in nam5."
  • "Elenca tutte le voci degli indici per gli utenti del gruppo di raccolte."

Configurazioni di sicurezza e protezione facoltative

MCP introduce nuovi rischi e considerazioni sulla sicurezza a causa dell'ampia varietà di azioni che puoi eseguire con gli strumenti MCP. Per ridurre al minimo e gestire questi rischi, Google Cloud offre impostazioni predefinite e policy personalizzabili per controllare l'utilizzo degli strumenti MCP nella tua organizzazione o nel tuo progetto Google Cloud.

Per saperne di più sulla sicurezza e sulla governance di MCP, consulta Sicurezza e protezione dell'AI.

Utilizza Model Armor

Model Armor è un servizioGoogle Cloud progettato per migliorare la sicurezza delle tue applicazioni di AI. Funziona analizzando in modo proattivo i prompt e le risposte degli LLM, proteggendo da vari rischi e supportando pratiche di AI responsabile. Che tu stia eseguendo il deployment dell'AI nel tuo ambiente cloud o su provider cloud esterni, Model Armor può aiutarti a prevenire input dannosi, verificare la sicurezza dei contenuti, proteggere i dati sensibili, mantenere la conformità e applicare le tue policy di sicurezza e protezione dell'AI in modo coerente nel tuo panorama di AI diversificato.

Quando Model Armor è abilitato con il logging abilitato, Model Armor registra l'intero payload. Ciò potrebbe esporre informazioni sensibili nei log.

Routing delle richieste MCP a Model Armor

Model Armor è disponibile in alcune regioni. Quando Model Armor è abilitato e utilizzi un server MCP in una giurisdizione non supportata da Model Armor, il comportamento di routing della chiamata potrebbe essere diverso per i vari server MCP e potrebbe violare la conformità della residenza dei dati per i dati in uso e in transito. Per saperne di più sul comportamento dei singoli server MCP, consulta Prodotti supportati da Model Armor.

Abilita Model Armor

Per poter utilizzare Model Armor, devi abilitare le API Model Armor.

Console

  1. Abilita l'API Model Armor, se non è già abilitata.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    Abilitare l'API

  2. Seleziona il progetto in cui vuoi attivare Model Armor.

gcloud

Prima di iniziare, segui questi passaggi utilizzando Google Cloud CLI con l'API Model Armor:

  1. Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il comando seguente:

    gcloud init

  2. Esegui questo comando per impostare l'endpoint API per il servizio Model Armor.

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

    Sostituisci LOCATION con la regione in cui vuoi utilizzare Model Armor.

Configura la protezione per i server MCP Google e Google Cloud remoti

Per proteggere le chiamate e le risposte degli strumenti MCP, puoi utilizzare le impostazioni di base di Model Armor. Un'impostazione di base definisce i filtri di sicurezza minimi che si applicano a tutto il progetto. Questa configurazione applica un insieme coerente di filtri a tutte le chiamate e risposte dello strumento MCP all'interno del progetto.

Configura un'impostazione di base di Model Armor con la sanitizzazione MCP abilitata. Per saperne di più, consulta Configura le impostazioni di base di Model Armor.

Vedi il seguente comando di esempio:

gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--enable-google-mcp-server-cloud-logging \
--malicious-uri-filter-settings-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'

Sostituisci PROJECT_ID con l'ID progetto Google Cloud .

Tieni presente le seguenti impostazioni:

  • INSPECT_AND_BLOCK: il tipo di applicazione che esamina i contenuti per il server MCP di Google e blocca i prompt e le risposte che corrispondono ai filtri.
  • ENABLED: l'impostazione che attiva un filtro o un'applicazione.
  • MEDIUM_AND_ABOVE: il livello di confidenza per le impostazioni dei filtri di AI responsabile - Pericoloso. Puoi modificare questa impostazione, anche se valori più bassi potrebbero generare più falsi positivi. Per saperne di più, consulta Livelli di confidenza di Model Armor.

Disabilita la scansione del traffico MCP con Model Armor

Per impedire a Model Armor di scansionare automaticamente il traffico da e verso i server MCP di Google in base alle impostazioni di base del progetto, esegui questo comando:

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

Sostituisci PROJECT_ID con l'ID progetto Google Cloud . Model Armor non applica automaticamente le regole definite nelle impostazioni di base di questo progetto al traffico del server MCP di Google.

Le impostazioni di base e la configurazione generale di Model Armor possono influire su altri aspetti oltre a MCP. Poiché Model Armor si integra con servizi come Vertex AI, qualsiasi modifica apportata alle impostazioni di base può influire sulla scansione del traffico e sui comportamenti di sicurezza in tutti i servizi integrati, non solo in MCP.

Controlla l'utilizzo di MCP con le policy IAM

Le policy di negazione e le policy di autorizzazione di Identity and Access Management (IAM) ti aiutano a proteggere Google Cloud e i server MCP di Google.

Puoi combinare più criteri per creare policy di sicurezza e governance personalizzate consentendo o negando l'accesso in base a quanto segue:

  • L'entità.
  • Proprietà dello strumento, come l'attributo di sola lettura.
  • Il nome del servizio o dello strumento.
  • L'ID client OAuth dell'applicazione.

Per saperne di più, consulta Controlla l'utilizzo di MCP con Identity and Access Management.

Monitora l'utilizzo di MCP

Puoi monitorare l'utilizzo e la latenza degli strumenti MCP di Firestore tramite Cloud Monitoring. Per la risorsa monitorata firestore.googleapis.com/Database sono disponibili le seguenti metriche:

  • mcp/request_count (beta): il numero di chiamate MCP di Firestore.
  • mcp/request_latencies (beta): la distribuzione delle latenze per le chiamate MCP di Firestore.

Puoi raggruppare e filtrare queste metriche in base alle seguenti etichette:

  • tool_name: il nome dello strumento MCP che effettua la chiamata MCP.

Per saperne di più sulle metriche di Firestore, consulta Metriche di Firestore.

Passaggi successivi