Skip to main content
Glama

mcp-jdbc

by quarkiverse

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

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

DatenbankAbhängigkeit
MariaDBorg.mariadb.jdbc:mariadb-java-client:RELEASE
MySQLmysql:mysql-connector-java:RELEASE
PostgreSQLorg.postgresql:postgresql:RELEASE
Orakelcom.oracle.database.jdbc:ojdbc10:RELEASE
SQL Servercom.microsoft.sqlserver:mssql-jdbc:RELEASE
SAP DBcom.sapcloud.db.jdbc:ngdbc:RELEASE
Informixcom.ibm.informix:jdbc:RELEASE
Feuervogelorg.firebirdsql.jdbc:jaybird:RELEASE
hsqldborg.hsqldb:hsqldb:RELEASE
h2com.h2database:h2:RELEASE
Apache Derbyorg.apache.derby:derby:RELEASE
SQLiteorg.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

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.

  1. Allgemeine Verwendung
    1. Herunterladbare Datenbanken
      1. Beispieldatenbanken
    2. Unterstützte JDBC-Varianten
      1. Komponenten
        1. Werkzeuge
        2. Eingabeaufforderungen
      2. Claude Desktop Config und mcp-cli
        1. Fehlerbehebung
      3. Natives Image/ausführbare Datei
        1. Wie wurde das gemacht?

      Related MCP Servers

      • -
        security
        F
        license
        -
        quality
        An 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 -
        49
        Python
      • -
        security
        A
        license
        -
        quality
        Universal database MCP server connecting to MySQL, PostgreSQL, SQLite, DuckDB and etc.
        Last updated -
        3
        548
        TypeScript
        MIT License
        • Linux
        • Apple
      • A
        security
        A
        license
        A
        quality
        An MCP server that provides read-only access to MySQL databases.
        Last updated -
        4
        419
        17
        JavaScript
        MIT License
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        Open source MCP server specializing in easy, fast, and secure tools for Databases.
        Last updated -
        1,139
        Go
        Apache 2.0
        • Linux

      View all related MCP servers

      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