Skip to content

MCP 增强建议:补齐 AI Agent 的「改码→热重载→验证」闭环反馈能力 #318

Description

@ayuayue

背景

DebugTools MCP 目前只有 9 个工具(MethodInvocation / Hotswap 两个 toolset),AI Agent 用它做自主开发时,"修改代码 → 热重载 → 调用方法验证" 每一步的反馈都拿不到,或需要绕过 MCP 直接调 HTTP,导致 Agent 只能反复向用户索要信息或盲目试错。

现状问题

  1. 调用 invoke_java_method 后看不到目标应用日志,方法内部抛异常/启动失败无从判断
  2. SQL 打印结果只进 IDEA 控制台,Agent 无法自动验证"改动后生成的 SQL 是否正确"
  3. invoke_java_method 只返回 ToString + offsetPath,JSON 视图要 Agent 自己拼 host:httpPort 发原始 HTTP(tool-contracts.md 里也明确写了这些不是 MCP 工具)
  4. compile_and_reload_modified_files 失败时只返回笼统 message,且存在多个 debug session 时必须人工指定 sessionName(实际使用中连续失败多次)

建议新增/增强的 MCP 工具(P0)

  1. read_target_application_logs:读取目标 JVM 最近 N 行日志。DebugTools 已 hook 目标应用进程,agent 侧加一个环形缓冲即可,这是 AI 自主开发最大的效率断点
  2. get_last_sql_statements:查询最近执行的 SQL + 参数 + 耗时。SQL 打印是核心卖点,结果应可被 MCP 查询
  3. invoke_java_method 增强:支持 resultView 参数(或新增 get_invoke_result 工具)获取 JSON 视图;失败时返回目标 JVM 侧完整异常堆栈
  4. compile_and_reload_modified_files 增强:
    • 只有一个 debug session 时自动选择,不再报 "Multiple attached Java debugger sessions are available"
    • 返回 per-class 重载结果(成功/结构性变更失败/原因)
    • 增加能力预检:HotSwap reloadChangedClasses API is not available 这类环境级缺失应在 list 阶段可探测,让 Agent 提前改走编译验证路线

预期收益

AI Agent(Codex / Claude Code / Cursor 等)改完代码后可以自主完成 "重载 → 调用 → 看日志/SQL → 修 bug" 的完整闭环,无需人工干预。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions