Mybatis Mapper2sql について
Mybatis Mapper2sqlは、Mapper XMLからSQLを抽出するMyBatis開発者向けのMCPサービスです。MyBatisの解析エンジンを使い、パラメータのモック生成やデータベースでの実行テストにも対応します。
主な機能
- 01Mapper XMLからSQLを抽出
- 02SQLパラメータの自動モック生成
- 03データベースでSQLテストを実行
- 04複数のデータベースに対応
活用シーン
- 01Mapper XML内のSQL構造を確認
- 02分析用にパラメータ付きSQLを生成
- 03データベースでSQLの実行結果を検証
MCP 対応
stdio経由でSQL抽出、パラメータのモック生成、実行テスト用のMCPツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MyBatis Mapper2SQL MCP サーバー
これは、Model Context Protocol(MCP)に基づくMyBatis Mapper XML SQL抽出サービスです。
概要
本プロジェクトは、従来の MyBatis Mapper2SQL ツールを MCP(Model Context Protocol)サービスに移行し、AI時代においてもその価値を発揮し続けられるようにするとともに、AIモデルと連携して、より強力なSQL抽出・分析機能を提供します。
spring-aiに基づき、stdio(stdin/stdout)モードを提供します。標準入出力を通じてプロセス間通信を行い、コマンドラインツールとの連携に適しています。
機能特性
- SQL抽出:MyBatis mapper XMLファイルからSQL文を抽出します
- パラメーターのモック:SQLパラメーターを自動生成し、resultMapおよびJDBC接続に基づく型推論に対応します
- SQLテスト:データベースに接続してSQLを実行し、実行結果を記録します
主な利点
- 決定論的な解析:MyBatis公式の解析エンジンに基づいており、安定した信頼性の高い結果を得られます。
- AIとの連携:AIの「専門ツール」として、正確なSQL解析機能を提供します。
- サービス化:MCPプロトコルを通じて標準化されたインターフェースを提供します。
- 拡張性:複数のデータベースタイプに対応します。
利用可能なツール
本プロジェクトでは、さまざまな状況でのSQL抽出ニーズに対応する3つの専門ツールを提供します。
1. parse_mapper
- 機能:基本的なSQL抽出を行い、プレースホルダーを保持します(パラメーターのモックは行いません)
- 適用場面:パラメーターのモックを必要とせず、SQLの構造をすばやく確認したい場合
- パラメーター:
filePath(string):mapper XMLファイルまたはディレクトリのパス
2. parse_mapper_and_mock
- 機能:SQL抽出とパラメーターの自動モック
- 適用場面:テストや分析に実行可能なSQLが必要な場合
- パラメーター:
filePath(string):mapper XMLファイルまたはディレクトリのパス
3. parse_mapper_and_run_test
- 機能:SQL抽出、パラメーターのモック、および実行テスト
- 適用場面:実際のデータベースでSQLがどのように実行されるかを検証する場合
- パラメーター:
filePath(string):mapper XMLファイルまたはディレクトリのパス
使用方法
ビルドと実行
MCPクライアントの設定
使用例
ローカルでTrae MCPクライアントを使用したデバッグ手順を参照してください。
基本的なSQL抽出
{
"name": "parse_mapper",
"arguments": {
"filePath": "/path/to/mapper.xml"
}
}
パラメーターのモックを伴うSQL抽出
{
"name": "parse_mapper_and_mock",
"arguments": {
"filePath": "/path/to/mapper.xml"
}
}
SQLテスト
{
"name": "parse_mapper_and_run_test",
"arguments": {
"filePath": "/path/to/mapper.xml"
}
}
参考
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。