Remote-MCP-Server für Firestore verwenden
In diesem Dokument wird beschrieben, wie Sie den Firestore-Remote-MCP-Server (Model Context Protocol) verwenden, um eine Verbindung zu KI-Anwendungen wie Antigravity, ChatGPT, Claude und benutzerdefinierten Anwendungen herzustellen, die Sie entwickeln. Mit dem Firestore-Remote-MCP-Server können Sie von Ihrer KI-Anwendung aus 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 -Agenten mit externen Datenquellen verbunden werden. Mit MCP-Servern können Sie deren Tools, Ressourcen und Prompts verwenden, um Aktionen auszuführen und aktualisierte Daten von ihrem 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 Standardeingabe- und ‑ausgabestreams (stdio) für die Kommunikation zwischen Diensten auf demselben Gerät.
- Remote-MCP-Server
- Werden in der Infrastruktur des Dienstes ausgeführt und bieten KI-Anwendungen einen HTTP-Endpunkt 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 der MCP-Version 2026-07-28 wird MCP von einem bidirektionalen, zustandsorientierten Protokoll zu einem zustandslosen Protokoll geändert.
Jede MCP-Anfrage ist selbsterklärend 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 über Multi-Round-Trip-Anfragen (MRTR) zusätzliche Informationen anfordern, die von einem Tool benötigt werden.
Damit Anfragen ohne Parsen des Anfragetexts weitergeleitet und verarbeitet werden können, 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 Standardanfrageheader.
- Benutzerdefinierte Header, die vom MCP-Server definiert werden. Diese Header werden mithilfe des Attributs
x-mcp-headeraus dem Eingabeschema des Tools in HTTP-Header 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 die MCP-Version 2026-07-28.
Hinweis
-
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, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init - Wählen Sie eine Firestore-Datenbank im nativen Modus aus 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 zur Verwendung des Firestore-MCP-Servers und zur Interaktion mit Firestore-Dokumenten benötigen:
-
MCP-Toolaufrufe ausführen:
MCP Tool User (
roles/mcp.toolUser) -
Firestore-Dokumente lesen und bearbeiten:
Firestore-Nutzer (
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-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, für Agenten, die MCP-Tools verwenden, eine separate Identität zu erstellen, damit der Zugriff auf Ressourcen gesteuert und überwacht werden kann. Weitere Informationen zur Authentifizierung finden Sie unter Bei MCP-Servern authentifizieren.
Firestore-MCP-OAuth-Bereiche
OAuth 2.0 verwendet Bereiche und Anmeldedaten, um zu bestimmen, ob ein authentifiziertes Hauptkonto berechtigt 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.
Firestore hat die folgenden OAuth-Bereiche für MCP-Tools:
| Bereichs-URI für die gcloud CLI | Beschreibung |
|---|---|
https://www.googleapis.com/auth/cloud-platform |
Ihre Google Cloud -Daten aufrufen, bearbeiten, konfigurieren und löschen sowie die E‑Mail-Adresse Ihres Google-Kontos sehen. |
Für die Ressourcen, auf die während eines Toolaufrufs 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 -Agenten 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 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 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 für die Verbindung mit dem Firestore-MCP-Server verwenden möchten.
Anwendungsspezifische Anleitungen zum Einrichten und Verbinden mit einem 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.
Im folgenden Beispiel wird gezeigt, wie Sie einen KI-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 den verfügbaren MCP-Tools und deren Beschreibungen für den Firestore-MCP-Server finden Sie in der Firestore-MCP-Referenz.
Tools auflisten
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 dies beispielsweisemcp/toolset-namesein.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 ein Dokument mit der Sammlung ‚book‘ unter meiner Firestore-Datenbank ‚my-database‘ mit dem Projekt ‚my-project‘ mit generierten Buchinformationen hinzu.“ Google Cloud
- „Rufe die Informationen für das Buch mit der ID 3VyGFIAPRHUNeuH5h2eb aus der Buchsammlung ab.“
- „Aktualisiere das Feld ‚year‘ des Dokuments 3VyGFIAPRHUNeuH5h2eb auf 1995.“
- „List all books under the book collection.“ (Liste alle Bücher in der Buchsammlung auf.)
- „Listen Sie alle Sammlungs-IDs im Stammverzeichnis der Firestore-Datenbank ‚my-database‘ auf.“
- „Lösche das Dokument 3VyGFIAPRHUNeuH5h2eb in der Sammlung ‚book‘.“
- „Listet alle Datenbanken im Projekt auf.“
- „Erstellen Sie eine Firestore Enterprise-Datenbank mit MongoDB-Kompatibilitätsmodus in nam5.“
- „Alle Indexeinträge für die Sammlungsgruppe ‚users‘ auflisten.“
Optionale Sicherheitskonfigurationen
MCP bringt aufgrund der Vielzahl von Aktionen, die Sie mit den MCP-Tools ausführen können, neue Sicherheitsrisiken und ‑aspekte mit sich. Um diese Risiken zu minimieren und zu verwalten, bietetGoogle Cloud Standardeinstellungen und anpassbare Richtlinien, mit denen Sie die Verwendung von MCP-Tools in Ihrer Organisation oder Ihrem Projekt in Google Cloudsteuern können.
Weitere Informationen zur Sicherheit und Governance von MCP finden Sie unter KI-Sicherheit.
Model Armor verwenden
Model Armor ist ein Dienst vonGoogle Cloud , der die Sicherheit Ihrer KI-Anwendungen verbessern soll. Model Armor prüft proaktiv LLM-Prompts und ‑Antworten, schützt vor verschiedenen Risiken und unterstützt eine verantwortungsbewusste Anwendung von KI. 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 Inhaltssicherheit zu überprüfen, sensible Daten zu schützen, die Compliance aufrechtzuerhalten und Ihre KI-Sicherheitsrichtlinien konsistent in Ihrer vielfältigen KI-Landschaft durchzusetzen.
Wenn Model Armor mit aktiviertem Logging aktiviert ist, protokolliert Model Armor die gesamte Nutzlast. Dadurch könnten 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 von Datenstandortvorgaben für Daten in Verwendung und Daten während 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
Aktivieren Sie die Model Armor API, falls sie noch nicht aktiviert ist.
Erforderliche Rollen zum Aktivieren von APIs
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 Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von RollenWä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:
Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:
gcloud init-
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
LOCATIONdurch die Region, in der Sie Model Armor verwenden möchten.
Schutz für Google- und Google Cloud Remote-MCP-Server konfigurieren
Zum Schutz Ihrer MCP-Toolaufrufe und ‑Antworten können Sie die Mindesteinstellungen für Model Armor 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-Mindesteinstellungen konfigurieren.
Sehen Sie sich den folgenden Beispielbefehl an:
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 eine Maßnahme aktiviert wird.MEDIUM_AND_ABOVE: Das Konfidenzniveau für die Filtereinstellungen „Verantwortungsbewusste Anwendung von KI – Gefährlich“. Sie können diese Einstellung ändern, wobei niedrigere Werte zu mehr falsch positiven Ergebnissen führen können. Weitere Informationen finden Sie unter Model Armor-Konfidenzniveaus.
Scannen von MCP-Traffic mit Model Armor deaktivieren
Führen Sie den folgenden Befehl aus, um zu verhindern, dass Model Armor den Traffic zu und von Google MCP-Servern basierend auf den Mindesteinstellungen des Projekts automatisch scannt:
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 Projekt-ID in Google Cloud . Model Armor wendet die in den Mindesteinstellungen dieses Projekts definierten Regeln nicht automatisch auf den Traffic von Google-MCP-Servern an.
Die Model Armor-Mindesteinstellungen und die allgemeine Konfiguration können sich nicht nur auf 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-Richtlinien steuern
Mit Ablehnungsrichtlinien und Zulassungsrichtlinien von Identity and Access Management (IAM) 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. Dazu können Sie den Zugriff anhand der folgenden Kriterien zulassen oder verweigern:
- Das Hauptkonto.
- Toolattribute wie das Attribut „read-only“.
- 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.