Skip to main content
Glama

JDBC 用モデルコンテキストプロトコルサーバー

このモデル コンテキスト プロトコル (MCP) サーバーにより、Java データベース接続 (JDBC) URL のみを指定して、大規模言語モデル (LLM) がデータベース コンテンツを検査、クエリ、作成、および変更できるようになります。

サポートされているデータベースには、PostgresSQL、Oracle、MariaDB、Sqliteなどがあります。

こちらのビデオをご覧ください。

一般的な使用法

  1. jbangをインストールする

  2. MCP クライアントをサーバーを実行するように構成します (以下のClaude Desktop Config を参照)

以下は、サーバーを構成するために使用するコマンドラインの例です。

空のデータベース (メモリ内 h2 データベース) から開始します。

jbang jdbc@quarkiverse/quarkus-mcp-servers

ライブ データベース (一般的な JDBC 互換データベース):

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

たとえば、すでに実行中の Oracle データベースに接続するには、次のようにします。

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

PostgreSQL データベースの場合、ユーザーとパスワードを個別に指定することもできます。

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

Related MCP server: mcp-tools-sql

ダウンロード可能なデータベース

JBang は Web からファイルをダウンロードし、それを h2 や sqlite などのデータベースに直接送信できます。

これは %{url} 構文を使用して行われます。

以下は、github からChinook_Sqlite.sqliteファイルをダウンロードして、SQLite で Chinook データベースに接続する方法の例です。

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

データの探索に使用できる興味深いサンプル データの例がオンラインで入手できます。

以下は、このサーバーでそのまま動作することが分かっているデータベースとサンプル JDBC URL の非網羅的なリストです (追加の構成は不要です)。

サンプルデータベース

チヌーク

アーティスト、アルバム、トラック、請求書などを含む音楽ストアのサンプルデータ。

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

ノースウィンド

顧客、注文、製品などを含むクラシックな Microsoft サンプル データベース。

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

Netflix映画

Netflixカタログに基づくサンプル映画データ

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

サポートされているJDBCバリアント

データベース

依存

マリアDB

org.mariadb.jdbc:mariadb-java-client:RELEASE

MySQL

mysql:mysql-connector-java:RELEASE

PostgreSQL

org.postgresql:postgresql:RELEASE

オラクル

com.oracle.database.jdbc:ojdbc10:RELEASE

SQL サーバー

com.microsoft.sqlserver:mssql-jdbc:RELEASE

SAP DB

com.sapcloud.db.jdbc:ngdbc:RELEASE

インフォミックス

com.ibm.informix:jdbc:RELEASE

火の鳥

org.firebirdsql.jdbc:jaybird:RELEASE

hsqldb

org.hsqldb:hsqldb:RELEASE

h2

com.h2database:h2:RELEASE

アパッチ・ダービー

org.apache.derby:derby:リリース

SQLite

org.xerial:sqlite-jdbc:RELEASE

コンポーネント

以下は、このサーバーによって提供される MCP コンポーネントです。

ツール

  • read_query - データベースに対してSELECTクエリを実行する

  • write_query - データベースに対してINSERT、UPDATE、DELETEクエリを実行する

  • create_table - データベースにテーブルを作成する

  • list_tables - データベース内のすべてのテーブルを一覧表示する

  • describe_table - テーブルを説明する

プロンプト

  • jdbc_demo - サーバーの探索を開始するためのサンプルプロンプト(sqllite MCP のプロンプトに似ています)

Claude デスクトップ設定とmcp-cli

これをclaude_desktop_config.jsonまたはserver_config.jsonファイルに追加します。

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

トラブルシューティング

jbangが見つかりません

  • jbangがインストールされ、PATHで利用可能であることを確認してください。

  • あるいは、jbang実行ファイルへのフルパスを使用します(例: /Users/username/.jbang/jbang )

ログ記録をもっと取得する

より詳細なログを取得するには、jbang コマンドラインに次のパラメータを追加します。

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

例:

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

ネイティブイメージ/実行可能ファイル

サーバーをネイティブ実行可能ファイルにコンパイルすることはできますが、関連する JDBC ドライバーを動的にロードすることができないため、お勧めしません。

特定のJDBCドライバをターゲットとするサーバーをコンパイルすることは可能ですが、今のところは読者の課題として残しておきます。ご興味のある方は、IssueまたはPRをオープンしてください。

これはどうやって作られたのですか?

MCP サーバーは、Quarkus、Supersonic Subatomic Java フレームワーク、およびそのモデル コンテキスト プロトコル サポートを使用します。

Quarkus MCP Server のサポートについて詳しく知りたい場合は、このブログ投稿と Quarkus MCP Server拡張機能のドキュメントを参照してください。

サーバーを起動し、JDBC URLのマジックセットアップを処理するためuvx 、 jbangを使用してJavaをセットアップし、.jarファイルを可能な限り透過的に実行します。uvx、 pipx 、 npmxなどの動作と非常に似ていますが、Java専用です。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables connecting to and querying multiple database types (PostgreSQL, MySQL, SQLite) through a unified interface. Supports managing multiple concurrent database connections with connection pooling and SQL query execution through MCP tools.
    5
    18 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides safe, configurable SQL database access via MCP tools, enabling schema introspection, predefined queries, and structured updates with multi-backend support.
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables database interaction (MySQL, PostgreSQL, SQL Server) via MCP, supporting SQL queries and command execution.
    16 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides SQL database access via MCP, supporting PostgreSQL, MySQL, and SQLite with tools for listing tables, getting schemas, and executing queries.
    4
    1
    AGPL 3.0