Utiliser le serveur MCP distant Firestore
Ce document explique comment utiliser le serveur MCP (Model Context Protocol) distant Firestore pour vous connecter à des applications d'IA, y compris Gemini CLI, ChatGPT, Claude et les applications personnalisées que vous développez. Le serveur MCP distant Firestore vous permet d'interagir avec des documents stockés dans une base de données Firestore à partir de votre application d'IA. Le serveur MCP distant Firestore est activé lorsque vous activez l'API Firestore.Le Model Context Protocol (MCP) standardise la façon dont les grands modèles de langage (LLM) et les applications ou agents d'IA se connectent à des sources de données externes. Les serveurs MCP vous permettent d'utiliser leurs outils, leurs ressources et leurs prompts pour effectuer des actions et obtenir des données mises à jour à partir de leur service backend.
Quelle est la différence entre les serveurs MCP locaux et distants ?
- Serveurs MCP locaux
- S'exécutent généralement sur votre machine locale et utilisent les flux d'entrée et de sortie standards (stdio) pour la communication entre les services sur le même appareil.
- Serveurs MCP distants
- S'exécutent sur l'infrastructure du service et proposent un point de terminaison HTTP aux applications d'IA pour la communication entre le client MCP d'IA et le serveur MCP. Pour en savoir plus sur l'architecture MCP, consultez la section Architecture MCP.
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
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.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init - Sélectionnez une base de données Firestore en mode natif à utiliser ou créez-en une. Seules les bases de données en mode natif dans l'édition Enterprise ou Standard sont compatibles avec le serveur MCP distant.
Rôles requis
Pour obtenir les autorisations nécessaires pour utiliser le serveur MCP Firestore et interagir avec les documents Firestore, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet dans lequel vous souhaitez utiliser le serveur MCP Firestore :
-
Effectuer des appels d'outils MCP:
utilisateur de l'outil MCP (
roles/mcp.toolUser) -
Lire et modifier des documents Firestore:
utilisateur Firestore (
roles/datastore.user)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour utiliser le serveur MCP Firestore et interagir avec les documents Firestore. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Vous devez disposer des autorisations suivantes pour utiliser le serveur MCP Firestore et interagir avec les documents Firestore :
-
Effectuer des appels d'outils MCP :
mcp.tools.call -
Lire et modifier des documents Firestore :
-
datastore.entities.allocateIds -
datastore.entities.create -
datastore.entities.delete -
datastore.entities.get -
datastore.entities.list -
datastore.entities.update
-
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Authentification et autorisation
Le serveur MCP distant Firestore utilise le protocole OAuth 2.0 avec Identity and Access Management (IAM) pour l'authentification et l'autorisation. Toutes Google Cloud les identités sont compatibles avec l'authentification auprès des serveurs MCP.Nous vous recommandons de créer une identité distincte pour les agents qui utilisent des outils MCP afin de pouvoir contrôler et surveiller l'accès aux ressources. Pour en savoir plus sur l' authentification, consultez la section S'authentifier auprès des serveurs MCP.
Champs d'application OAuth MCP Firestore
OAuth 2.0 utilise des champs d'application et des identifiants pour déterminer si un compte principal authentifié est autorisé à effectuer une action spécifique sur une ressource. Pour en savoir plus sur les champs d'application OAuth 2.0 dans Google, consultez la page Utiliser OAuth 2.0 pour accéder aux API Google.
Firestore dispose des champs d'application OAuth suivants pour les outils MCP :
| URI du champ d'application pour la gcloud CLI | Description |
|---|---|
https://www.googleapis.com/auth/cloud-platform |
Consulter, modifier, configurer et supprimer vos Google Cloud données, et voir l'adresse e-mail de votre compte Google |
Des champs d'application supplémentaires peuvent être requis sur les ressources auxquelles vous accédez lors d'un appel d'outil. Pour afficher la liste des champs d'application requis pour Firestore, consultez la section API Firestore.
Configurer un client MCP pour utiliser le serveur MCP Firestore
Les applications et agents d'IA, tels que Claude ou Antigravity, peuvent instancier un client MCP qui se connecte à un seul serveur MCP. Une application d'IA peut avoir plusieurs clients qui se connectent à différents serveurs MCP. Si votre application ne figure pas dans les conseils spécifiques au client, vous pouvez utiliser les informations suivantes pour vous connecter à partir de la plupart des applications.
Dans votre application d'IA, recherchez un moyen d'ajouter ou de vous connecter à un serveur MCP distant. Pour le serveur MCP Firestore, saisissez les informations suivantes, si nécessaire :
- Nom du serveur : serveur MCP Firestore
- URL du serveur ou Point de terminaison : https://firestore.googleapis.com/mcp
- Transport: HTTP
- Informations d'authentification : selon la méthode d'authentification souhaitée, vous pouvez saisir vos Google Cloud identifiants, votre ID client OAuth et votre code secret, ou une identité et des identifiants d'agent. Pour en savoir plus sur l'authentification, consultez la section S'authentifier auprès des serveurs MCP.
- Champ d'application OAuth : le champ d'application OAuth 2.0 que vous souhaitez utiliser lorsque vous vous connectez au serveur MCP Firestore.
Pour obtenir des conseils spécifiques à l'application sur la configuration et la connexion au serveur MCP, consultez la section Conseils spécifiques au client.
Pour obtenir des conseils plus généraux, consultez les ressources suivantes :
Utiliser le serveur MCP Firestore avec ADK en Python
Vous pouvez utiliser l'Agent Development Kit (ADK) pour Python afin d'interagir avec le serveur MCP distant Firestore.
L'exemple suivant montre comment configurer un agent avec le serveur MCP Firestore et exécuter 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)
Outils disponibles
Pour afficher les détails des outils MCP disponibles et leurs descriptions pour le serveur MCP Firestore, consultez la documentation de référence MCP Firestore.
Répertorier les outils
Utilisez l'inspecteur MCP pour répertorier les outils ou envoyez une
tools/list requête HTTP directement au serveur MCP distant
Firestore. La méthode tools/list ne nécessite pas d'authentification.
POST /mcp HTTP/1.1
Host: firestore.googleapis.com
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/list",
}
Exemples de cas d'utilisation
Voici des exemples de cas d'utilisation et de prompts pour le serveur MCP Firestore :
- "Quels outils sont disponibles pour le serveur MCP Firestore ?"
- "Ajouter un document avec la collection "book" sous ma base de données Firestore "my-database" avec le Google Cloud projet "my-project" avec des informations de livre générées."
- "Obtenir les informations du livre avec l'ID 3VyGFIAPRHUNeuH5h2eb à partir de la collection de livres."
- "Mettre à jour le champ "year" du document 3VyGFIAPRHUNeuH5h2eb sur 1995."
- "Répertorier tous les livres de la collection de livres."
- "Répertorier tous les ID de collection sous la racine de la base de données Firestore "my-database"."
- "Supprimer le document 3VyGFIAPRHUNeuH5h2eb de la collection de livres."
- "Répertorier toutes les bases de données du projet."
- "Créer une base de données Firestore Enterprise avec le mode de compatibilité MongoDB dans nam5."
- "Répertorier toutes les entrées d'index pour le groupe de collections "users"."
Configurations de sécurité facultatives
MCP introduit de nouveaux risques et considérations de sécurité en raison de la grande variété d'actions que vous pouvez effectuer avec les outils MCP. Pour minimiser et gérer ces risques, Google Cloud propose des paramètres par défaut et des règles personnalisables pour contrôler l'utilisation des outils MCP dans votre Google Cloud organisation ou projet.
Pour en savoir plus sur la sécurité et la gouvernance MCP, consultez la section Sécurité de l'IA.
Utiliser Model Armor
Model Armor est un Google Cloud service conçu pour améliorer la sécurité de vos applications d'IA. Il fonctionne en analysant de manière proactive les prompts et les réponses des LLM, en protégeant contre divers risques et en favorisant des pratiques d'IA responsable. Que vous déployiez l'IA dans votre environnement cloud ou chez des fournisseurs de cloud externes, Model Armor peut vous aider à éviter les entrées malveillantes, à vérifier la sécurité du contenu, à protéger les données sensibles, à assurer la conformité et à appliquer vos règles de sécurité de l'IA de manière cohérente dans votre paysage d'IA diversifié.
Lorsque Model Armor est activé avec la journalisation, il enregistre l'ensemble de la charge utile. Cela peut exposer des informations sensibles dans vos journaux.
Activer Model Armor
Vous devez activer les API Model Armor avant de pouvoir utiliser Model Armor.
Console
Activez l'API Model Armor.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.Sélectionnez le projet dans lequel vous souhaitez activer Model Armor.
gcloud
Avant de commencer, suivez ces étapes à l'aide de la Google Cloud CLI avec l'API Model Armor :
Dans la Google Cloud console, activez Cloud Shell.
En bas de la Google Cloud console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
-
Exécutez la commande suivante pour définir le point de terminaison de l'API pour le service Model Armor.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
Remplacez
LOCATIONpar la région dans laquelle vous souhaitez utiliser Model Armor.
Configurer la protection pour les serveurs MCP Google et Google Cloud distants
Pour protéger vos appels et réponses d'outils MCP, vous pouvez utiliser les paramètres de plancher Model Armor. Un paramètre de plancher définit les filtres de sécurité minimaux qui s'appliquent à l'ensemble du projet. Cette configuration applique un ensemble cohérent de filtres à tous les appels et réponses d'outils MCP du projet.
Configurez un paramètre de plancher Model Armor avec la désinfection MCP activée. Pour en savoir plus, consultez la section Configurer les paramètres de plancher Model Armor settings.
Consultez l'exemple de commande suivant :
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"}]'
Remplacez PROJECT_ID par l'ID du Google Cloud projet.
Notez les paramètres suivants :
INSPECT_AND_BLOCK: type d'application qui inspecte le contenu du serveur MCP Google et bloque les prompts et les réponses qui correspondent aux filtres.ENABLED: paramètre qui active un filtre ou une application.MEDIUM_AND_ABOVE: niveau de confiance pour les paramètres de filtre IA responsable - Dangereux. Vous pouvez modifier ce paramètre, mais des valeurs inférieures peuvent entraîner davantage de faux positifs. Pour en savoir plus, consultez la section Niveaux de confiance de Model Armor.
Désactiver l'analyse du trafic MCP avec Model Armor
Pour empêcher Model Armor d'analyser automatiquement le trafic vers et depuis les serveurs MCP Google en fonction des paramètres de plancher du projet, exécutez la commande suivante :
gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--remove-integrated-services=GOOGLE_MCP_SERVER
Remplacez PROJECT_ID par l' Google Cloud ID du projet. Model Armor n'applique pas automatiquement les règles définies dans les paramètres de plancher de ce projet au trafic des serveurs MCP Google.
Les paramètres de plancher et la configuration générale de Model Armor peuvent avoir un impact sur plus que le MCP. Étant donné que Model Armor s'intègre à des services tels que Vertex AI, toute modification apportée aux paramètres de plancher peut affecter l'analyse du trafic et les comportements de sécurité dans tous les services intégrés, et pas seulement dans le MCP.
Contrôler l'utilisation de MCP avec des règles de refus IAM
Les règles de refus Identity and Access Management (IAM) vous aident à sécuriser Google Cloud les serveurs MCP distants. Configurez ces règles pour bloquer l'accès indésirable aux outils MCP.
Par exemple, vous pouvez refuser ou autoriser l'accès en fonction des éléments suivants :
- Le compte principal
- Les propriétés de l'outil, telles que la lecture seule
- L'ID client OAuth de l'application
Pour en savoir plus, consultez la section Contrôler l'utilisation de MCP avec Identity and Access Management.
Surveiller l'utilisation de MCP
Vous pouvez surveiller l'utilisation et la latence de vos outils MCP Firestore via
Cloud Monitoring.
Les métriques suivantes sont disponibles pour la ressource surveillée firestore.googleapis.com/Database :
mcp/request_count(bêta) : nombre d'appels MCP Firestore.mcp/request_latencies(bêta) : distribution des latences pour les appels MCP Firestore.
Vous pouvez regrouper et filtrer ces métriques en fonction des libellés suivants :
tool_name: nom de l'outil MCP qui effectue l'appel MCP.
Pour en savoir plus sur les métriques Firestore, consultez la section Métriques Firestore.
Étape suivante
- Consultez la documentation de référence MCP Firestore.
- En savoir plus sur les serveurs MCP Google Cloud.
- Découvrez comment utiliser un prompt d'IA pour rédiger des règles de sécurité.