🚀 MCP-JDBC-Server
MCP-JDBC-Serverは、Model Context Protocol (MCP) の実装です。JDBCインターフェースを通じてデータベース操作を行い、AIアシスタント機能を統合することができます。このプロジェクトドキュメントでは、このサーバーを使用してデータベースとやり取りする方法、およびVirtuosoデータベースの特定の機能について詳しく説明します。
🚀 クイックスタート
MCP-JDBC-Serverを使用することで、データベース操作とAIアシスタント機能を統合することができます。以下のセクションでは、インストール、設定、使用方法について説明します。
📦 インストール
1. MCP-JDBC-Serverのダウンロード
GitHub から最新バージョンのMCP-JDBC-Serverをダウンロードし、ローカルディレクトリに解凍します。
2. 依存関係のインストール
以下のソフトウェアがインストールされていることを確認してください。
- JDK 8以上:Javaプログラムを実行するために必要です。
- Maven:プロジェクトの依存関係を管理し、ビルドするために使用されます。
- Node.jsとnpm:MCPコンポーネント(Inspectorなど)を実行するために必要です。
3. 環境変数の設定
以下の環境変数を設定し、プロジェクトが正常に実行されるようにします。
- JAVA_HOME:JDKのインストールディレクトリを指します。
- PATH:Node.jsとMavenの実行可能ファイルのパスを含めます。
💻 使用例
基本的な使用法
1. MCP-JDBC-Serverの起動
ターミナルで以下のコマンドを実行してサーバーを起動します。
java -jar mcp-jdbc-server-1.0.0-runner.jar
2. データベース接続の設定
config.properties
ファイルを編集し、データベース接続情報(JDBC URL、ユーザー名、パスワードなど)を設定します。
3. MCPコンポーネントの使用
以下のコマンドを実行して、MCP Inspectorをインストールし、デバッグを行います。
npm install -g @modelcontextprotocol/inspector
npx @modelcontextprotocol/inspector java -jar mcp-jdbc-server-1.0.0-runner.jar
提供されたURLにアクセスすると、サーバーのやり取り情報を確認できます。
高度な使用法
基本JDBC操作のコード例
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class MCPJDBCExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "root";
String password = "password";
try {
Connection connection = DriverManager.getConnection(url, user, password);
PreparedStatement statement = connection.prepareStatement("SELECT * FROM mytable");
ResultSet result = statement.executeQuery();
while (result.next()) {
System.out.println(result.getString(1));
}
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
AIアシスタント呼び出しのコード例
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.CallableStatement;
import java.sql.SQLException;
public class AIAssistantExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "root";
String password = "password";
try {
Connection connection = DriverManager.getConnection(url, user, password);
CallableStatement statement = connection.prepareCall("{?=CALL DEMO.DBA.OAI_VIRTUOSO_SUPPORT_AI(?)}");
String prompt = "Please explain quantum computing.";
statement.setString(2, prompt);
statement.execute();
ResultSet result = statement.getResultSet();
while (result.next()) {
System.out.println(result.getString(1));
}
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
✨ 主な機能
データベース操作
MCP-JDBC-Serverは、標準的なSQL操作機能を提供します。
- データのクエリ:SELECT文を実行し、結果を返します。
- データの更新:INSERT、UPDATE、DELETE文を実行します。
- トランザクション管理:明示的なトランザクション制御をサポートします。
AIアシスタントの統合
Virtuosoデータベースの特定の関数を通じて、MCP-JDBC-ServerはAIアシスタント機能を統合しています。
- SPASQLクエリ:SQLとSPARQLを混合して複雑なデータ分析を行います。
- SPARQLサポート:SPARQL文を直接実行し、結果を取得します。
- AIサポート:VirtuosoのAIアシスタント関数を利用し、API Keyを通じてスマートなクエリ機能を提供します。
📚 ドキュメント
よくある質問
1. サーバーが起動できない場合
- 解決策:環境変数の設定が正しいことを確認し、JDKとMavenが正しくインストールされていることを確認してください。
2. データベース接続に失敗した場合
- 解決策:データベースのURL、ユーザー名、パスワードが正しいことを検証し、データベースサービスが実行されていることを確認してください。
3. AIアシスタント機能が異常な場合
- 解決策:API Keyが有効であることを確認し、VirtuosoデータベースのAI関数が有効になっていることを確認してください。
貢献ガイド
コードやドキュメントの貢献を歓迎します!このリポジトリをForkし、Pull Requestを送信して、MCP-JDBC-Serverの開発に貢献してください。