mcp-turso-cloud

MIT License
32
4
  • Linux

Integrations

  • Enables vector similarity searches using SQLite vector extensions, allowing for querying vector data stored in Turso databases with customizable parameters.

  • Provides tools for managing Turso databases at both organization and database levels, including listing, creating, and deleting databases, generating authentication tokens, listing tables, executing SQL queries, describing table schemas, and performing vector similarity searches.

mcp-turso-cloud

Ein Model Context Protocol (MCP)-Server, der die Integration mit Turso-Datenbanken für LLMs ermöglicht. Dieser Server implementiert ein zweistufiges Authentifizierungssystem für Vorgänge auf Organisations- und Datenbankebene. Dies erleichtert die Verwaltung und Abfrage von Turso-Datenbanken direkt von LLMs aus.

Merkmale

🏢 Operationen auf Organisationsebene

  • Datenbanken auflisten : Alle Datenbanken in Ihrer Turso-Organisation anzeigen
  • Datenbank erstellen : Erstellen Sie neue Datenbanken mit anpassbaren Optionen
  • Datenbank löschen : Entfernen Sie Datenbanken aus Ihrer Organisation
  • Datenbanktoken generieren : Erstellen Sie Authentifizierungstoken für bestimmte Datenbanken

💾 Operationen auf Datenbankebene

  • Tabellen auflisten : Alle Tabellen in einer bestimmten Datenbank anzeigen
  • Schreibgeschützte Abfrage ausführen : Führen Sie SELECT- und PRAGMA-Abfragen aus (schreibgeschützte Vorgänge).
  • Abfrage ausführen : Führen Sie potenziell destruktive SQL-Abfragen aus (INSERT, UPDATE, DELETE usw.).
  • Tabelle beschreiben : Schemainformationen für Datenbanktabellen abrufen
  • Vektorsuche : Führen Sie eine Vektorähnlichkeitssuche mit SQLite-Vektorerweiterungen durch

⚠️ WICHTIG: Sicherheit der Abfrageausführung ⚠️

Dieser Server implementiert eine sicherheitsorientierte Trennung zwischen schreibgeschützten und destruktiven Datenbankoperationen:

  • Verwenden Sie execute_read_only_query für SELECT- und PRAGMA-Abfragen (sichere, schreibgeschützte Vorgänge).
  • Verwenden Sie execute_query für INSERT, UPDATE, DELETE, CREATE, DROP und andere Operationen, die Daten ändern

Diese Trennung ermöglicht unterschiedliche Berechtigungsstufen und Genehmigungsanforderungen:

  • Schreibgeschützte Vorgänge können in vielen Kontexten automatisch genehmigt werden
  • Destruktive Operationen können eine ausdrückliche Genehmigung für die Sicherheit erfordern

LESEN UND ÜBERPRÜFEN SIE SQL-ABFRAGEN IMMER SORGFÄLTIG, BEVOR SIE SIE GENEHMIGT HABEN! Dies ist besonders wichtig bei destruktiven Operationen, die Daten verändern oder löschen können. Nehmen Sie sich Zeit, um zu verstehen, was jede Abfrage bewirkt, bevor Sie sie ausführen lassen.

Zweistufiges Authentifizierungssystem

Der Server implementiert ein ausgeklügeltes Authentifizierungssystem:

  1. Authentifizierung auf Organisationsebene
    • Verwendet ein Turso Platform API-Token
    • Verwaltet Datenbanken und Vorgänge auf Organisationsebene
    • Erhalten über das Turso-Dashboard
  2. Authentifizierung auf Datenbankebene
    • Verwendet datenbankspezifische Token
    • Wird automatisch mithilfe des Organisationstokens generiert
    • Aus Leistungsgründen zwischengespeichert und nach Bedarf rotiert

Konfiguration

Dieser Server muss über Ihren MCP-Client konfiguriert werden. Hier sind Beispiele für verschiedene Umgebungen:

Cline/Claude Desktop-Konfiguration

Fügen Sie dies zu Ihren Cline/Claude Desktop MCP-Einstellungen hinzu:

{ "mcpServers": { "mcp-turso-cloud": { "command": "npx", "args": ["-y", "mcp-turso-cloud"], "env": { "TURSO_API_TOKEN": "your-turso-api-token", "TURSO_ORGANIZATION": "your-organization-name", "TURSO_DEFAULT_DATABASE": "optional-default-database" } } } }

Claude Desktop mit WSL-Konfiguration

Fügen Sie für WSL-Umgebungen Folgendes zu Ihrer Claude Desktop-Konfiguration hinzu:

{ "mcpServers": { "mcp-turso-cloud": { "command": "wsl.exe", "args": [ "bash", "-c", "TURSO_API_TOKEN=your-token TURSO_ORGANIZATION=your-org node /path/to/mcp-turso-cloud/dist/index.js" ] } } }

Umgebungsvariablen

Der Server benötigt die folgenden Umgebungsvariablen:

  • TURSO_API_TOKEN : Ihr Turso Platform API-Token (erforderlich)
  • TURSO_ORGANIZATION : Name Ihrer Turso-Organisation (erforderlich)
  • TURSO_DEFAULT_DATABASE : Standarddatenbank, die verwendet wird, wenn keine angegeben ist (optional)
  • TOKEN_EXPIRATION : Ablaufzeit für generierte Datenbanktoken (optional, Standard: „7d“)
  • TOKEN_PERMISSION : Berechtigungsstufe für generierte Token (optional, Standard: „Vollzugriff“)

API

Der Server implementiert nach Kategorien organisierte MCP-Tools:

Organisationstools

Datenbankliste

Listet alle Datenbanken in Ihrer Turso-Organisation auf.

Parameter: Keine

Beispielantwort:

{ "databases": [ { "name": "customer_db", "id": "abc123", "region": "us-east", "created_at": "2023-01-15T12:00:00Z" }, { "name": "product_db", "id": "def456", "region": "eu-west", "created_at": "2023-02-20T15:30:00Z" } ] }
Datenbank erstellen

Erstellt eine neue Datenbank in Ihrer Organisation.

Parameter:

  • name (Zeichenfolge, erforderlich): Name für die neue Datenbank
  • group (Zeichenfolge, optional): Gruppe, der die Datenbank zugewiesen werden soll
  • regions (Zeichenfolge[], optional): Regionen, in denen die Datenbank bereitgestellt werden soll

Beispiel:

{ "name": "analytics_db", "group": "production", "regions": ["us-east", "eu-west"] }
Datenbank löschen

Löscht eine Datenbank aus Ihrer Organisation.

Parameter:

  • name (Zeichenfolge, erforderlich): Name der zu löschenden Datenbank

Beispiel:

{ "name": "test_db" }
Datenbanktoken generieren

Generiert ein neues Token für eine bestimmte Datenbank.

Parameter:

  • database (Zeichenfolge, erforderlich): Datenbankname
  • expiration (Zeichenfolge, optional): Ablaufzeit des Tokens
  • permission (Zeichenfolge, optional): Berechtigungsstufe (‚Vollzugriff‘ oder ‚Nur Lesen‘)

Beispiel:

{ "database": "customer_db", "expiration": "30d", "permission": "read-only" }

Datenbanktools

list_tables

Listet alle Tabellen in einer Datenbank auf.

Parameter:

  • database (Zeichenfolge, optional): Datenbankname (verwendet Kontext, wenn nicht angegeben)

Beispiel:

{ "database": "customer_db" }
schreibgeschützte Abfrage ausführen

Führt eine schreibgeschützte SQL-Abfrage (SELECT, PRAGMA) für eine Datenbank aus.

Parameter:

  • query (Zeichenfolge, erforderlich): Auszuführende SQL-Abfrage (muss SELECT oder PRAGMA sein)
  • params (Objekt, optional): Abfrageparameter
  • database (Zeichenfolge, optional): Datenbankname (verwendet Kontext, wenn nicht angegeben)

Beispiel:

{ "query": "SELECT * FROM users WHERE age > ?", "params": { "1": 21 }, "database": "customer_db" }
Abfrage ausführen

Führt eine potenziell destruktive SQL-Abfrage (INSERT, UPDATE, DELETE, CREATE usw.) für eine Datenbank aus.

Parameter:

  • query (Zeichenfolge, erforderlich): Auszuführende SQL-Abfrage (darf nicht SELECT oder PRAGMA sein)
  • params (Objekt, optional): Abfrageparameter
  • database (Zeichenfolge, optional): Datenbankname (verwendet Kontext, wenn nicht angegeben)

Beispiel:

{ "query": "INSERT INTO users (name, age) VALUES (?, ?)", "params": { "1": "Alice", "2": 30 }, "database": "customer_db" }
Tabelle beschreiben

Ruft Schemainformationen für eine Tabelle ab.

Parameter:

  • table (Zeichenfolge, erforderlich): Tabellenname
  • database (Zeichenfolge, optional): Datenbankname (verwendet Kontext, wenn nicht angegeben)

Beispiel:

{ "table": "users", "database": "customer_db" }
Vektorsuche

Führt eine Vektorähnlichkeitssuche mithilfe von SQLite-Vektorerweiterungen durch.

Parameter:

  • table (Zeichenfolge, erforderlich): Tabellenname
  • vector_column (Zeichenfolge, erforderlich): Spalte mit Vektoren
  • query_vector (number[], erforderlich): Abfragevektor für die Ähnlichkeitssuche
  • limit (Zahl, optional): Maximale Anzahl der Ergebnisse (Standard: 10)
  • database (Zeichenfolge, optional): Datenbankname (verwendet Kontext, wenn nicht angegeben)

Beispiel:

{ "table": "embeddings", "vector_column": "embedding", "query_vector": [0.1, 0.2, 0.3, 0.4], "limit": 5, "database": "vector_db" }

Entwicklung

Aufstellen

  1. Klonen Sie das Repository
  2. Installieren Sie Abhängigkeiten:
npm install
  1. Erstellen Sie das Projekt:
npm run build
  1. Im Entwicklungsmodus ausführen:
npm run dev

Veröffentlichen

  1. Version in package.json aktualisieren
  2. Erstellen Sie das Projekt:
npm run build
  1. Auf npm veröffentlichen:
npm publish

Fehlerbehebung

Probleme mit API-Token

Wenn Authentifizierungsfehler auftreten:

  1. Überprüfen Sie, ob Ihr Turso-API-Token gültig ist und über die erforderlichen Berechtigungen verfügt
  2. Überprüfen Sie, ob der Name Ihrer Organisation korrekt ist
  3. Stellen Sie sicher, dass Ihr Token nicht abgelaufen ist

Probleme mit der Datenbankverbindung

Wenn Sie Probleme beim Herstellen einer Verbindung zu Datenbanken haben:

  1. Überprüfen Sie, ob die Datenbank in Ihrer Organisation vorhanden ist.
  2. Überprüfen Sie, ob Ihr API-Token Zugriff auf die Datenbank hat
  3. Stellen Sie sicher, dass der Datenbankname richtig geschrieben ist

Beitragen

Beiträge sind willkommen! Senden Sie gerne einen Pull Request.

Lizenz

MIT-Lizenz – Einzelheiten finden Sie in der Datei LICENSE .

Danksagung

Aufbauend auf:

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

🗂️ Ein Model Context Protocol (MCP)-Server, der die Integration mit Turso-Datenbanken für LLMs ermöglicht. Dieser Server implementiert ein zweistufiges Authentifizierungssystem, um sowohl Vorgänge auf Organisations- als auch auf Datenbankebene abzuwickeln. Dies erleichtert die Verwaltung und Abfrage von Turso-Datenbanken direkt von LLMs aus.

  1. Merkmale
    1. 🏢 Operationen auf Organisationsebene
    2. 💾 Operationen auf Datenbankebene
  2. ⚠️ WICHTIG: Sicherheit der Abfrageausführung ⚠️
    1. Zweistufiges Authentifizierungssystem
      1. Konfiguration
        1. Cline/Claude Desktop-Konfiguration
        2. Claude Desktop mit WSL-Konfiguration
        3. Umgebungsvariablen
      2. API
        1. Organisationstools
        2. Datenbanktools
      3. Entwicklung
        1. Aufstellen
        2. Veröffentlichen
      4. Fehlerbehebung
        1. Probleme mit API-Token
        2. Probleme mit der Datenbankverbindung
      5. Beitragen
        1. Lizenz
          1. Danksagung

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol (MCP) server implementation that provides database interaction and business intelligence capabilities through SQLite. This server enables running SQL queries, analyzing business data, and automatically generating business insight memos.
              Last updated -
              6
              44,247
              JavaScript
              MIT License
            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol (MCP) server that enables LLMs to interact directly with MongoDB databases. Query collections, inspect schemas, and manage data seamlessly through natural language.
              Last updated -
              340
              75
              TypeScript
              MIT License
              • Apple
            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol (MCP) server that enables LLMs to interact directly the documents that they have on-disk through agentic RAG and hybrid search in LanceDB. Ask LLMs questions about the dataset as a whole or about specific documents.
              Last updated -
              12
              31
              TypeScript
              MIT License
              • Apple
            • -
              security
              F
              license
              -
              quality
              A server implementing the Model Context Protocol (MCP) for Cursor that allows using a PostgreSQL database as storage for model contexts, enabling secure database exploration and querying.
              Last updated -
              JavaScript
              • Linux
              • Apple

            View all related MCP servers

            ID: hnkzlqoh92