SingleStore MCP Server
Model Context Protocol (MCP) ist ein standardisiertes Protokoll zur Verwaltung des Kontexts zwischen großen Sprachmodellen (LLMs) und externen Systemen. Dieses Repository bietet ein Installationsprogramm und einen MCP-Server für Singlestore und ermöglicht so eine nahtlose Integration.
Mit MCP können Sie Claude Desktop, Cursor oder jeden kompatiblen MCP-Client verwenden, um mit SingleStore in natürlicher Sprache zu interagieren, was die mühelose Durchführung komplexer Vorgänge erleichtert.
Anforderungen
Python >= v3.11.0
uvx in Ihrer Python-Umgebung installiert
Claude Desktop, Cursor oder ein anderer unterstützter LLM-Client
Related MCP server: MCP Server Example
Client-Setup
1. Init-Befehl
Die einfachste Möglichkeit, den MCP-Server einzurichten, ist die Verwendung des Initialisierungsbefehls:
Dieser Befehl führt Folgendes aus:
Authentifizieren des Benutzers
Automatisches Suchen der Konfigurationsdatei für Ihre Plattform
Erstellen oder aktualisieren Sie die Konfiguration, um den SingleStore MCP-Server einzuschließen
Geben Sie Anweisungen zum Starten des Servers an
Sie können auch explizit einen <SINGLESTORE_API_KEY> übergeben:
Um einen Client anzugeben (z. B. claude oder cursor ), verwenden Sie das Flag --client :
2. Installation über Smithery
So installieren Sie mcp-server-singlestore automatisch über Smithery :
Ersetzen Sie <client> nach Bedarf durch claude oder cursor .
3. Manuelle Konfiguration
Claude Desktop und Cursor
Fügen Sie Ihrer Client-Konfigurationsdatei die folgende Konfiguration hinzu:
- { "mcpServers": { "singlestore-mcp-server": { "command": "uvx", "args": [ "singlestore-mcp-server", "start", "<SINGLESTORE_API_KEY>" ] } } }
Starten Sie Ihren Client neu, nachdem Sie Änderungen an der Konfiguration vorgenommen haben.
Komponenten
Werkzeuge
Der Server implementiert die folgenden Tools:
workspace_groups_info : Ruft Details zu den für den Benutzer zugänglichen Arbeitsbereichsgruppen ab
Keine Argumente erforderlich
Gibt Details der Arbeitsbereichsgruppen zurück
workspaces_info : Details zu den Arbeitsbereichen in einer bestimmten Arbeitsbereichsgruppe abrufen
Argumente:
workspaceGroupID(Zeichenfolge)Gibt Details zu den Arbeitsbereichen zurück
organization_info : Ruft Details zur aktuellen Organisation des Benutzers ab
Keine Argumente erforderlich
Gibt Details der Organisation zurück
list_of_regions : Ruft eine Liste aller Regionen ab, die Arbeitsbereiche für den Benutzer unterstützen
Keine Argumente erforderlich
Gibt eine Liste von Regionen zurück
execute_sql : Führen Sie SQL-Operationen in einem verbundenen Arbeitsbereich aus
Argumente:
workspace_group_identifier,workspace_identifier,username,password,database,sql_queryGibt die Ergebnisse der SQL-Abfrage in einem strukturierten Format zurück
list_virtual_workspaces : Listet alle für den Benutzer zugänglichen Starter-Arbeitsbereiche auf
Keine Argumente erforderlich
Gibt Details zu verfügbaren Starter-Arbeitsbereichen zurück
create_virtual_workspace : Erstellen Sie einen neuen Starter-Arbeitsbereich mit einem Benutzer
Argumente:
name: Name des Starter-Arbeitsbereichsdatabase_name: Name der zu erstellenden Datenbankusername: Benutzername für den Zugriff auf den Arbeitsbereichpassword: Passwort für den Benutzerworkspace_group: Objekt mitname(optional) undcellID(obligatorisch)
Gibt Details zum erstellten Arbeitsbereich und Benutzer zurück
execute_sql_on_virtual_workspace : Führt SQL-Operationen auf einem virtuellen Arbeitsbereich aus
Argumente:
virtual_workspace_id,username,password,sql_queryGibt die Ergebnisse der SQL-Abfrage in einem strukturierten Format zurück, einschließlich Daten, Zeilenanzahl, Spalten und Status
list_notebook_samples : Listet alle in SingleStore Spaces verfügbaren Notebook-Beispiele auf
Keine Argumente erforderlich
Gibt Details zu verfügbaren Notebook-Beispielen zurück
create_notebook : Erstellt ein neues Notizbuch im persönlichen Bereich des Benutzers
Argumente:
notebook_name,content(optional)Gibt Details des erstellten Notebooks zurück
list_personal_files : Listet alle Dateien im persönlichen Bereich des Benutzers auf
Keine Argumente erforderlich
Gibt Details zu allen Dateien im persönlichen Bereich des Benutzers zurück
create_scheduled_job : Erstellen Sie einen neuen geplanten Job zum Ausführen eines Notebooks
Argumente:
name: Name für den Jobnotebook_path: Pfad zum auszuführenden Notebookschedule_mode: Einmalig oder Wiederkehrendexecution_interval_minutes: Minuten zwischen Ausführungen (optional)start_at: Wann soll der Job gestartet werden (optional)description: Beschreibung des Jobs (optional)create_snapshot: Ob Notebook-Snapshots erstellt werden sollen (optional)runtime_name: Name der Laufzeitumgebungparameters: Parameter für den Job (optional)target_config: Zielkonfiguration für den Job (optional)
Gibt Details zum erstellten Job zurück
get_job_details : Details zu einem bestimmten Job abrufen
Argumente:
job_idGibt detaillierte Informationen zum angegebenen Job zurück
list_job_executions : Listet den Ausführungsverlauf für einen bestimmten Job auf
Argumente:
job_id,start(optional),end(optional)Gibt den Ausführungsverlauf für den angegebenen Job zurück
Dockerisierung
Erstellen des Docker-Images
Um das Docker-Image für den MCP-Server zu erstellen, führen Sie den folgenden Befehl im Projektstammverzeichnis aus:
Ausführen des Docker-Containers
Um den Docker-Container auszuführen, verwenden Sie den folgenden Befehl:
Verwenden von Docker Secrets
Um Geheimnisse sicher an den Container weiterzugeben, erstellen Sie ein Docker-Geheimnis und mounten Sie es:
Führen Sie dann den Container mit dem Geheimnis aus: