Model Context Protocol Server für JDBC
Dieser Model Context Protocol (MCP)-Server ermöglicht es Large Language Models (LLMs), Datenbankinhalte zu prüfen, abzufragen, zu erstellen und zu ändern, wobei lediglich eine Java Database Connectivity (JDBC)-URL angegeben wird.
Zu den unterstützten Datenbanken gehören PostgresSQL, Oracle, MariaDB, Sqlite und viele mehr .
Sehen Sie sich hier das Video an.
Allgemeine Verwendung
- Installieren Sie jbang
- Konfigurieren Sie Ihren MCP-Client, um den Server auszuführen (siehe Claude Desktop Config unten).
Nachfolgend finden Sie Beispiele für Befehlszeilen, die Sie zum Konfigurieren des Servers verwenden können.
Beginnen Sie mit einer leeren Datenbank (In-Memory-H2-Datenbank):
Eine Live-Datenbank (jede gängige JDBC-kompatible Datenbank):
So stellen Sie beispielsweise eine Verbindung zu einer bereits laufenden Oracle-Datenbank her:
Sie können Benutzer und Passwort auch separat angeben, hier für eine PostgreSQL-Datenbank:
Herunterladbare Datenbanken
JBang kann Dateien aus dem Internet herunterladen und sie direkt in Datenbanken wie h2 und sqlite einspeisen.
Dies geschieht mit der Syntax %{url}.
Nachfolgend sehen Sie ein Beispiel für die Verbindung mit einer Chinook-Datenbank in SQLite durch Herunterladen der Datei Chinook_Sqlite.sqlite
von GitHub.
Es stehen online interessante Beispiele für Beispieldaten zur Verfügung, die Sie zur Datenerkundung verwenden können.
Nachfolgend finden Sie eine nicht erschöpfende Liste von Datenbanken und Beispiel-JDBC-URLs, die nachweislich mit diesem Server im Ist-Zustand funktionieren (keine zusätzliche Konfiguration erforderlich).
Beispieldatenbanken
Chinook
Beispieldaten eines Musikshops, einschließlich Künstler, Alben, Titel, Rechnungen usw.
Nordwind
Klassische Microsoft-Beispieldatenbank mit Kunden, Bestellungen, Produkten etc.
Netflix-Filme
Beispiel-Filmdaten basierend auf dem Netflix-Katalog
Unterstützte JDBC-Varianten
Datenbank | Abhängigkeit |
---|---|
MariaDB | org.mariadb.jdbc:mariadb-java-client:RELEASE |
MySQL | mysql:mysql-connector-java:RELEASE |
PostgreSQL | org.postgresql:postgresql:RELEASE |
Orakel | com.oracle.database.jdbc:ojdbc10:RELEASE |
SQL Server | com.microsoft.sqlserver:mssql-jdbc:RELEASE |
SAP DB | com.sapcloud.db.jdbc:ngdbc:RELEASE |
Informix | com.ibm.informix:jdbc:RELEASE |
Feuervogel | org.firebirdsql.jdbc:jaybird:RELEASE |
hsqldb | org.hsqldb:hsqldb:RELEASE |
h2 | com.h2database:h2:RELEASE |
Apache Derby | org.apache.derby:derby:RELEASE |
SQLite | org.xerial:sqlite-jdbc:RELEASE |
Komponenten
Nachfolgend sind die von diesem Server bereitgestellten MCP-Komponenten aufgeführt.
Werkzeuge
- read_query - führt eine SELECT-Abfrage in der Datenbank aus
- write_query - führt eine INSERT-, UPDATE-, DELETE-Abfrage in der Datenbank durch
- create_table - erstellt eine Tabelle in der Datenbank
- list_tables - listet alle Tabellen in der Datenbank auf
- describe_table - beschreibt eine Tabelle
Eingabeaufforderungen
- jdbc_demo – Beispiel-Eingabeaufforderung zum Einstieg in die Erkundung des Servers (ähnlich der in SQLite MCP)
Claude Desktop Config und mcp-cli
Fügen Sie dies zu Ihrer Datei claude_desktop_config.json
oder server_config.json
hinzu:
Fehlerbehebung
jbang nicht gefunden
- Stellen Sie sicher, dass
jbang
installiert und in Ihrem PATH verfügbar ist. - Alternativ können Sie den vollständigen Pfad zur ausführbaren JBang-Datei verwenden (z. B.
/Users/username/.jbang/jbang
).
Mehr Protokollierung
Um eine detailliertere Protokollierung zu erhalten, können Sie der Jbang-Befehlszeile die folgenden Parameter hinzufügen:
Beispiel:
Natives Image/ausführbare Datei
Obwohl der Server in eine native ausführbare Datei kompiliert werden kann, wird dies nicht empfohlen, da es dann nicht möglich ist, den entsprechenden JDBC-Treiber dynamisch zu laden.
Sie können jedoch einen Server kompilieren, der auf einen bestimmten JDBC-Treiber abzielt. Dies bleibt dem Leser vorerst als Übung überlassen. Bei Interesse melden Sie sich bitte per E-Mail oder PR.
Wie wurde das gemacht?
Der MCP-Server verwendet Quarkus, das Supersonic Subatomic Java Framework und dessen Model Context Protocol-Unterstützung.
Wenn Sie mehr über die Quarkus MCP Server-Unterstützung erfahren möchten, lesen Sie bitte diesen Blogbeitrag und die Dokumentation zur Quarkus MCP Server-Erweiterung .
Um den Server zu starten und die magische Einrichtung der JDBC-URLs durchzuführen, wird jbang verwendet, um Java einzurichten und die JAR-Datei so transparent wie möglich auszuführen. Sehr ähnlich wie uvx
, pipx
, npmx
und andere; nur für Java.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
MCP für den Zugriff auf jede über JDBC zugängliche Datenbank wie Postgres, Oracle, MySQL, MariaDB, SQLite usw.
- Allgemeine Verwendung
- Herunterladbare Datenbanken
- Unterstützte JDBC-Varianten
- Komponenten
- Claude Desktop Config und mcp-cli
- Natives Image/ausführbare Datei
Related Resources
Related MCP Servers
- -securityFlicense-qualityAn MCP server that provides safe, read-only access to SQLite databases through MCP. This server is built with the FastMCP framework, which enables LLMs to explore and query SQLite databases with built-in safety features and query validation.Last updated -49Python
- -securityAlicense-qualityUniversal database MCP server connecting to MySQL, PostgreSQL, SQLite, DuckDB and etc.Last updated -3548TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server that provides read-only access to MySQL databases.Last updated -441917JavaScriptMIT License
- -securityAlicense-qualityOpen source MCP server specializing in easy, fast, and secure tools for Databases.Last updated -1,139GoApache 2.0