hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Allows querying, modifying, and creating tables in MariaDB databases via JDBC, including SELECT, INSERT, UPDATE, and DELETE operations
Enables inspection and manipulation of MySQL database content through SQL queries, with support for table creation and management
Provides access to a sample Netflix movie database for exploration and querying through the JDBC interface
JDBC 用モデルコンテキストプロトコルサーバー
このモデル コンテキスト プロトコル (MCP) サーバーにより、Java データベース接続 (JDBC) URL のみを指定して、大規模言語モデル (LLM) がデータベース コンテンツを検査、クエリ、作成、および変更できるようになります。
サポートされているデータベースには、PostgresSQL、Oracle、MariaDB、Sqliteなどがあります。
こちらのビデオをご覧ください。
一般的な使用法
- jbangをインストールする
- MCP クライアントをサーバーを実行するように構成します (以下のClaude Desktop Config を参照)
以下は、サーバーを構成するために使用するコマンドラインの例です。
空のデータベース (メモリ内 h2 データベース) から開始します。
ライブ データベース (一般的な JDBC 互換データベース):
たとえば、すでに実行中の Oracle データベースに接続するには、次のようにします。
PostgreSQL データベースの場合、ユーザーとパスワードを個別に指定することもできます。
ダウンロード可能なデータベース
JBang は Web からファイルをダウンロードし、それを h2 や sqlite などのデータベースに直接送信できます。
これは %{url} 構文を使用して行われます。
以下は、github からChinook_Sqlite.sqlite
ファイルをダウンロードして、SQLite で Chinook データベースに接続する方法の例です。
データの探索に使用できる興味深いサンプル データの例がオンラインで入手できます。
以下は、このサーバーでそのまま動作することが分かっているデータベースとサンプル JDBC URL の非網羅的なリストです (追加の構成は不要です)。
サンプルデータベース
チヌーク
アーティスト、アルバム、トラック、請求書などを含む音楽ストアのサンプルデータ。
ノースウィンド
顧客、注文、製品などを含むクラシックな Microsoft サンプル データベース。
Netflix映画
Netflixカタログに基づくサンプル映画データ
サポートされている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
ファイルに追加します。
トラブルシューティング
jbangが見つかりません
jbang
がインストールされ、PATHで利用可能であることを確認してください。- あるいは、jbang実行ファイルへのフルパスを使用します(例:
/Users/username/.jbang/jbang
)
ログ記録をもっと取得する
より詳細なログを取得するには、jbang コマンドラインに次のパラメータを追加します。
例:
ネイティブイメージ/実行可能ファイル
サーバーをネイティブ実行可能ファイルにコンパイルすることはできますが、関連する 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専用です。
This server cannot be installed
MCP は、Postgres、Oracle、mysql、mariadb、sqlite など、JDBC 経由でアクセス可能な任意のデータベースにアクセスします。
- General Usage
- Downloadable databases
- Supported JDBC variants
- Components
- Claude Desktop Config and mcp-cli
- Native Image/Executable