ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【开源推荐】ContextGate:让 AI 编程助手真正看懂 Spring Boot + MyBatis 调用链的 MCP 工具

【开源推荐】ContextGate:让 AI 编程助手真正看懂 Spring Boot + MyBatis 调用链的 MCP 工具 为什么需要它用 AI 工具Codex、Cursor、Claude Code改 Spring Boot 项目的朋友应该都遇到过这个问题让 AI 分析一个接口的调用链或者评估改一个实体会影响哪些接口它的做法是全局搜索关键词然后靠推理拼链路。这种方式在 MyBatis 项目上有天然缺陷MyBatis-Plus 的内置方法没有 SQL 文本selectById、insert、updateById这些方法实际执行SELECT */ 全表写但 grep 搜不到任何 SQLSpring 的依赖注入和事务是注解约定不在显式调用关系里SQL 来源分散注解、XML 文件、JdbcTemplate 字符串、Wrapper 动态拼接四种地方都可能有我手头一个 Spring Boot 项目实测同一个字段影响面分析AI 人工排查给出 5 条路由ContextGate 静态分析给出 8 条——漏的 3 条全部是 MP 内置 CRUD 链路。ContextGate 能做什么开源地址https://github.com/23512478/ContextGateMIT 协议trace_call输入路由如GET /api/v1/orders/my或方法名输出完整调用链 Controller → Service → Mapper → SQL标注Transactional事务边界、MP Wrapper、JdbcTemplate SQLfind_sql按 Mapper 方法名、表名、列名反查 SQL给出 SQL 全文、触碰列、上游路由impact改实体/字段前查影响面——波及哪些自定义 SQL、多少个 MP 内置调用点、多少条路由refresh_map代码改完一键刷新地图秒级完成快速使用1. 分析你的项目分析器零依赖Python 3.10Bash运行python analyzer/framework_map.py /path/to/your-project2. 安装 MCP Server 依赖Bash运行pip install -r mcp-server/requirements.txt3. 在 AI 工具中配置Trae 放项目.trae/mcp.jsonCursor 写全局配置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等隐藏入口MyBatisSelect/Update注解 SQL、XML mapperresultMap、sql 片段 include、set/if 动态标签MyBatis-PlusBaseMapper 内置方法合成 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
返回列表