Integrations
JDBC 用の Java ベースのモデル コンテキスト プロトコル (MCP) サーバー
Quakrusで構築された、JDBC 用の軽量 MCP (Model Context Protocol) サーバーです。このサーバーは、Virtuoso DBMS および JDBC ドライバーを備えたその他の DBMS バックエンドと互換性があります。
特徴
- スキーマの取得: 接続されたデータベースからすべてのスキーマ名を取得して一覧表示します。
- テーブルの取得: 特定のスキーマまたはすべてのスキーマのテーブル情報を取得します。
- テーブルの説明: 次の内容を含むテーブル構造の詳細な説明を生成します:
- 列名とデータ型
- ヌル値可能な属性
- 主キーと外部キー
- テーブルの検索: 名前の部分文字列に基づいてテーブルをフィルタリングおよび取得します。
- ストアド プロシージャの実行: Virtuoso の場合は、ストアド プロシージャを実行して結果を取得します。
- クエリの実行:
- JSONL 結果形式: 構造化された応答に最適化されています。
- Markdown テーブル形式: レポートと視覚化に最適です。
前提条件
MCP サーバーには Java 21 以上が必要です。
インストール
このリポジトリをクローンします:
Copy
環境変数
.env
を更新して、デフォルトを上書きし、好みに合わせてください。
Copy
構成
Claude Desktopユーザーの場合: claude_desktop_config.json
に以下を追加します。
Copy
使用法
提供されるツール
インストールが成功すると、次のツールが MCP クライアント アプリケーションで使用できるようになります。
概要
名前 | 説明 |
---|---|
jdbc_get_schemas | 接続されたデータベース管理システム (DBMS) にアクセス可能なデータベース スキーマを一覧表示します。 |
jdbc_get_tables | 選択したデータベース スキーマに関連付けられているテーブルを一覧表示します。 |
jdbc_describe_table | 指定されたデータベーススキーマに関連付けられたテーブルの説明を提供します。これには、列名、データ型、NULL値の扱い、自動増分、主キー、外部キーに関する情報が含まれます。 |
jdbc_filter_table_names | 選択したデータベース スキーマに関連付けられた、 q 入力フィールドのサブ文字列パターンに基づいてテーブルを一覧表示します。 |
jdbc_query_database | SQL クエリを実行し、結果を JSONL 形式で返します。 |
jdbc_execute_query | SQL クエリを実行し、結果を JSONL 形式で返します。 |
jdbc_execute_query_md | SQL クエリを実行し、結果を Markdown テーブル形式で返します。 |
jdbc_spasql_クエリ | SPASQL クエリを実行し、結果を返します。 |
jdbc_sparql_クエリ | SPARQL クエリを実行し、結果を返します。 |
jdbc_virtuoso_support_ai | Virtuoso サポート アシスタント/エージェントと対話する - LLM と対話するための Virtuoso 固有の機能 |
詳細な説明
- jdbc_get_schemas
- 接続されたデータベースからすべてのスキーマ名のリストを取得して返します。
- 入力パラメータ:
user
(文字列、オプション): データベースのユーザー名。デフォルトは「demo」です。password
(文字列、オプション): データベースのパスワード。デフォルトは「demo」です。url
(文字列、オプション): JDBC URL 接続文字列。
- スキーマ名の JSON 文字列配列を返します。
- jdbc_get_tables
- 指定されたスキーマ内のテーブルに関する情報を含むリストを取得して返します。スキーマが指定されていない場合は、接続のデフォルトスキーマが使用されます。
- 入力パラメータ:
schema
(文字列, オプション): テーブルをフィルタリングするためのデータベーススキーマ。デフォルトは接続のデフォルトです。user
(文字列、オプション): データベースのユーザー名。デフォルトは「demo」です。password
(文字列、オプション): データベースのパスワード。デフォルトは「demo」です。url
(文字列、オプション): JDBC URL 接続文字列。
- テーブル情報 (例: TABLE_CAT、TABLE_SCHEM、TABLE_NAME、TABLE_TYPE) を含む JSON 文字列を返します。
- jdbc_filter_table_names
- 名前に特定の部分文字列が含まれるテーブルに関する情報をフィルタリングして返します。
- 入力パラメータ:
q
(文字列、必須): テーブル名内で検索する部分文字列。schema
(文字列, オプション): テーブルをフィルタリングするためのデータベーススキーマ。デフォルトは接続のデフォルトです。user
(文字列、オプション): データベースのユーザー名。デフォルトは「demo」です。password
(文字列、オプション): データベースのパスワード。デフォルトは「demo」です。url
(文字列、オプション): JDBC URL 接続文字列。
- 一致するテーブルの情報を含む JSON 文字列を返します。
- jdbc_describe_table
- 特定のテーブルの列に関する詳細情報を取得して返します。
- 入力パラメータ:
schema
(文字列、必須): テーブルを含むデータベース スキーマ名。table
(文字列、必須): 説明するテーブルの名前。user
(文字列、オプション): データベースのユーザー名。デフォルトは「demo」です。password
(文字列、オプション): データベースのパスワード。デフォルトは「demo」です。url
(文字列、オプション): JDBC URL 接続文字列。
- テーブルの列を記述する JSON 文字列を返します (例: COLUMN_NAME、TYPE_NAME、COLUMN_SIZE、IS_NULLABLE)。
- jdbc_query_database
- 標準 SQL クエリを実行し、結果を JSON 形式で返します。
- 入力パラメータ:
query
(文字列、必須): 実行する SQL クエリ文字列。user
(文字列、オプション): データベースのユーザー名。デフォルトは「demo」です。password
(文字列、オプション): データベースのパスワード。デフォルトは「demo」です。url
(文字列、オプション): JDBC URL 接続文字列。
- クエリ結果を JSON 文字列として返します。
- jdbc_query_database_md
- 標準 SQL クエリを実行し、Markdown テーブルとしてフォーマットされた結果を返します。
- 入力パラメータ:
query
(文字列、必須): 実行する SQL クエリ文字列。user
(文字列、オプション): データベースのユーザー名。デフォルトは「demo」です。password
(文字列、オプション): データベースのパスワード。デフォルトは「demo」です。url
(文字列、オプション): JDBC URL 接続文字列。
- クエリ結果を Markdown テーブル文字列として返します。
- jdbc_query_database_jsonl
- 標準 SQL クエリを実行し、結果を JSON Lines (JSONL) 形式 (1 行につき 1 つの JSON オブジェクト) で返します。
- 入力パラメータ:
query
(文字列、必須): 実行する SQL クエリ文字列。user
(文字列、オプション): データベースのユーザー名。デフォルトは「demo」です。password
(文字列、オプション): データベースのパスワード。デフォルトは「demo」です。url
(文字列、オプション): JDBC URL 接続文字列。
- クエリ結果を JSONL 文字列として返します。
- jdbc_spasql_クエリ
- SPASQL(SQL/SPARQLハイブリッド)クエリを実行し、結果を返します。これはVirtuoso固有の機能です。
- 入力パラメータ:
query
(文字列、必須): SPASQL クエリ文字列。max_rows
(数値、オプション): 返される行の最大数。デフォルトは 20 です。timeout
(数値、オプション):クエリのタイムアウト(ミリ秒)。デフォルトは30000です。user
(文字列、オプション): データベースのユーザー名。デフォルトは「demo」です。password
(文字列、オプション): データベースのパスワード。デフォルトは「demo」です。url
(文字列、オプション): JDBC URL 接続文字列。
- 基になるストアド プロシージャ呼び出し (例:
Demo.demo.execute_spasql_query
) からの結果を返します。
- jdbc_sparql_クエリ
- SPARQLクエリを実行し、結果を返します。これはVirtuoso固有の機能です。
- 入力パラメータ:
query
(文字列、必須): SPARQL クエリ文字列。format
(文字列、オプション): 希望する結果形式。デフォルトは 'json' です。timeout
(数値、オプション):クエリのタイムアウト(ミリ秒)。デフォルトは30000です。user
(文字列、オプション): データベースのユーザー名。デフォルトは「demo」です。password
(文字列、オプション): データベースのパスワード。デフォルトは「demo」です。url
(文字列、オプション): JDBC URL 接続文字列。
- 基礎となる関数呼び出しの結果を返します (例:
"UB".dba."sparqlQuery"
)。
- jdbc_virtuoso_support_ai
- Virtuoso固有のAIアシスタント機能を利用し、プロンプトとオプションのAPIキーを渡します。これはVirtuoso固有の機能です。
- 入力パラメータ:
prompt
(文字列、必須): AI 関数のプロンプト テキスト。api_key
(文字列、オプション):AIサービスのAPIキー。デフォルトは「なし」です。user
(文字列、オプション): データベースのユーザー名。デフォルトは「demo」です。password
(文字列、オプション): データベースのパスワード。デフォルトは「demo」です。url
(文字列、オプション): JDBC URL 接続文字列。
- AI サポート アシスタント関数呼び出しの結果を返します (例:
DEMO.DBA.OAI_VIRTUOSO_SUPPORT_AI
)。
トラブルシューティング
トラブルシューティングを簡単にするには:
- MCP Inspector をインストールします。Copy
- インスペクターを起動します。Copy
提供された URL にアクセスして、サーバー相互作用のトラブルシューティングを行います。
This server cannot be installed
OpenLink MCP サーバー (JDBC 用)