【开源推荐】ContextGate:让 AI 编程助手真正看懂 Spring Boot + MyBatis 调用链的 MCP 工具
2026/9/8 11:39:03 网站建设 项目流程

为什么需要它

用 AI 工具(Codex、Cursor、Claude Code)改 Spring Boot 项目的朋友,应该都遇到过这个问题:让 AI 分析一个接口的调用链,或者评估"改一个实体会影响哪些接口",它的做法是全局搜索关键词,然后靠推理拼链路。

这种方式在 MyBatis 项目上有天然缺陷:

  1. MyBatis-Plus 的内置方法没有 SQL 文本selectByIdinsertupdateById这些方法实际执行SELECT */ 全表写,但 grep 搜不到任何 SQL
  2. Spring 的依赖注入和事务是注解约定:不在显式调用关系里
  3. SQL 来源分散:注解、XML 文件、JdbcTemplate 字符串、Wrapper 动态拼接,四种地方都可能有

我手头一个 Spring Boot 项目实测:同一个字段影响面分析,AI 人工排查给出 5 条路由,ContextGate 静态分析给出 8 条——漏的 3 条全部是 MP 内置 CRUD 链路。

ContextGate 能做什么

开源地址:https://github.com/23512478/ContextGate(MIT 协议)

  • trace_call:输入路由(如GET /api/v1/orders/my)或方法名,输出完整调用链 Controller → Service → Mapper → SQL,标注@Transactional事务边界、MP Wrapper、JdbcTemplate SQL
  • find_sql:按 Mapper 方法名、表名、列名反查 SQL,给出 SQL 全文、触碰列、上游路由
  • impact:改实体/字段前查影响面——波及哪些自定义 SQL、多少个 MP 内置调用点、多少条路由
  • refresh_map:代码改完一键刷新地图,秒级完成

快速使用

1. 分析你的项目(分析器零依赖,Python 3.10+):

Bash

运行

python analyzer/framework_map.py /path/to/your-project

2. 安装 MCP Server 依赖

Bash

运行

pip install -r mcp-server/requirements.txt

3. 在 AI 工具中配置(Trae 放项目.trae/mcp.json,Cursor 写全局配置):

JSON

{ "mcpServers": { "contextgate": { "command": "python", "args": ["/你的路径/ContextGate/mcp-server/mcp_server.py"], "env": { "CONTEXTGATE_PROJECT": "/你的SpringBoot项目路径", "CONTEXTGATE_MAP": "/分析产出的framework_map.json路径" } } } }

4. 零配置体验:不想配项目也可以直接跑python mcp-server/test_mcp.py,会自动分析内置 demo 项目并走完所有工具调用。

接入后直接用自然语言提问即可,AI 会自动调用对应工具。

已支持的解析能力

  • Spring:路由注解、@Autowired注入、@Transactional闭包传播、@PostConstruct等隐藏入口
  • MyBatis:@Select/@Update注解 SQL、XML mapper(resultMap、sql 片段 + include、set/if 动态标签)
  • MyBatis-Plus:BaseMapper 内置方法(合成 SELECT */全表写)、LambdaQueryWrapper/lambdaQuery()动态链(eq/like/in/set/orderBy 方法引用还原为 SQL)
  • 其他:JdbcTemplate 裸 SQL(支持局部变量传参)、全限定类型字段、裸SELECT *与别名星号展开、跨表 JOIN 列精确归因

欢迎参与

项目每条解析规则都是真实项目的漏报逼出来的,目前规则只经过一个项目验证,欢迎大家拿自己的项目测试

  • 发现漏报(某条链路/SQL 没识别):提 Issue 附一小段源码即可,这是对项目最大的帮助
  • 想补规则:CONTRIBUTING.md 有完整的代码地图和"夹具 + 断言"流程说明
  • 已知排队需求:Wrapper 跨语句链式调用、XML association/collection/foreach、多模块 Maven 路径

觉得有用的话欢迎 Star ⭐,项目地址:https://github.com/23512478/ContextGate

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询