Firestore-Remote-MCP-Server verwenden

In diesem Dokument wird beschrieben, wie Sie den Firestore-MCP-Remoteserver (Model Context Protocol) verwenden, um eine Verbindung zu KI-Anwendungen wie der Gemini-Befehlszeile, ChatGPT, Claude und benutzerdefinierten Anwendungen herzustellen, die Sie entwickeln. Mit dem Firestore-Remote-MCP-Server können Sie über Ihre KI-Anwendung mit Dokumenten interagieren, die in einer Firestore-Datenbank gespeichert sind. Der Firestore-Remote-MCP-Server wird aktiviert, wenn Sie die Firestore API aktivieren.

Das Model Context Protocol (MCP) standardisiert, wie Large Language Models (LLMs) und KI-Anwendungen oder ‑Agents eine Verbindung zu externen Datenquellen herstellen. Mit MCP-Servern können Sie die Tools, Ressourcen und Prompts verwenden, um Aktionen auszuführen und aktualisierte Daten vom Backend-Dienst abzurufen.

Was ist der Unterschied zwischen lokalen und Remote-MCP-Servern?

Lokale MCP-Server
werden in der Regel auf Ihrem lokalen Computer ausgeführt und verwenden die Standard-Ein- und Ausgabestreams (stdio) für die Kommunikation zwischen Diensten auf demselben Gerät.
Remote-MCP-Server
Wird auf der Infrastruktur des Dienstes ausgeführt und bietet einen HTTP-Endpunkt für KI-Anwendungen für die Kommunikation zwischen dem KI-MCP-Client und dem MCP-Server. Weitere Informationen zur MCP-Architektur finden Sie unter MCP-Architektur.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. 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

  3. 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.

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

  5. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. Installieren Sie die Google Cloud CLI.

  7. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  8. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  9. 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

  10. 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.

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

  12. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  13. Installieren Sie die Google Cloud CLI.

  14. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  15. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  16. Wählen Sie eine Firestore-Datenbank im nativen Modus aus, die Sie verwenden möchten, oder erstellen Sie eine. Nur Datenbanken im nativen Modus in der Enterprise- oder Standard-Version unterstützen den Remote-MCP-Server.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, in dem Sie den Firestore-MCP-Server verwenden möchten, um die Berechtigungen zu erhalten, die Sie zum Verwenden des Firestore-MCP-Servers und zum Interagieren mit Firestore-Dokumenten benötigen:

  • MCP-Tool-Aufrufe ausführen: MCP Tool User (roles/mcp.toolUser)
  • Firestore-Dokumente lesen und bearbeiten: Firestore User (roles/datastore.user)

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Verwenden des Firestore MCP-Servers und zum Interagieren mit Firestore-Dokumenten erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um den Firestore-MCP-Server zu verwenden und mit Firestore-Dokumenten zu interagieren:

  • MCP-Tool-Aufrufe erstellen: mcp.tools.call
  • Firestore-Dokumente lesen und bearbeiten:
    • datastore.entities.allocateIds
    • datastore.entities.create
    • datastore.entities.delete
    • datastore.entities.get
    • datastore.entities.list
    • datastore.entities.update

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Authentifizierung und Autorisierung

Der Firestore-Remote-MCP-Server verwendet das OAuth 2.0-Protokoll mit Identity and Access Management (IAM) für die Authentifizierung und Autorisierung. Alle Google Cloud Identitäten werden für die Authentifizierung bei MCP-Servern unterstützt.

Wir empfehlen, eine separate Identität für Kundenservicemitarbeiter zu erstellen, die MCP-Tools verwenden, damit der Zugriff auf Ressourcen gesteuert und überwacht werden kann. Weitere Informationen zur Authentifizierung finden Sie unter Authentifizierung bei MCP-Servern.

OAuth-Bereiche für Firestore MCP

OAuth 2.0 verwendet Bereiche und Anmeldedaten, um zu ermitteln, ob ein authentifiziertes Hauptkonto autorisiert ist, eine bestimmte Aktion für eine Ressource auszuführen. Weitere Informationen zu OAuth 2.0-Bereichen bei Google finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen.

Für Firestore sind die folgenden OAuth-Bereiche für MCP-Tools verfügbar:

Bereichs-URI für die gcloud CLI Beschreibung
https://www.googleapis.com/auth/cloud-platform Ihre Google Cloud -Daten abrufen, bearbeiten, konfigurieren und löschen sowie die E‑Mail-Adresse Ihres Google-Kontos abrufen

Möglicherweise sind zusätzliche Bereiche für die Ressourcen erforderlich, auf die während eines Tool-Aufrufs zugegriffen wird. Eine Liste der für Firestore erforderlichen Bereiche finden Sie unter Firestore API.

MCP-Client für die Verwendung des Firestore-MCP-Servers konfigurieren

KI-Anwendungen und ‑Agents wie Claude oder Antigravity können einen MCP-Client instanziieren, der eine Verbindung zu einem einzelnen MCP-Server herstellt. Eine KI-Anwendung kann mehrere Clients haben, die sich mit verschiedenen MCP-Servern verbinden. Wenn Ihre Anwendung nicht in der clientspezifischen Anleitung aufgeführt ist, können Sie die folgenden Informationen verwenden, um eine Verbindung von den meisten Anwendungen aus herzustellen.

Suchen Sie in Ihrer KI-Anwendung nach einer Möglichkeit, einen Remote-MCP-Server hinzuzufügen oder eine Verbindung zu ihm herzustellen. Geben Sie für den Firestore-MCP-Server die folgenden Informationen nach Bedarf ein:

  • Servername: Firestore-MCP-Server
  • Server-URL oder Endpunkt: https://firestore.googleapis.com/mcp
  • Transport: HTTP
  • Authentifizierungsdetails: Je nachdem, wie Sie sich authentifizieren möchten, können Sie Ihre Google Cloud Anmeldedaten, Ihre OAuth-Client-ID und Ihren OAuth-Clientschlüssel oder eine Agent-Identität und Anmeldedaten eingeben. Weitere Informationen zur Authentifizierung finden Sie unter Authentifizierung bei MCP-Servern.
  • OAuth-Bereich: Der OAuth 2.0-Bereich, den Sie beim Herstellen einer Verbindung zum Firestore-MCP-Server verwenden möchten.

Anwendungsspezifische Anleitungen zum Einrichten und Herstellen einer Verbindung zum MCP-Server finden Sie unter Clientspezifische Anleitungen.

Allgemeine Informationen finden Sie in den folgenden Ressourcen:

Firestore-MCP-Server mit ADK in Python verwenden

Sie können das Agent Development Kit (ADK) für Python verwenden, um mit dem Firestore-Remote-MCP-Server zu interagieren.

Das folgende Beispiel zeigt, wie Sie einen Agent mit dem Firestore-MCP-Server konfigurieren und einen Prompt ausführen.

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)

Verfügbare Tools

Details zu verfügbaren MCP-Tools und deren Beschreibungen für den Firestore-MCP-Server finden Sie in der Firestore-MCP-Referenz.

Tools für Listen

Verwenden Sie den MCP-Inspector, um Tools aufzulisten, oder senden Sie eine tools/list-HTTP-Anfrage direkt an den Firestore-MCP-Remoteserver. Für die Methode tools/list ist keine Authentifizierung erforderlich.

POST /mcp HTTP/1.1
Host: firestore.googleapis.com
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
}

Beispiele für Anwendungsfälle

Im Folgenden finden Sie Beispielanwendungsfälle und Prompts für den Firestore-MCP-Server:

  • „Welche Tools sind für den Firestore-MCP-Server verfügbar?“
  • „Füge meiner Firestore-Datenbank ‚my-database‘ mit dem Projekt ‚my-project‘ ein Dokument mit der Sammlung ‚book‘ mit generierten Buchinformationen hinzu.“ Google Cloud
  • „Rufe die Informationen für das Buch mit der ID 3VyGFIAPRHUNeuH5h2eb aus der Buchsammlung ab.“
  • „Aktualisiere das Feld ‚Jahr‘ des Dokuments 3VyGFIAPRHUNeuH5h2eb auf 1995.“
  • „List all books under the book collection.“ (Liste alle Bücher in der Buchsammlung auf.)
  • „List all collections IDs under the root of the ‚my-database‘ Firestore database.“ (Liste alle Sammlungs-IDs unter dem Stamm der Firestore-Datenbank „my-database“ auf.)
  • „Lösche das Dokument 3VyGFIAPRHUNeuH5h2eb in der Buchsammlung.“
  • „List all databases under the project.“ (Liste alle Datenbanken unter dem Projekt auf.)
  • „Erstelle eine Firestore Enterprise-Datenbank mit MongoDB-Kompatibilitätsmodus in nam5.“
  • „List all indexes entries for collection group users.“ (Liste alle Indexeinträge für Nutzer von Sammlungsgruppen auf.)

Optionale Sicherheitskonfigurationen

Das MCP birgt neue Sicherheitsrisiken und ‑aspekte, da mit den MCP-Tools eine Vielzahl von Aktionen ausgeführt werden kann. Um diese Risiken zu minimieren und zu verwalten, bietetGoogle Cloud Standardeinstellungen und anpassbare Richtlinien, mit denen Sie die Verwendung von MCP-Tools in Ihrer Google Cloud-Organisation oder Ihrem Google Cloud-Projekt steuern können.

Weitere Informationen zur Sicherheit und Governance von MCP finden Sie unter KI-Sicherheit.

Model Armor verwenden

Model Armor ist einGoogle Cloud Dienst, der die Sicherheit Ihrer KI-Anwendungen verbessern soll. Dazu werden LLM-Prompts und ‑Antworten proaktiv geprüft, um vor verschiedenen Risiken zu schützen und eine verantwortungsbewusste Anwendung von KI zu unterstützen. Unabhängig davon, ob Sie KI in Ihrer Cloud-Umgebung oder bei externen Cloud-Anbietern bereitstellen, kann Model Armor Ihnen helfen, schädliche Eingaben zu verhindern, die Sicherheit von Inhalten zu überprüfen, sensible Daten zu schützen, die Compliance aufrechtzuerhalten und Ihre KI-Sicherheitsrichtlinien in Ihrer vielfältigen KI-Landschaft einheitlich durchzusetzen.

Wenn Model Armor mit aktiviertem Logging aktiviert ist, protokolliert Model Armor die gesamte Nutzlast. Dadurch können vertrauliche Informationen in Ihren Logs offengelegt werden.

Model Armor aktivieren

Sie müssen Model Armor APIs aktivieren, bevor Sie Model Armor verwenden können.

Console

  1. Aktivieren Sie die Model Armor API.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    API aktivieren

  2. Wählen Sie das Projekt aus, für das Sie Model Armor aktivieren möchten.

gcloud

Führen Sie die folgenden Schritte mit der Google Cloud CLI und der Model Armor API aus, bevor Sie beginnen:

  1. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  2. Führen Sie den folgenden Befehl aus, um den API-Endpunkt für den Model Armor-Dienst festzulegen.

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

    Ersetzen Sie LOCATION durch die Region, in der Sie Model Armor verwenden möchten.

Schutz für Google- und Google Cloud Remote-MCP-Server konfigurieren

Um Ihre MCP-Toolaufrufe und ‑Antworten zu schützen, können Sie Model Armor-Mindesteinstellungen verwenden. Eine Mindesteinstellung definiert die Mindestsicherheitsfilter, die für das gesamte Projekt gelten. Mit dieser Konfiguration wird ein einheitlicher Satz von Filtern auf alle MCP-Toolaufrufe und ‑Antworten im Projekt angewendet.

Richten Sie eine Model Armor-Mindesteinstellung mit aktivierter MCP-Bereinigung ein. Weitere Informationen finden Sie unter Model Armor-Untergrenzeneinstellungen konfigurieren.

Hier ein Beispielbefehl:

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"}]'

Ersetzen Sie dabei PROJECT_ID durch die ID Ihres Projekts in Google Cloud .

Beachten Sie die folgenden Einstellungen:

  • INSPECT_AND_BLOCK: Der Erzwingungstyp, der Inhalte für den Google MCP-Server prüft und Prompts und Antworten blockiert, die den Filtern entsprechen.
  • ENABLED: Die Einstellung, die einen Filter oder die Erzwingung ermöglicht.
  • MEDIUM_AND_ABOVE: Das Konfidenzniveau für die Filtereinstellungen „Verantwortungsbewusste Anwendung von KI – Gefährlich“. Sie können diese Einstellung ändern. Niedrigere Werte können jedoch zu mehr falsch positiven Ergebnissen führen. Weitere Informationen finden Sie unter Vertrauenswürdigkeitsstufen von Model Armor.

Scannen von MCP-Traffic mit Model Armor deaktivieren

Wenn Sie verhindern möchten, dass Model Armor den Traffic zu und von Google MCP-Servern automatisch auf Grundlage der Mindesteinstellungen des Projekts scannt, führen Sie den folgenden Befehl aus:

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

Ersetzen Sie PROJECT_ID durch die Google Cloud Projekt-ID. Model Armor wendet die in den Mindesteinstellungen dieses Projekts definierten Regeln nicht automatisch auf den gesamten Google MCP-Server-Traffic an.

Model Armor-Mindesteinstellungen und die allgemeine Konfiguration können sich auf mehr als nur MCP auswirken. Da Model Armor in Dienste wie Vertex AI eingebunden ist, können sich Änderungen an den Mindesteinstellungen auf das Scannen von Traffic und das Sicherheitsverhalten in allen eingebundenen Diensten auswirken, nicht nur in MCP.

MCP-Nutzung mit IAM-Ablehnungsrichtlinien steuern

IAM-Ablehnungsrichtlinien (Identity and Access Management) helfen Ihnen, Google Cloud Remote-MCP-Server zu schützen. Konfigurieren Sie diese Richtlinien, um unerwünschten Zugriff auf MCP-Tools zu blockieren.

Sie können den Zugriff beispielsweise anhand der folgenden Kriterien verweigern oder zulassen:

  • Das Hauptkonto
  • Tool-Eigenschaften wie „Schreibgeschützt“
  • Die OAuth-Client-ID der Anwendung

Weitere Informationen finden Sie unter Verwendung von MCP mit Identity and Access Management steuern.

MCP-Nutzung überwachen

Sie können die Nutzung und Latenz Ihrer Firestore-MCP-Tools über Cloud Monitoring überwachen. Die folgenden Messwerte sind für die überwachte Ressource firestore.googleapis.com/Database verfügbar:

  • mcp/request_count (Beta): Die Anzahl der Firestore-MCP-Aufrufe.
  • mcp/request_latencies (Beta): Die Verteilung der Latenzen für Firestore-MCP-Aufrufe.

Sie können diese Messwerte nach den folgenden Labels gruppieren und filtern:

  • tool_name: Der Name des MCP-Tools, das den MCP-Aufruf ausführt.

Weitere Informationen zu Firestore-Messwerten finden Sie unter Firestore-Messwerte.

Nächste Schritte