Utilizzare il server MCP remoto di Firestore
Questo documento mostra come utilizzare il server Model Context Protocol (MCP) remoto di Firestore per connetterti alle applicazioni AI, tra cui Gemini CLI, ChatGPT, Claude e le 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 è 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 a origini dati esterne. I server MCP ti consentono di utilizzare i loro strumenti, risorse e 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 macchina locale e utilizzano i flussi di input e output standard (stdio) per la comunicazione tra i servizi sullo stesso dispositivo.
- Server MCP remoti
- Vengono eseguiti sull'infrastruttura del servizio e offrono 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.
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Firestore API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Firestore API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init - Seleziona un database Firestore in modalità Native 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 sul progetto in cui vuoi utilizzare il server MCP di Firestore:
-
Esegui chiamate allo strumento MCP:
MCP Tool User (
roles/mcp.toolUser) -
Leggi e modifica 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 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:
-
Esegui 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 Google Cloud identità 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 Autenticarsi 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 in 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 |
Visualizza, modifica, configura ed elimina i tuoi Google Cloud dati e visualizza 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.
Configurare un client MCP per utilizzare il server MCP di Firestore
Le applicazioni e gli agenti AI, come Claude o Gemini CLI, possono creare un'istanza di un client MCP che si connette a un singolo server MCP. Un'applicazione AI può avere più client che si connettono a server MCP diversi. Per connettersi a un server MCP remoto, il client MCP deve conoscere l'URL del server MCP remoto.
Nella tua applicazione AI, cerca un modo per connetterti a un server MCP remoto. Ti viene chiesto di inserire i dettagli del server, come il nome e l'URL.
Per il server MCP di Firestore, inserisci quanto segue, se necessario:
- Nome server: server MCP di Firestore
- URL server o endpoint: https://firestore.googleapis.com/mcp
- Trasporto: HTTP
- Dettagli di autenticazione: a seconda della modalità di autenticazione, puoi inserire le tue Google Cloud credenziali, l'ID client OAuth e il secret o un'identità e le credenziali dell'agente. Per saperne di più sull' autenticazione, consulta Autenticarsi ai server MCP.
- Ambito OAuth: l'ambito OAuth 2.0 che vuoi utilizzare quando ti connetti al server MCP di Firestore.
Per indicazioni specifiche per l'host, consulta:
Per indicazioni più generali, consulta le seguenti risorse:
Strumenti disponibili
Per visualizzare i dettagli degli strumenti MCP disponibili e le relative descrizioni per il server MCP di Firestore, consulta il riferimento MCP di Firestore.
Elencare gli strumenti
Utilizza l'ispettore MCP per elencare gli strumenti o invia una
tools/list richiesta HTTP direttamente al server MCP
remoto di Firestore. Il metodo tools/list non richiede l'autenticazione.
POST /mcp HTTP/1.1
Host: firestore.googleapis.com
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/list",
}
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 sul libro con ID 3VyGFIAPRHUNeuH5h2eb dalla raccolta di libri."
- "Aggiorna il campo dell'anno del documento 3VyGFIAPRHUNeuH5h2eb al 1995."
- "Elenca tutti i libri nella raccolta di libri."
- "Elenca tutti gli ID delle raccolte nella radice del database Firestore "my-database"."
- "Elimina il documento 3VyGFIAPRHUNeuH5h2eb nella raccolta di libri."
- "Elenca tutti i database nel progetto."
- "Crea un database Firestore Enterprise con la modalità di compatibilità MongoDB in nam5."
- "Elenca tutte le voci degli indici per il gruppo di raccolte users."
Configurazioni di sicurezza e protezione facoltative
MCP introduce nuovi rischi e considerazioni sulla sicurezza a causa della vasta gamma 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 Google Cloud organizzazione o nel tuo progetto.
Per saperne di più sulla sicurezza e sulla governance di MCP, consulta Sicurezza e protezione dell'AI.
Utilizzare Model Armor
Model Armor è un Google Cloud servizio progettato per migliorare la sicurezza e la protezione delle tue applicazioni AI. Funziona controllando in modo proattivo i prompt e le risposte LLM, proteggendo da vari rischi e supportando le pratiche di AI responsabile. Che tu stia eseguendo il deployment dell'AI nel tuo ambiente cloud o su provider di servizi 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 policy di sicurezza e protezione dell'AI in modo coerente nel tuo panorama AI diversificato.
Quando Model Armor è abilitato con la registrazione abilitata, Model Armor registra l'intero payload. In questo modo, le informazioni sensibili potrebbero essere esposte nei log.
Abilitare Model Armor
Prima di poter utilizzare Model Armor, devi abilitare le API Model Armor.
Console
Abilita l'API Model Armor.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.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:
Nella Google Cloud console, attiva Cloud Shell.
Nella parte inferiore della Google Cloud console, viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già inclusa e installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
-
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
LOCATIONcon la regione in cui vuoi utilizzare Model Armor.
Configurare 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 al progetto. Questa configurazione applica un insieme coerente di filtri a tutte le chiamate e le risposte degli strumenti MCP all'interno del progetto.
Configura un'impostazione di base di Model Armor con la sanificazione MCP abilitata. Per saperne di più, consulta Configurare 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 ispeziona i contenuti per il server MCP di Google e blocca i prompt e le risposte che corrispondono ai filtri.ENABLED: l'impostazione che abilita un filtro o un'applicazione.MEDIUM_AND_ABOVE: il livello di attendibilità per le impostazioni del filtro AI responsabile - Pericoloso. Puoi modificare questa impostazione, anche se valori inferiori potrebbero comportare un maggior numero di falsi positivi. Per saperne di più, consulta Livelli di attendibilità di Model Armor.
Disabilitare la scansione del traffico MCP con Model Armor
Per impedire a Model Armor di eseguire automaticamente la scansione del 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' Google Cloud ID
progetto. 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 più di un solo 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.
Controllare l'utilizzo di MCP con i criteri di rifiuto IAM
I criteri di rifiuto di Identity and Access Management (IAM) ti aiutano a proteggere Google Cloud i server MCP remoti. Configura questi criteri per bloccare l'accesso indesiderato agli strumenti MCP.
Ad esempio, puoi negare o consentire l'accesso in base a:
- L'entità
- Proprietà dello strumento come di sola lettura
- L'ID client OAuth dell'applicazione
Per saperne di più, consulta Controllare l'utilizzo di MCP con Identity and Access Management.
Monitorare 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 conteggio delle 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
- Leggi la documentazione di riferimento di MCP di Firestore.
- Scopri di più sui server MCP di Google Cloud.
- Scopri come utilizzare un prompt AI per creare regole di sicurezza