In diesem Dokument wird beschrieben, wie Sie Ihre Spanner-Instanz mit verschiedenen Entwicklertools verbinden, die das Model Context Protocol (MCP) unterstützen.
Wir empfehlen, die dedizierte Spanner-Erweiterung für die Gemini CLI zu verwenden. Mit dieser Erweiterung ist es nicht mehr erforderlich, eine separate Serververbindung einzurichten. Sie können Gemini Code Assist so konfigurieren, dass die Gemini CLI verwendet wird. Das bietet ähnliche Einrichtungsvorteile in Ihrer IDE. Weitere Informationen finden Sie unter Gemini CLI-Erweiterung – Spanner.
Alternativ können andere IDEs und Entwicklertools, die das MCP unterstützen, über die MCP Toolbox for Databases verbunden werden. Die MCP Toolbox ist ein Open-Source-MCP-Server, mit dem KI-Agenten mit Ihren Daten verbunden werden können. Es übernimmt Aufgaben wie die Authentifizierung und das Connection Pooling, sodass Sie direkt über Ihre IDE in natürlicher Sprache mit Ihren Daten interagieren können.
Gemini CLI-Erweiterung in Spanner verwenden
Die Spanner-Integration mit der Gemini CLI erfolgt über eine Open-Source-Erweiterung, die im Vergleich zur Standard-MCP-Toolbox-Verbindung zusätzliche Funktionen bietet. Die Erweiterung bietet einen Installationsprozess und eine Reihe von Tools sowie detaillierte Informationen zur Installation, Konfiguration und zu Anwendungsbeispielen. Wenn Sie die Gemini CLI-Erweiterung verwenden, müssen Sie die MCP Toolbox nicht installieren. Weitere Informationen finden Sie unter Gemini CLI-Erweiterung – Spanner.
Die spanner-Erweiterung enthält Tools zum Auflisten von Tabellen und zum Ausführen von SQL- und SQL-DQL-Anweisungen.
| Tools | Beispiel für einen Prompt in natürlicher Sprache |
|---|---|
list_tables |
Welche Tabellen habe ich in meiner Spanner-Instanz? |
execute_sql |
Fügen Sie Testdaten in die Tabelle „products“ ein. |
execute_sql_dql |
Welche Produkte in der Kategorie „Elektronik“ werden in Amerika verkauft? |
Hinweise
Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Google Cloud -Projekt aus oder erstellen Sie eines.
Achten Sie darauf, dass die Abrechnung für Ihr Projekt in Google Cloud aktiviert ist.
Spanner-Instanz einrichten
Konfigurieren Sie die erforderlichen Rollen und Berechtigungen, um diese Aufgabe auszuführen. Der Nutzer, der die LLM-Agents aufruft, benötigt die folgenden Rollen auf Datenbankebene:
Cloud Spanner-Datenbankleser (
roles/spanner.databaseReader) zum Ausführen von DQL-Abfragen und Auflisten von Tabellen.Cloud Spanner-Datenbank-Nutzer (
roles/spanner.databaseUser) zum Ausführen von DML-Abfragen.
Konfigurieren Sie Standardanmeldedaten für Anwendungen (ADC) für Ihre Umgebung.
MCP-Toolbox installieren
Laden Sie die aktuelle Version der MCP Toolbox als Binärprogramm herunter. Wählen Sie das Binärprogramm aus, das Ihrem Betriebssystem und Ihrer CPU-Architektur entspricht. Sie müssen die MCP Toolbox-Version 0.15.0 oder höher verwenden:
linux/amd64
curl -O https://storage.googleapis.com/genai-toolbox/version/linux/amd64/toolbox
darwin/arm64
curl -O https://storage.googleapis.com/genai-toolbox/version/darwin/arm64/toolbox
darwin/amd64
curl -O https://storage.googleapis.com/genai-toolbox/version/darwin/amd64/toolbox
windows/amd64
curl -O https://storage.googleapis.com/genai-toolbox/version/windows/amd64/toolbox
So machen Sie die Binärdatei ausführbar:
chmod +x toolboxInstallation prüfen:
./toolbox --version
Agent-Tool einrichten
In diesem Abschnitt wird beschrieben, wie Sie verschiedene Entwicklertools konfigurieren, um eine Verbindung zu Ihrer Spanner-Instanz herzustellen. Wählen Sie Ihr Agent-Tool aus den folgenden Optionen aus:
Gemini-Befehlszeile
- Installieren Sie die Gemini CLI.
- Installieren Sie die Spanner-Erweiterung für die Gemini CLI aus dem GitHub-Repository mit dem folgenden Befehl:
- Legen Sie die folgenden Umgebungsvariablen fest, um eine Verbindung zu Ihrer Spanner-Instanz herzustellen:
Ersetzen Sie Folgendes:export SPANNER_PROJECT="PROJECT_ID" export SPANNER_INSTANCE="INSTANCE_NAME" export SPANNER_DATABASE="DATABASE_NAME" export SPANNER_DIALECT="DIALECT_NAME"PROJECT_ID: Projekt-ID in Google Cloud .INSTANCE_NAME: Ihr Spanner-Instanzname.DATABASE_NAME: Ihr Spanner-Datenbankname.DIALECT_NAME: Ihr Spanner SQL-Dialekt. Akzeptiertgooglesqloderpostgresql. Der Standardwert istgooglesql, wenn er nicht definiert ist.
- Starten Sie die Gemini CLI im interaktiven Modus:
Die CLI lädt automatisch die Spanner-Erweiterung für die Gemini CLI und ihre Tools, mit denen Sie mit Ihrer Datenbank interagieren können.gemini
gemini extensions install https://github.com/gemini-cli-extensions/spanner
Gemini Code Assist
Wir empfehlen dringend, Gemini Code Assist für die Verwendung der Gemini CLI zu konfigurieren, da bei diesem Ansatz kein MCP-Server manuell konfiguriert werden muss. Die Anleitung zum manuellen Konfigurieren eines MCP-Servers ist jedoch weiterhin im folgenden Abschnitt verfügbar:
1. Installieren Sie die Erweiterung Gemini Code Assist in VS Code.
2. Aktivieren Sie den KI-Agentenmodus und stellen Sie das KI-Agentenmodell auf Gemini um.
3. Erstellen Sie im Stammverzeichnis des Projekts einen Ordner mit dem Namen
.gemini und darin eine Datei mit dem Namen settings.json.4. Fügen Sie der Datei
settings.json eine der folgenden Konfigurationen hinzu, die auf Ihrem Spanner-Dialekt basiert.5. Ersetzen Sie die folgenden Variablen durch Ihre Werte:
PROJECT_ID: Projekt-ID in Google Cloud .INSTANCE_NAME: Ihr Spanner-Instanzname.DATABASE_NAME: Ihr Spanner-Datenbankname.
Spanner mit GoogleSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Spanner mit PostgreSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner-postgres","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Claude Code
1. Installieren Sie Claude Code.
2. Erstellen Sie im Stammverzeichnis Ihres Projekts eine
.mcp.json-Datei, falls sie noch nicht vorhanden ist. 3. Fügen Sie je nach Spanner-Dialekt eine der folgenden Konfigurationen hinzu, ersetzen Sie die Umgebungsvariablen durch Ihre Werte und speichern Sie die Datei:
Spanner mit GoogleSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Spanner mit PostgreSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner-postgres","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Claude für den Computer
1. Öffnen Sie Claude für Desktop und rufen Sie die Einstellungen auf.
2. Klicken Sie auf dem Tab Entwickler auf Konfiguration bearbeiten, um die Konfigurationsdatei zu öffnen.
3. Fügen Sie je nach Spanner-Dialekt eine der folgenden Konfigurationen hinzu, ersetzen Sie die Umgebungsvariablen durch Ihre Werte und speichern Sie die Datei:
Spanner mit GoogleSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Spanner mit PostgreSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner-postgres","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
4. Starten Sie Claude für den Desktop neu.
5. Auf dem neuen Chatbildschirm wird ein Hammersymbol (MCP) mit dem neuen MCP-Server angezeigt.
Cline
1. Öffnen Sie die Cline-Erweiterung in VS Code und klicken Sie auf das Symbol MCP-Server.
2. Tippen Sie auf „MCP-Server konfigurieren“, um die Konfigurationsdatei zu öffnen.
3. Fügen Sie je nach Spanner-Dialekt eine der folgenden Konfigurationen hinzu, ersetzen Sie die Umgebungsvariablen durch Ihre Werte und speichern Sie die Datei:
Spanner mit GoogleSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Spanner mit PostgreSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner-postgres","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Nachdem der Server erfolgreich verbunden wurde, wird ein grüner aktiver Status angezeigt.
Cursor
1. Erstellen Sie das Verzeichnis
.cursor im Stammverzeichnis Ihres Projekts, falls es noch nicht vorhanden ist. 2. Erstellen Sie die Datei
.cursor/mcp.json, falls sie noch nicht vorhanden ist, und öffnen Sie sie.3. Fügen Sie je nach Spanner-Dialekt eine der folgenden Konfigurationen hinzu, ersetzen Sie die Umgebungsvariablen durch Ihre Werte und speichern Sie die Datei:
Spanner mit GoogleSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Spanner mit PostgreSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner-postgres","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
4. Öffnen Sie Cursor und gehen Sie zu Einstellungen > Cursoreinstellungen > MCP. Wenn der Server verbunden ist, wird ein grüner aktiver Status angezeigt.
Visual Studio Code (Copilot)
1. Öffnen Sie VS Code und erstellen Sie im Stammverzeichnis Ihres Projekts das Verzeichnis
.vscode, falls es noch nicht vorhanden ist. 2. Erstellen Sie die Datei
.vscode/mcp.json, falls sie noch nicht vorhanden ist, und öffnen Sie sie. 3. Fügen Sie je nach Spanner-Dialekt eine der folgenden Konfigurationen hinzu, ersetzen Sie die Umgebungsvariablen durch Ihre Werte und speichern Sie die Datei:
Spanner mit GoogleSQL-Dialekt:
{
"servers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Spanner mit PostgreSQL-Dialekt:
{
"servers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner-postgres","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Windsurf
1. Öffnen Sie Windsurf und rufen Sie den Cascade-Assistenten auf.
2. Klicken Sie auf das MCP-Symbol und dann auf Konfigurieren, um die Konfigurationsdatei zu öffnen.
3. Fügen Sie je nach Spanner-Dialekt eine der folgenden Konfigurationen hinzu, ersetzen Sie die Umgebungsvariablen durch Ihre Werte und speichern Sie die Datei:
Spanner mit GoogleSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Spanner mit PostgreSQL-Dialekt:
{
"mcpServers": {
"spanner": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","spanner-postgres","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME"
}
}
}
}
Mit Antigravity verbinden
Sie haben folgende Möglichkeiten, Spanner mit Antigravity zu verbinden:
- MCP Store verwenden
- Benutzerdefinierte Konfiguration verwenden
MCP Store
Die empfohlene Methode zum Herstellen einer Verbindung zu Antigravity ist die Verwendung des integrierten MCP Store.
- Öffnen Sie Antigravity und dann den Agent-Bereich des Editors.
- Klicken Sie oben im Bereich auf das Menüsymbol und wählen Sie MCP Servers (MCP-Server) aus.
- Suchen Sie in der Liste der verfügbaren Server nach Spanner und klicken Sie auf Installieren.
- Folgen Sie der Anleitung auf dem Bildschirm, um Antigravity den Zugriff auf Ihr Google Cloud-Projekt zu gewähren. Dadurch kann Antigravity auf die Spanner-Instanz in Ihrem Projekt zugreifen.
Nachdem Sie den Spanner-Server im MCP Store installiert haben, sind die Ressourcen und Tools des Servers für den Editor verfügbar.
Benutzerdefinierte Konfiguration
So stellen Sie eine Verbindung zu einem benutzerdefinierten MCP-Server her:
- Öffnen Sie Antigravity und dann den Agent-Bereich des Editors.
- Klicken Sie oben im Bereich auf das Menüsymbol und wählen Sie MCP Servers (MCP-Server) aus.
- Klicken Sie auf MCP-Server verwalten > Rohkonfiguration ansehen, um die
mcp_config.json-Datei zu öffnen. - Fügen Sie die folgende Konfiguration hinzu, ersetzen Sie die Umgebungsvariablen durch Ihre Werte und speichern Sie die Datei.
{
"mcpServers": {
"spanner": {
"command": "npx",
"args": ["-y","@toolbox-sdk/server","--prebuilt","spanner","--stdio"],
"env": {
"SPANNER_PROJECT": "PROJECT_ID",
"SPANNER_INSTANCE": "INSTANCE_NAME",
"SPANNER_DATABASE": "DATABASE_NAME",
"SPANNER_DIALECT": "DIALECT_NAME"
}
}
}
}
Nachdem Sie den benutzerdefinierten MCP-Server konfiguriert haben, stehen dem Editor die Ressourcen und Tools des Spanner-Servers zur Verfügung.
Ersetzen Sie Folgendes:
PROJECT_ID: Projekt-ID in Google Cloud .INSTANCE_NAME: Ihr Spanner-Instanzname.DATABASE_NAME: Ihr Spanner-Datenbankname.DIALECT_NAME: Ihr Spanner-SQL-Dialekt. Akzeptiertgooglesqloderpostgresql. Wenn Sie keinen Dialekt angeben, wird standardmäßiggooglesqlverwendet.