Skip to main content
Glama

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

  1. Installieren Sie jbang

  2. 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):

jbang jdbc@quarkiverse/quarkus-mcp-servers

Eine Live-Datenbank (jede gängige JDBC-kompatible Datenbank):

jbang jdbc@quarkiverse/quarkus-mcp-servers [jdbc_url]

So stellen Sie beispielsweise eine Verbindung zu einer bereits laufenden Oracle-Datenbank her:

jbang jdbc@quarkiverse/quarkus-mcp-servers jdbc:oracle:thin:@localhost:1521:orcl

Sie können Benutzer und Passwort auch separat angeben, hier für eine PostgreSQL-Datenbank:

jbang jdbc@quarkiverse/quarkus-mcp-servers jdbc:postgresql://localhost:5432/sakila -u sakila -p p_ssW0rd

Related MCP server: Supabase MCP Server

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.

jbang jdbc@quarkiverse/quarkus-mcp-servers jdbc:sqlite:%{https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite}

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.

jdbc:sqlite:%{https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite}

Nordwind

Klassische Microsoft-Beispieldatenbank mit Kunden, Bestellungen, Produkten etc.

jdbc:sqlite:%{https://github.com/jpwhite3/northwind-SQLite3/raw/refs/heads/main/dist/northwind.db}

Netflix-Filme

Beispiel-Filmdaten basierend auf dem Netflix-Katalog

jdbc:sqlite:%{https://github.com/lerocha/netflixdb/releases/download/v1.0.0/netflixdb.sqlite}

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:

{ "mcpServers": { "jdbc": { "command": "jbang", "args": [ "jdbc@quarkiverse/quarkus-mcp-servers", "[jdbc_url]" ] } } }

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:

-Dquarkus.log.file.enable=true -Dquarkus.log.file.path=${user.home}/mcp-server-jdbc.log

Beispiel:

jbang -Dquarkus.log.file.enable=true -Dquarkus.log.file.path=${user.home}/mcp-jdbc.log jdbc@quarkiverse/quarkus-mcp-servers jdbc:h2:mem:testdb

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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/quarkiverse/jdbc'

If you have feedback or need assistance with the MCP directory API, please join our Discord server