Back to MCP directory
publicPublicdnsLocal runtime

MyBatis Mapper2SQL MCP Server

基于MCP协议的MyBatis Mapper XML SQL提取服务,提供SQL解析、参数模拟和数据库测试功能,支持AI协作的专家工具

article

README

🚀 MyBatis Mapper2SQL MCP Server

本项目是一个基于Model Context Protocol (MCP)的MyBatis Mapper XML SQL提取服务,能从MyBatis mapper XML文件中提取SQL语句,还可进行参数模拟和SQL测试,与AI模型协作提供强大的SQL提取和分析能力。

🚀 快速开始

✨ 主要特性

  • SQL提取:从MyBatis mapper XML文件中提取SQL语句。
  • 参数Mock:自动生成SQL参数,支持基于resultMap和JDBC连接的类型推断。
  • SQL测试:连接数据库执行SQL并记录执行结果。

🔧 核心优势

  1. 确定性解析:基于MyBatis官方解析引擎,结果稳定可靠。
  2. AI协作:作为AI的“专家工具”,提供精确的SQL解析能力。
  3. 服务化:通过MCP协议提供标准化接口。
  4. 扩展性:支持多种数据库类型。

📦 可用工具

本项目提供3个专业工具,满足不同场景的SQL提取需求:

1. parse_mapper

  • 功能:基础SQL提取,保留占位符(不进行参数模拟)。
  • 适用场景:快速查看SQL结构,无需参数mock。
  • 参数
    • filePath (string):mapper XML文件或目录路径。

2. parse_mapper_and_mock

  • 功能:SQL提取 + 参数自动mock。
  • 适用场景:需要可执行SQL进行测试或分析。
  • 参数
    • filePath (string):mapper XML文件或目录路径。

3. parse_mapper_and_run_test

  • 功能:SQL提取 + 参数mock + 执行测试。
  • 适用场景:验证SQL在真实数据库中的执行情况。
  • 参数
    • filePath (string):mapper XML文件或目录路径。

💻 使用示例

基础用法

{
  "name": "parse_mapper",
  "arguments": {
    "filePath": "/path/to/mapper.xml"
  }
}

高级用法

带参数Mock的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"
  }
}

📚 参考

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client