Encrypted SQLite MCP Server
Encrypted SQLite MCP Server
MCP-Server für verschlüsselte SQLite-Datenbanken
Ein Model Context Protocol (MCP)-Server für die Arbeit mit verschlüsselten SQLite-Datenbanken unter Verwendung von SQLCipher. Dieser Server bietet Werkzeuge zum Lesen von Datenbankstrukturen, Abfragen von Tabellen und Durchführen von CRUD-Operationen auf verschlüsselten SQLite-Datenbanken.
Kompatibel mit allen MCP-Clients (Cursor, Claude Desktop und andere).
Funktioniert mit verschlüsselten Datenbanken von: MoneyMoney, 1Password, Signal, WhatsApp, Firefox, Telegram, KeePass und anderen Anwendungen, die SQLCipher-Verschlüsselung verwenden.
Funktionen
Unterstützung für verschlüsselte SQLite-Datenbanken: Funktioniert mit SQLCipher 4 verschlüsselten Datenbanken – das wichtigste Unterscheidungsmerkmal dieses MCP-Servers
Verschlüsselte Passphrasen: Unterstützung für AES-256-GCM-verschlüsselte Passphrasen mit macOS-Keychain-Integration
Datenbank-Exploration: Tabellen, Spalten, Indizes und Schema-Metadaten auflisten
Abfrageunterstützung: Beliebige SQL-Abfragen ausführen (SELECT, INSERT, UPDATE, DELETE, DDL)
CRUD-Operationen: Zeilen einfügen, aktualisieren und löschen mit Filterung
Konfigurierbare Cipher-Profile: Unterstützung für verschiedene SQLCipher-Konfigurationen
MCP-Protokoll: Vollständige Implementierung des Model Context Protocol über STDIO
Sicherheit: Validierung von SQL-Bezeichnern zur Verhinderung von SQL-Injection
Debug-Modus: Optionale Debug-Ausgabe über die Umgebungsvariable
MCP_DEBUGEingabevalidierung: Umfassende Validierung für Limits, Offsets und Bezeichner
Related MCP server: mcp-sqlite
Warum verschlüsseltes SQLite?
Viele beliebte Anwendungen verwenden verschlüsselte SQLite-Datenbanken (SQLCipher), um sensible Daten zu schützen. Dieser MCP-Server ist speziell für die Arbeit mit diesen verschlüsselten Datenbanken konzipiert.
Anwendungen, die verschlüsselte SQLite-Datenbanken verwenden
MoneyMoney (macOS): Finanzverwaltungs-App mit verschlüsselten lokalen Datenbanken
1Password: Passwortmanager, der SQLCipher für die lokale Tresor-Speicherung verwendet
Signal: Verschlüsselte Messaging-App mit SQLCipher-geschützten Nachrichtendatenbanken
WhatsApp: Messaging-App, die verschlüsseltes SQLite für die lokale Nachrichtenspeicherung verwendet
Firefox: Browser, der SQLCipher für verschlüsselte Login-Datenbanken verwendet
Telegram: Messaging-App mit verschlüsselter lokaler Datenbankspeicherung
KeePass: Passwortmanager, der verschlüsselte SQLite-Datenbankdateien unterstützt
Wenn Sie auf Daten aus einer dieser Anwendungen oder anderen SQLCipher-verschlüsselten Datenbanken zugreifen müssen, bietet dieser MCP-Server die benötigten Werkzeuge. Beachten Sie, dass Sie die Passphrase der verschlüsselten Datenbank benötigen.
Anforderungen
Java 21 oder höher (JDK)
Gradle (Wrapper enthalten)
SQLite-JDBC-Treiber mit Verschlüsselungsunterstützung (
sqlite-jdbc-3.50.1.0.jarvon sqlite-jdbc-crypt)
Schnellstart
Cursor (Ein-Klick-Installation)
Der einfachste Weg, diesen MCP-Server in Cursor zu installieren, ist über den Cursor MCP Store:
Besuchen Sie cursor.store/mcp/rosch100/mcp-encrypted-sqlite
Klicken Sie auf "Add to Cursor"
Folgen Sie den Anweisungen, um Ihren Datenbankpfad und Ihre Passphrase zu konfigurieren
Andere MCP-Clients
Dieser Server funktioniert mit jedem MCP-kompatiblen Client. Siehe Abschnitt Konfiguration unten für Einrichtungsanweisungen.
Installation
Docker (Empfohlen)
Verwenden Sie das vorgefertigte Docker-Image aus der GitHub Container Registry:
docker pull ghcr.io/rosch100/mcp-encrypted-sqlite:latest
Schnellstart: Siehe DOCKER_QUICKSTART.md für die Docker-Desktop-Einrichtung.
Detaillierte Konfiguration: Siehe DOCKER_CONFIGURATION.md für erweiterte Optionen.
Aus dem Quellcode
Klonen Sie das Repository:
git clone https://github.com/rosch100/mcp-encrypted-sqlite.gitcd mcp-encrypted-sqliteBauen Sie das Projekt:
./gradlew build installDist
Der Build-Prozess lädt automatisch sqlite-jdbc-3.50.1.0.jar von sqlite-jdbc-crypt releases herunter und platziert es im Verzeichnis libs/.
Die ausführbare Datei ist verfügbar unter build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite.
Konfiguration
Dieser MCP-Server funktioniert mit jedem MCP-kompatiblen Client (Cursor, Claude Desktop usw.). Das Konfigurationsformat folgt der Model Context Protocol-Spezifikation.
Der Server kommuniziert über STDIO (Standard-Eingabe/Ausgabe). Fügen Sie die folgende Konfiguration zur Konfigurationsdatei Ihres MCP-Clients hinzu:
Speicherorte der Konfigurationsdateien:
Cursor:
~/.cursor/mcp.jsonClaude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.jsonClaude Desktop (Windows):
%APPDATA%\Claude\claude_desktop_config.jsonAndere Clients: Siehe Dokumentation Ihres Clients
{
"mcpServers": {
"encrypted-sqlite": {
"command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
"args": [
"--args",
"{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"your-passphrase\"}"
]
}
}
}Optionale Parameter:
transport: Standardmäßig"stdio"(kann weggelassen werden)cwd: Nicht erforderlich bei Verwendung absoluter Pfade (kann weggelassen werden)immutable: Optionaler boolescher Wert im--args-JSON. Wenntrue, wird die Datenbank mit der SQLite-URIfile:…?immutable=1geöffnet (keine Dateisperren). Verwenden Sie dies, um einen Blick auf Datenbanken zu werfen, die exklusiv von einer anderen App gesperrt sind (z. B. MoneyMoney). Alle Schreibwerkzeuge/SQL sind in diesem Modus deaktiviert (insert_or_update/delete_rowsweggelassen;execute_sqlakzeptiert nur schreibgeschützte Anweisungen).env: Nur erforderlich, wenn Java nicht in Ihrem System-PATH ist oder für eine benutzerdefinierte Java-Installation:
{
"mcpServers": {
"encrypted-sqlite": {
"command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
"args": [
"--args",
"{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"your-passphrase\"}"
],
"env": {
"JAVA_HOME": "/path/to/java/home"
}
}
}
}Docker-Konfiguration
Klartext-Passphrase
{
"mcpServers": {
"encrypted-sqlite": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "/path/to/your/database.sqlite:/data/database.sqlite:ro",
"ghcr.io/rosch100/mcp-encrypted-sqlite:latest",
"--args",
"{\"db_path\":\"/data/database.sqlite\",\"passphrase\":\"your-passphrase\"}"
]
}
}
}Verschlüsselte Passphrase (Empfohlen)
Bei Verwendung verschlüsselter Passphrasen müssen Sie den Verschlüsselungsschlüssel als Umgebungsvariable übergeben:
{
"mcpServers": {
"encrypted-sqlite": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "MCP_SQLITE_ENCRYPTION_KEY=your-encryption-key",
"-v", "/path/to/your/database.sqlite:/data/database.sqlite:ro",
"ghcr.io/rosch100/mcp-encrypted-sqlite:latest",
"--args",
"{\"db_path\":\"/data/database.sqlite\",\"passphrase\":\"encrypted:your-encrypted-passphrase\"}"
]
}
}
}Wichtige Hinweise:
Das
-e-Flag muss vor dem-v-Flag stehenmacOS Keychain ist von Docker-Containern aus NICHT zugänglich – übergeben Sie den Verschlüsselungsschlüssel explizit
Holen Sie sich Ihren Verschlüsselungsschlüssel:
security find-generic-password -s "mcp-encrypted-sqlite" -a "encryption-key" -wDie Datenbankdatei ist standardmäßig schreibgeschützt (
:ro) eingebunden. Entfernen Sie:ro, wenn Sie Schreibzugriff benötigen
Sicherheitswarnung: Das Speichern sowohl des Verschlüsselungsschlüssels als auch der verschlüsselten Passphrase als Klartext in Ihrer Konfigurationsdatei ist ein Sicherheitsrisiko. Siehe DOCKER_CONFIGURATION.md für sichere Alternativen.
Benutzerdefiniertes Cipher-Profil
Überschreiben Sie die Standardeinstellungen von SQLCipher 4, indem Sie ein cipherProfile in das Konfigurations-JSON aufnehmen:
{
"mcpServers": {
"encrypted-sqlite": {
"command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
"args": [
"--args",
"{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"your-passphrase\",\"cipherProfile\":{\"name\":\"SQLCipher 4 defaults\",\"pageSize\":4096,\"kdfIterations\":256000,\"hmacAlgorithm\":\"HMAC_SHA512\",\"kdfAlgorithm\":\"PBKDF2_HMAC_SHA512\"}}"
]
}
}
}Hinweis: Alle Felder in cipherProfile sind optional – geben Sie nur die an, die Sie gegenüber den Standardeinstellungen überschreiben möchten. Sie können cipherProfile auch in einzelnen Tool-Aufrufen angeben, aber es wird empfohlen, es einmal in der MCP-Serverkonfiguration für Konsistenz zu konfigurieren.
Verschlüsselte Passphrasen
Für erhöhte Sicherheit können Sie Passphrasen in verschlüsselter Form speichern. Der Server verwendet AES-256-GCM-Verschlüsselung, die authentifizierte Verschlüsselung bietet und sowohl sicher als auch schnell ist.
macOS Keychain (Empfohlen für macOS)
Schlüssel generieren und in der Keychain speichern: Führen Sie aus:
./store-key-in-keychain.sh --generatePassphrase verschlüsseln: Führen Sie aus:
./encrypt-passphrase.sh "ihre-klartext-passphrase"
Der Schlüssel wird automatisch aus der Keychain geladen, wenn keine Umgebungsvariable gesetzt ist.
Vorteile:
Der Schlüssel wird sicher von macOS verschlüsselt und gespeichert
Keine Umgebungsvariablen erforderlich
Automatische Entsperrung mit dem macOS-Benutzerpasswort
Funktioniert systemweit für alle Anwendungen
Umgebungsvariable (Plattformübergreifend)
Verschlüsselungsschlüssel generieren: Führen Sie aus:
java -cp build/libs/mcp-encrypted-sqlite-VERSION.jar com.example.mcp.sqlite.config.PassphraseEncryptionVerschlüsselungsschlüssel setzen: Führen Sie aus:
export MCP_SQLITE_ENCRYPTION_KEY="<ihr-generierter-schlüssel>"Passphrase verschlüsseln: Führen Sie aus:
java -cp build/libs/mcp-encrypted-sqlite-VERSION.jar com.example.mcp.sqlite.util.EncryptPassphrase "ihre-klartext-passphrase"
Verwendung
Verwenden Sie die verschlüsselte Passphrase (mit Präfix encrypted:) in Ihrer Konfiguration:
Auf macOS mit Keychain (empfohlen):
{
"mcpServers": {
"encrypted-sqlite": {
"command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
"args": [
"--args",
"{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"encrypted:<encrypted-passphrase>\"}"
]
}
}
}Hinweis: Kein env-Abschnitt erforderlich – der Schlüssel wird automatisch aus der macOS-Keychain geladen.
Mit Umgebungsvariable (plattformübergreifend):
{
"mcpServers": {
"encrypted-sqlite": {
"command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
"args": [
"--args",
"{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"encrypted:<encrypted-passphrase>\"}"
],
"env": {
"MCP_SQLITE_ENCRYPTION_KEY": "<your-encryption-key>"
}
}
}
}Wichtige Sicherheitshinweise:
Der Verschlüsselungsschlüssel MUSS verfügbar sein (macOS Keychain oder Umgebungsvariable
MCP_SQLITE_ENCRYPTION_KEY)Der Server erkennt automatisch verschlüsselte Passphrasen (beginnend mit
encrypted:) und entschlüsselt sieVerwenden Sie
PassphraseEncryption.generateKey(), um starke Schlüssel zu generieren (256 Bit / 32 Bytes)AES-256-GCM bietet authentifizierte Verschlüsselung
Schwache Schlüssel werden automatisch abgelehnt
Verfügbare Werkzeuge
list_tables
Listet alle Tabellen in der Datenbank auf. Standardmäßig nur Tabellennamen, mit include_columns=true auch Spaltendetails.
Parameter:
db_path(optional, wenn konfiguriert): Pfad zur Datenbankdateipassphrase(optional, wenn konfiguriert): Datenbank-Passphraseinclude_columns(optional, Standard: false): Wenn true, werden auch Spaltendetails zurückgegeben
Beispiel:
{
"name": "list_tables",
"arguments": {
"include_columns": true
}
}get_table_data
Liest Daten aus einer Tabelle mit optionaler Filterung, Spaltenauswahl und Paginierung.
Parameter:
table(erforderlich): Tabellennamecolumns(optional): Array von Spaltennamen zur Auswahlfilters(optional): Objekt mit Spalten-Wert-Paaren zur Filterunglimit(optional, Standard: 200): Maximale Anzahl von Zeilenoffset(optional, Standard: 0): Offset für Paginierung
Beispiel:
{
"name": "get_table_data",
"arguments": {
"table": "accounts",
"columns": ["id", "name", "balance"],
"filters": {"status": "active"},
"limit": 50,
"offset": 0
}
}execute_sql
Führt beliebige SQL-Anweisungen aus (SELECT, INSERT, UPDATE, DELETE, DDL).
Sicherheitswarnung: Dieses Werkzeug führt rohes SQL ohne Parametrisierung aus. Verwenden Sie es nur mit vertrauenswürdigem SQL oder stellen Sie sicher, dass vor dem Aufruf dieses Werkzeugs eine ordnungsgemäße Validierung und Bereinigung durchgeführt wird. Für sicherere Operationen verwenden Sie die anderen Werkzeuge (get_table_data, insert_or_update, delete_rows), die parametrisierte Abfragen verwenden.
Parameter:
sql(erforderlich): Auszuführende SQL-Anweisung
Beispiel:
{
"name": "execute_sql",
"arguments": {
"sql": "SELECT COUNT(*) FROM transactions WHERE amount > 1000"
}
}insert_or_update
Führt UPSERT-Operationen durch (INSERT oder UPDATE bei Konflikt).
Parameter:
table(erforderlich): Tabellennameprimary_keys(erforderlich): Array von Primärschlüssel-Spaltennamenrows(erforderlich): Array von Zeilenobjekten zum Einfügen/Aktualisieren
Beispiel:
{
"name": "insert_or_update",
"arguments": {
"table": "accounts",
"primary_keys": ["id"],
"rows": [
{"id": 1, "name": "Account 1", "balance": 1000.0},
{"id": 2, "name": "Account 2", "balance": 2000.0}
]
}
}delete_rows
Löscht Zeilen aus einer Tabelle basierend auf Filtern.
Parameter:
table(erforderlich): Tabellennamefilters(erforderlich): Objekt mit Spalten-Wert-Paaren zur Filterung
Beispiel:
{
"name": "delete_rows",
"arguments": {
"table": "transactions",
"filters": {"status": "cancelled"}
}
}get_table_schema
Ruft detaillierte Schema-Informationen für eine Tabelle ab (Spalten, Indizes, Fremdschlüssel, Einschränkungen).
Parameter:
table(erforderlich): Tabellenname
Beispiel:
{
"name": "get_table_schema",
"arguments": {
"table": "accounts"
}
}list_indexes
Listet alle Indizes einer Tabelle auf.
Parameter:
table(erforderlich): Tabellenname
Beispiel:
{
"name": "list_indexes",
"arguments": {
"table": "accounts"
}
}Debug-Modus
Der Server unterstützt optionale Debug-Ausgaben über die Umgebungsvariable MCP_DEBUG. Wenn aktiviert, werden detaillierte Debug-Informationen auf stderr geschrieben (nicht auf stdout, um die MCP-Protokollanforderungen zu erfüllen).
Debug-Modus aktivieren:
{
"mcpServers": {
"encrypted-sqlite": {
"command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
"args": [
"--args",
"{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"your-passphrase\"}"
],
"env": {
"MCP_DEBUG": "true"
}
}
}
}Debug-Ausgabe umfasst:
Server-Startinformationen (Java-Version, Betriebssystem, Argumente)
Details zur Konfigurationsanalyse
Informationen zur Anforderungsverarbeitung
Antwortgrößen und -strukturen
Details zur Datenbankverbindung
Hinweis: Die Debug-Ausgabe ist standardmäßig deaktiviert, um die Protokolle sauber zu halten. Aktivieren Sie sie nur bei der Fehlersuche.
Standard-Cipher-Profil
Der Server verwendet standardmäßig SQLCipher 4-Standardeinstellungen:
cipher_page_size: 4096kdf_iter: 256000cipher_hmac_algorithm: HMAC_SHA512cipher_kdf_algorithm: PBKDF2_HMAC_SHA512cipher_use_hmac: ONcipher_plaintext_header_size: 0
Diese Einstellungen entsprechen den Standardeinstellungen, die von Tools wie "DB Browser for SQLite" mit SQLCipher 4 verwendet werden.
Entwicklung
Siehe DEVELOPMENT.md für Entwicklungseinrichtung, Build, Tests und Projektstruktur.
Sicherheitsüberlegungen
Allgemeine Sicherheit
Passphrasen: Passphrasen werden nur im Speicher gehalten und niemals protokolliert
Verschlüsselte Passphrasen: Verwenden Sie verschlüsselte Passphrasen mit AES-256-GCM, um Passphrasen in Konfigurationsdateien zu speichern (siehe Abschnitt Verschlüsselte Passphrasen)
Speicher: Beachten Sie, dass entschlüsselte Passphrasen als Java-Strings (unveränderlich) im Speicher verbleiben. Für maximale Sicherheit sollten Sie
char[]-Arrays in Betracht ziehen, auch wenn dies derzeit nicht implementiert ist.Transport: Verwenden Sie sichere Transportkanäle (z. B. verschlüsselte Sitzungen) beim Fernzugriff auf den Server
Dateiberechtigungen: Stellen Sie sicher, dass Datenbankdateien über angemessene Dateisystemberechtigungen verfügen
Bewährte Sicherheitspraktiken
Verwenden Sie verschlüsselte Passphrasen mit AES-256-GCM-Verschlüsselung
Generieren Sie starke Schlüssel mit
PassphraseEncryption.generateKey()(256 Bit / 32 Bytes)Speichern Sie Verschlüsselungsschlüssel sicher: Verwenden Sie den macOS-Schlüsselbund (auf macOS empfohlen) oder eine sichere Geheimnisspeicherung
Speichern Sie niemals sowohl Verschlüsselungsschlüssel als auch verschlüsselte Passphrase in derselben Konfigurationsdatei – Verwenden Sie Wrapper-Skripte oder Umgebungsvariablen, um den Schlüssel sicher zu laden (siehe DOCKER_CONFIGURATION.md für Details)
Rotieren Sie Schlüssel regelmäßig – beim Rotieren alle Passphrasen mit dem neuen Schlüssel erneut verschlüsseln
Verwenden Sie unterschiedliche Schlüssel für verschiedene Umgebungen (Entwicklung, Staging, Produktion)
Übertragen Sie Schlüssel oder verschlüsselte Passphrasen niemals in die Versionskontrolle
Beschränken Sie Dateiberechtigungen für Konfigurationsdateien, die Geheimnisse enthalten (
chmod 600)
Fehlerbehebung
Debugging von MCP-Server-Kommunikationsproblemen
Der MCP-Server enthält umfangreiche Debugging-Funktionen, um Kommunikationsprobleme zu diagnostizieren.
Anzeigen von Protokollen
In MCP-Clients:
Überprüfen Sie die Protokollausgabe Ihres Clients (z. B. Cursor: Ausgabefeld → „MCP-Protokolle")
Die gesamte Debug-Ausgabe wird nach
stderrgeschrieben
Manuelles Testen:
Ausführen: ./build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite --args '{"db_path":"/path/to/db.sqlite","passphrase":"secret"}' 2>&1 | tee mcp-debug.log
Häufige Kommunikationsprobleme
1. Server startet nicht
Symptom: Keine Protokolle sichtbar, Server antwortet nicht
Debugging: Überprüfen Sie die Startprotokolle:
Java-Version wird protokolliert
Argumente werden protokolliert
Konfigurationsanalyse wird protokolliert
Lösung:
Stellen Sie sicher, dass Java korrekt installiert ist
Überprüfen Sie die MCP-Konfiguration (
mcp.json)Überprüfen Sie die Pfade in den Feldern
commandundargs
2. JSON-Parsing-Fehler
Symptom: „Parse error" in den Protokollen
Debugging: Der Server protokolliert:
Die ersten 500 Zeichen des empfangenen JSON
Die genaue Ausnahme mit Stacktrace
Lösung:
Überprüfen Sie die JSON-Struktur in der MCP-Konfiguration
Stellen Sie sicher, dass JSON ordnungsgemäß maskiert ist
Stellen Sie sicher, dass alle erforderlichen Felder vorhanden sind
3. Fehlende oder falsche Antworten
Symptom: Anfragen werden nicht beantwortet oder es treten Zeitüberschreitungen auf
Debugging: Der Server protokolliert:
Jede empfangene Anfrage mit ID und Methode
Antwortgröße und Status
Flush-Status nach dem Schreiben
Lösung:
Überprüfen Sie, ob
STDOUTverfügbar ist (beim Start protokolliert)Überprüfen Sie die Antwortgröße (sehr große Antworten können Probleme verursachen)
Stellen Sie sicher, dass der Flush erfolgreich war
4. Ungültige Anfragen
Symptom: „Invalid Request"-Fehler
Debugging: Der Server protokolliert:
Fehlende Felder (z. B.
method,id)JSON-RPC-Versionskonflikte
Ungültige Parameter
Lösung:
Stellen Sie sicher, dass alle Anfragen dem JSON-RPC-2.0-Standard entsprechen
Überprüfen Sie, ob die Felder
methodundidvorhanden sindÜberprüfen Sie die Parameterstruktur
5. Datenbankverbindungsprobleme
Symptom: „Database error"-Fehler
Debugging: Der Server protokolliert:
Verwendete DB-Pfade (Standard vs. Überschrieben)
Passphrasenstatus (verschlüsselt/entschlüsselt)
CipherProfile-Konfiguration
Lösung:
Überprüfen Sie den DB-Pfad in den Protokollen
Stellen Sie sicher, dass die Passphrase korrekt entschlüsselt wurde
Überprüfen Sie die CipherProfile-Einstellungen
Debugging-Funktionen im Detail
Der Server protokolliert automatisch:
Startinformationen:
Java-Version und Java Home
Betriebssysteminformationen
Anzahl und Inhalt der Argumente
Status der Konfigurationsanalyse
Anfrageverarbeitung:
Jede empfangene Anfrage mit Nummer und Länge
JSON-RPC-Validierung
Methodenaufrufe mit Parametern
Antwortgröße und Status
Fehlerbehandlung:
Detaillierte Ausnahmeinformationen mit Stacktraces
JSON-RPC-Fehlercodes gemäß Spezifikation
Fehlerantworten mit zusätzlichen Debug-Daten
Datenbankoperationen:
Verwendete Konfigurationen (Standard vs. Überschrieben)
SQL-Abfragen (erste 100 Zeichen)
Ergebnisgrößen und betroffene Zeilen
Datenbank kann nicht geöffnet werden
Überprüfen Sie, ob die Passphrase korrekt ist
Stellen Sie sicher, dass die Datenbank die SQLCipher-4-Standardeinstellungen verwendet (oder konfigurieren Sie ein benutzerdefiniertes Cipher-Profil)
Stellen Sie sicher, dass der Datenbankdateipfad korrekt und zugänglich ist
Protokolle prüfen: Der Server protokolliert detaillierte Informationen zur Passphrasenentschlüsselung und zum DB-Pfad
Verbindungsprobleme
Überprüfen Sie, ob Java installiert ist:
java -versionStellen Sie sicher, dass
JAVA_HOMEin der MCP-Konfiguration korrekt gesetzt istÜberprüfen Sie die Protokolle Ihres MCP-Clients auf detaillierte Fehlermeldungen
FTS-Tabellen (Volltextsuche)
Der Server behandelt automatisch FTS-virtuelle Tabellen, die möglicherweise keine zugänglichen Metadaten haben. Diese Tabellen erscheinen mit leeren Spaltenlisten.
Lizenz
Lizenziert unter der Apache License, Version 2.0. Siehe LICENSE für Details.
Lizenzen Dritter
sqlite-jdbc-crypt (Apache License 2.0) – SQLite-JDBC-Treiber mit Verschlüsselungsunterstützung
Gson (Apache License 2.0) – JSON-Bibliothek für Java
Quelle: https://github.com/google/gson
JUnit Jupiter (Eclipse Public License 2.0) – Testframework
Quelle: https://junit.org/junit5/
Siehe NOTICE für detaillierte Zuschreibungsinformationen.
Danksagungen
sqlite-jdbc-crypt – SQLite-JDBC-Treiber mit Verschlüsselungsunterstützung
Model Context Protocol – MCP-Spezifikation
Mitwirken
Beiträge sind willkommen! Sie können gerne einen Pull Request einreichen. Siehe CONTRIBUTING.md für Richtlinien.
Unterstützung
Bei Problemen, Fragen oder Beiträgen öffnen Sie bitte ein Issue auf GitHub.
Kauf mir einen Kaffee
Gefällt Ihnen diese Integration? Kaufen Sie mir gerne einen Kaffee! Ihre Unterstützung hilft mir, weiter an coolen Funktionen zu arbeiten.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseAqualityDmaintenanceA zero-config MCP server that enables AI to access, analyze, and manage local SQLite databases with secure read-only querying and automatic schema discovery.8MIT
- FlicenseNot gradedqualityDmaintenanceMCP server that provides SQLite database operations. Allows AI assistants to query, modify and manage SQLite databases through the Model Context Protocol.
- AlicenseCqualityAmaintenanceAn MCP server for interacting with SQLite databases, enabling SQL query execution, schema inspection, and CRUD operations.7MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server providing SQLite database access for AI agents, enabling SQL execution, schema inspection, CRUD operations, and data export.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rosch100/mcp-encrypted-sqlite'
If you have feedback or need assistance with the MCP directory API, please join our Discord server