Firestore-Remote-MCP-Server verwenden

In diesem Dokument wird beschrieben, wie Sie den Firestore-Remote-MCP-Server (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 die Verbindung von Large Language Models (LLMs) und KI-Anwendungen oder ‑Agenten mit externen Datenquellen. 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.

Zustandsloser Kern

Mit MCP-Version 2026-07-28 wird MCP von einem bidirektionalen, zustandsorientierten Protokoll zu einem zustandslosen Protokoll. Jede MCP-Anfrage ist selbstbeschreibend und kann über Header weitergeleitet werden. Der initialize/initialized-Handshake oder Mcp-Session-Id ist nicht erforderlich, da jede Anfrage alle erforderlichen Informationen in HTTP-Headern oder im Parameter _meta enthält. MCP-Server können zusätzliche Informationen, die für ein Tool erforderlich sind, über Multi-Round-Trip-Anfragen (MRTR) anfordern.

Damit Anfragen weitergeleitet und verarbeitet werden können, ohne dass der Anfragetext geparst werden muss, sind einige MCP-Header erforderlich, darunter die folgenden:

  • Header, die gemäß der MCP-Spezifikation erforderlich sind, z. B. der Header für die Protokollversion und Standardanfrage-Header.
  • Benutzerdefinierte Header, die vom MCP-Server definiert werden. Diese Header werden mithilfe des Attributs x-mcp-header in HTTP-Header aus dem Eingabeschema des Tools gespiegelt. Ein MCP-Server kann beispielsweise einen benutzerdefinierten Header definieren, um die Google Cloud Region oder Projekt-ID anzugeben.

Weitere Informationen zur MCP-Architektur finden Sie in der Spezifikation und den wichtigsten Änderungen für MCP-Version 2026-07-28.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach 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, 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

  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, 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

  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:

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-Toolaufrufe ausführen: 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 Agenten 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

Bei OAuth 2.0 wird anhand von Bereichen und Anmeldedaten ermittelt, 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:

Umfang-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

Für die Ressourcen, auf die während eines Tool-Aufrufs zugegriffen wird, sind möglicherweise zusätzliche Bereiche erforderlich. 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 eine Verbindung zu verschiedenen MCP-Servern herstellen. 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 einem solchen Server 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: Streamable HTTP
  • Authentifizierungsdetails: Je nachdem, wie Sie sich authentifizieren möchten, können Sie Ihre Google Cloud Anmeldedaten, Ihre OAuth-Client-ID und Ihr OAuth-Secret oder eine Agentenidentität und Anmeldedaten eingeben. Weitere Informationen zur Authentifizierung finden Sie unter Bei MCP-Servern authentifizieren.
  • 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 Anleitung.

Allgemeinere 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 Remote-MCP-Server von Firestore zu interagieren.

Im folgenden Beispiel wird gezeigt, wie Sie einen Agenten 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.

Listentools

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

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

Ersetzen Sie Folgendes:

  • TOOLSET_ENDPOINT: der Rest des MCP-Endpunkts nach dem Dienstnamen. Für Firestore könnte das beispielsweise mcp/toolset-name sein.
  • MCP_PROTOCOL_VERSION: die MCP-Protokollversion. Beispiel: 2026-07-28.

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 Google Cloud Projekt ‚my-project‘ ein Dokument mit der Sammlung ‚book‘ mit generierten Buchinformationen hinzu.“
  • „Get the information for the book with ID 3VyGFIAPRHUNeuH5h2eb from the book collection.“ (Rufe die Informationen für das Buch mit der ID 3VyGFIAPRHUNeuH5h2eb aus der Buchsammlung ab.)
  • „Aktualisiere das Jahresfeld 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 the ‚my-database‘ Firestore database.“ (Liste alle Sammlungs-IDs unter dem Stammverzeichnis der Firestore-Datenbank „my-database“ auf.)
  • „Lösche das Dokument 3VyGFIAPRHUNeuH5h2eb in der Buchsammlung.“
  • „List all databases under the project.“ (Liste alle Datenbanken im Projekt auf.)
  • „Erstelle eine Firestore Enterprise-Datenbank mit MongoDB-Kompatibilitätsmodus in nam5.“
  • „List all index entries for collection group users.“ (Liste alle Indexeinträge für Nutzer von Sammlungsgruppen auf.)

Optionale Sicherheitskonfigurationen

MCP birgt neue Sicherheitsrisiken und ‑aspekte, da mit den MCP-Tools eine Vielzahl von Aktionen möglich ist. Um diese Risiken zu minimieren und zu verwalten, bietet Google Cloud Standardeinstellungen und anpassbare Richtlinien, mit denen Sie die Verwendung von MCP-Tools in Ihrer Google Cloud -Organisation oder Ihrem -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.

MCP-Anfragenrouting zu Model Armor

Model Armor ist in bestimmten Regionen verfügbar. Wenn Model Armor aktiviert ist und Sie einen MCP-Server in einer Gerichtsbarkeit verwenden, die von Model Armor nicht unterstützt wird, kann das Routingverhalten des Aufrufs für verschiedene MCP-Server unterschiedlich sein und die Einhaltung der Datenstandortvorgaben für Daten in Verwendung und bei der Übertragung beeinträchtigen. Weitere Informationen zum Verhalten einzelner MCP-Server finden Sie unter Von Model Armor unterstützte Produkte.

Model Armor aktivieren

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

Console

  1. Aktivieren Sie die Model Armor API, falls sie noch nicht aktiviert ist.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    API aktivieren

  2. Wählen Sie das Projekt aus, in dem 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

Mit den Mindesteinstellungen für Model Armor können Sie Ihre MCP-Toolaufrufe und ‑Antworten schützen. Eine Mindesteinstellung definiert die Mindestsicherheitsfilter, die für das gesamte Projekt gelten. Mit dieser Konfiguration wird ein einheitlicher Satz von Filtern auf alle MCP-Tool-Aufrufe 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 Beispiel für einen Befehl:

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, mit der ein Filter oder die Erzwingung aktiviert wird.
  • MEDIUM_AND_ABOVE: Das Konfidenzniveau für die Filter für verantwortungsbewusste Anwendung von KI – gefährlich. Sie können diese Einstellung ändern. Bei niedrigeren Werten kann es jedoch zu mehr falsch positiven Ergebnissen kommen. Weitere Informationen finden Sie unter Model Armor-Vertrauensstufen.

Scannen von MCP-Traffic mit Model Armor deaktivieren

Wenn Sie verhindern möchten, dass Model Armor den Traffic zu und von Google MCP-Servern basierend auf den Mindesteinstellungen des Projekts automatisch 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 die Traffic-Analyse und Sicherheitsfunktionen aller eingebundenen Dienste auswirken, nicht nur auf MCP.

MCP-Nutzung mit IAM-Richtlinien steuern

Mit IAM-Ablehnungsrichtlinien (Identity and Access Management) und IAM-Zulassungsrichtlinien können Sie Google Cloud - und Google MCP-Server schützen.

Sie können mehrere Kriterien kombinieren, um benutzerdefinierte Sicherheits- und Governance-Richtlinien zu erstellen, indem Sie den Zugriff basierend auf den folgenden Kriterien zulassen oder verweigern:

  • Der Auftraggeber.
  • Tool-Attribute wie das schreibgeschützte Attribut.
  • Der Name des Dienstes oder Tools.
  • Die OAuth-Client-ID der Anwendung.

Weitere Informationen finden Sie unter MCP-Nutzung 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