mcpField
S
Sqltocode

Sqltocode

ローカル
github.com/Mays-JL開発ツール048 週間前に更新

Sqltocode について

SqlToCodeは、SQLのフィールド定義からJavaエンティティを生成するSpring Boot製のサンプルMCPサーバーです。一般的なSQL型のマッピングに対応し、SSEまたはstdioでクライアントに接続できます。

主な機能

  1. 01SQLフィールドからJavaエンティティを生成
  2. 02一般的なSQLデータ型をマッピング
  3. 03@Data付きJavaクラスを生成
  4. 04SSEとstdioのトランスポートに対応

活用シーン

  1. 01フィールド定義からJavaエンティティを生成
  2. 02SQL型をJava型にマッピング

MCP 対応

SQLからJavaへの変換機能をMCPツールとして公開し、SSEまたはstdio経由でMCPクライアントから呼び出せます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

SqlToCode MCP Server

プロジェクト概要

SqlToCode は、Spring Boot 3.4 と Spring AI MCP Server Starter を基盤に構築されたサンプルサービスで、SQL フィールド定義 → Java エンティティコードへの自動変換機能を提供します。プロジェクトでは @Tool アノテーションを使って SqlToCodeService を MCP ツールとして公開しており、MCP プロトコルに対応したクライアント(Claude、Cursor、vscode 拡張機能など)から直接呼び出せます。

主な機能
  • SQL→Java 自動変換:簡略化した CREATE TABLE のフィールド一覧を、@Data アノテーション付きの Java クラスに変換します。
  • 組み込みの型マッピング:BIGINT / INT / VARCHAR / DECIMAL / DATETIME などの一般的な SQL 型を Java 型に自動マッピングします。
  • 標準 MCP 機能:tool / resource / prompt / completion 機能が有効になっており、SSE または stdio モードで接続できます。
  • ログと設定:デフォルトでは実行ログを data/log/SqlToCode.log に出力するため、問題の調査に役立ちます。
技術スタック
  • Java 17
  • Spring Boot 3.4.3
  • Spring AI MCP Server & WebFlux Starter
  • Lombok
  • Maven
ディレクトリ構成
├─src/main/java/cn/maysjl/ai
│ ├─Application.java         // Spring Boot 启动类
│ ├─config/ToolConfig.java   // 注册 MCP ToolCallbackProvider
│ ├─model/                   // 请求/响应模型
│ └─service/SqlToCodeService // 核心 SQL→Code 逻辑
├─src/main/resources/application.yml
├─data/log/SqlToCode.log
└─pom.xml
動作環境
  • JDK 17+
  • Maven 3.9+
クイックスタート
  1. クローンとビルド

    git clone <repo-url>
    cd SqlToCode
    mvn clean package -DskipTests
    
  2. サービスの実行

    mvn spring-boot:run
    

    デフォルトでは http://localhost:8701 で待ち受け、MCP SSE エンドポイント /mcp/messages も公開します。

  3. MCP クライアントの接続

    • SSE:クライアントの接続先として http://localhost:8701/mcp/messages を設定します。
    • stdio:application.yml で spring.main.web-application-type: none のコメントを解除し、必要に応じて調整します。
ツールの入力例
{
  "codeType": "java",
  "sqlTableName": "Product",
  "sql": [
    { "name": "id", "type": "BIGINT" },
    { "name": "name", "type": "VARCHAR(100)" },
    { "name": "price", "type": "INT" }
  ]
}
ツールの戻り値の例
{
  "codeType": "java",
  "resCode": "import lombok.Data;\n\n@Data\npublic class Product {\n\n    private Long id;\n    private String name;\n    private Integer price;\n}"
}
設定
  • server.port:デフォルトは 8701 です。必要に応じて変更できます。
  • spring.ai.mcp.server.*:MCP サーバーの名前、バージョン、機能、SSE エンドポイントを設定します。必要に応じて instructions を調整し、クライアントにツールの用途を説明してください。
  • logging.file.name:ログファイルの保存先です。デフォルトでは data/log/SqlToCode.log に出力します。
開発とデバッグ
  • SqlToCodeService.sqlToJavaType を変更すると、型マッピングを拡張できます。
  • MethodToolCallbackProvider を使って、さらに多くのツールを登録できます。
  • リソースやプロンプトなどの MCP 機能を追加する場合は、application.yml で該当する設定を有効にし、関連コンポーネントを実装してください。
今後の予定
  • 対応するプログラミング言語を増やします(Kotlin、TypeScript DTO など)。
  • 完全な CREATE TABLE 文からフィールド一覧を自動解析し、手入力を減らします。
  • コアとなる型マッピングのロジックを対象に、単体テストを追加します。

業務上のニーズに応じた二次開発を歓迎します。ご質問がある場合は、issue を作成するか作者にお問い合わせください。

コメント

MCP は初めてですか?

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

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