mcpField
J
jooq-mcp

jooq-mcp

リモート
github.com/martinellich開発ツール41 日前に更新
リポジトリ

jooq-mcp について

jooq-mcpは、jOOQのドキュメントを調べるAIシステムや開発者向けのSpring Boot製MCPサーバーです。ローカルインデックスを基盤に、検索、SQL例、データベース対応、コード生成、高度な機能を扱います。

主な機能

  1. 01jOOQドキュメントの検索
  2. 02SQLクエリ例の取得
  3. 03コード生成ガイドの参照
  4. 04データベース対応状況の確認
  5. 05Query DSLと高度な項目の検索
  6. 06TF-IDFによるローカル全文インデックス

活用シーン

  1. 01jOOQのクエリ構築例を探す
  2. 02データベースごとの対応状況を確認する
  3. 03コード生成の設定を調べる
  4. 04jOOQの高度な機能を調べる

MCP 対応

Spring AIを通じて、MCP対応クライアントにjOOQドキュメント用ツールを提供します。READMEには通信方式の記載がありません。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://jooq-mcp.martinelli.ch/sse
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

jOOQ MCP サーバー

AI モデルが jOOQ ドキュメントにアクセスできるようにする Model Context Protocol(MCP)サーバーです。この Spring Boot アプリケーションは Spring AI を使用して、jOOQ ドキュメントを MCP ツールとして公開し、AI システムが jOOQ の機能、SQL の例、ベストプラクティスに関する情報を検索・取得できるようにします。

機能

MCP サーバーは次のツールを提供します。

  • searchDocumentation:jOOQ ドキュメントから特定のトピックを検索します
  • getSqlExamples:特定の操作に関する SQL クエリ構築の例を取得します
  • getCodeGenerationGuide:jOOQ のコード生成に関するドキュメントを取得します
  • getDatabaseSupport:データベース固有のサポート情報を取得します
  • getQueryDslReference:特定のステートメントタイプに関する Query DSL リファレンスを取得します
  • getAdvancedFeatures:jOOQ の高度な機能に関するドキュメントにアクセスします

はじめに

前提条件
  • Java 21 以降
  • Maven 3.6 以降
アプリケーションの実行
  1. リポジトリをクローンします。

    git clone <repository-url>
    cd jooq-mcp
    
  2. プロジェクトをビルドします。

    ./mvnw clean install
    
  3. アプリケーションを実行します。

    ./mvnw spring-boot:run
    

MCP サーバーが起動し、MCP クライアントから接続できるようになります。

Docker でのデプロイ
  1. JAR ファイルをビルドします。

    ./mvnw clean package
    
  2. Docker イメージをビルドします。

    docker build -t jooq-mcp .
    
  3. Docker コンテナを実行します。

    docker run -p 8080:8080 jooq-mcp
    
Fly.io へのデプロイ

このアプリケーションは Fly.io へのデプロイ用に設定されています。

  1. Fly CLI をインストールし、認証します。

    brew install flyctl  # or your preferred installation method
    fly auth login
    
  2. アプリケーションをデプロイします。

    ./mvnw clean package
    fly deploy
    

アプリケーションには /actuator/health のヘルスチェックが含まれており、自動スケーリングが設定されています。

MCP クライアントでの使用

このサーバーは、MCP 互換の AI クライアントであればどれでも使用できます。サーバーが公開するツールにより、AI モデルは次の操作を行えます。

  • キーワードで jOOQ ドキュメントを検索する
  • 特定の SQL の例やコードスニペットを取得する
  • データベース固有の設定情報にアクセスする
  • コード生成の設定に関するガイダンスを得る
  • jOOQ の高度な機能に関する情報を見つける
設定

アプリケーションは application.properties から設定できます。

# MCP Server Configuration
spring.ai.mcp.server.name=jooq-documentation-mcp
spring.ai.mcp.server.version=1.0.0
spring.ai.mcp.server.type=SYNC
spring.ai.mcp.server.capabilities.tool=true

# Cache Configuration
spring.cache.type=caffeine
spring.cache.caffeine.spec=maximumSize=100,expireAfterWrite=1h

# jOOQ Documentation Crawler Configuration
jooq.documentation.crawler.max-depth=4
jooq.documentation.crawler.max-urls-per-section=100
jooq.documentation.crawler.timeout-ms=10000
jooq.documentation.crawler.cache-duration-hours=24

# Server Configuration - SSE Buffer Settings
server.tomcat.max-http-response-header-size=64KB
server.tomcat.max-swallow-size=10MB
使用例

MCP クライアントに接続すると、次のような質問をできます。

  • 「jOOQ で SELECT ステートメントを作成するにはどうすればよいですか?」
  • 「jOOQ の INSERT 操作の例を見せてください」
  • 「jOOQ はどのデータベースをサポートしていますか?」
  • 「jOOQ のコード生成を設定するにはどうすればよいですか?」
  • 「jOOQ でトランザクションを使用するにはどうすればよいですか?」

サーバーは関連するドキュメントを取得し、コード例を含む詳しい回答を提供します。

アーキテクチャ

アプリケーションは次の要素で構成されています。

  • JooqDocumentationService:MCP 統合のための @Tool アノテーション付きメソッドを備えたメインサービスクラス
  • LocalJooqDocumentationService:ローカルのドキュメントインデックス作成と、TF-IDF スコアリングを使用した全文検索を提供します
  • InvertedIndex:関連度スコアリングを備えた高度な全文検索機能を実装します
  • JooqDocumentationCrawler:ローカルストレージ用に jOOQ ドキュメントをクロールして取得します
  • JooqDocumentationFetcher:ドキュメントコンテンツの解析と抽出を処理します
  • McpConfiguration:MCP ツール登録のための Spring 設定です
  • キャッシュ:パフォーマンスを向上させる Caffeine ベースのキャッシュです
主な機能
  • ローカルでのドキュメント保存:アクセスを高速化するため、ドキュメントを src/main/resources/docs/ にローカル保存します
  • 全文検索:関連度を高めるために TF-IDF スコアリングを使用した高度な検索を行います
  • 効率的なインデックス作成:高速なドキュメント取得を実現するインメモリの転置インデックスです
  • コード例の抽出:コード例を自動的に抽出して分類します

テスト

テストスイートを実行します。

./mvnw test

開発

このアプリケーションでは、次を使用しています。

  • Spring Boot 3.5.4
  • MCP サーバーサポートを備えた Spring AI 1.0.0
  • HTML 解析用の JSoup
  • キャッシュ用の Caffeine

新しいツールを追加するには、JooqDocumentationService クラスに @Tool アノテーション付きのメソッドを作成します。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。