Skip to content

面向 Agent 的 MCP

Jugg MCP 是 IDE 插件暴露给 Agent 的本地 JSON-RPC 接口。Agent 可以通过它列出项目、触发编译部署、查询状态、读取 UI 层级、定位 View、执行触控并等待日志结果。

输入输出边界

用户任务当前支持情况输入输出边界
发现插件与项目支持versionlist-projects 不需要 projectDir
触发编译 / 部署 / 重装 / 重启支持需要 projectDir;长任务可能返回 jobId,再用 get-compile-status 收口
运行 androidTest支持instrumentsourcePath 锚定 androidTest 源文件和目标 test APK
查看设备、Activity、状态、日志支持devicesactivity-stackstatuswait-logs
UI 检查和交互支持layout-dumpview-locateview-inspecttap
Figma 或批量 layout verify action当前不公开action 类存在不等于 MCP 工具已注册;未进入 tools/list 的工具不能调用

协议与返回

MCP 服务监听本机端口范围 12320..12329,路径为 /jugg-mcp,协议为 JSON-RPC 2.0。业务结果统一放在 structuredContent

json
{
  "status": "OK|ERROR",
  "message": "string",
  "data": {},
  "artifacts": [],
  "errorCode": "string|null"
}

协议错误和业务失败要分开判断。HTTP/JSON-RPC 成功只说明请求被处理;工具是否成功要继续读取 structuredContent.status 和业务字段。

工具如何执行

text
MCP request
  -> schema 校验和 projectDir 初始化校验
  -> 查找已注册 tool action
  -> 执行编译、部署、设备、ViewHierarchy 或日志能力
  -> 返回 structuredContent

versionlist-projects 外,公开工具都需要项目已经由 IDE 里的 Jugg 初始化。运行态工具会在执行前等待 App 在线;UI 工具还会检查设备是否可交互、目标 App 是否在前台。

异步编译模型

deploygradle-buildinstrument 等长任务可能返回 data.status=runningjobId。客户端应调用:

text
get-compile-status(projectDir, jobId, waitTimeoutMs)

终态会返回编译和部署维度的字段,例如 isCompileSuccessisDeploySuccessdetail 和日志路径。CLI 已封装这一轮询;直接使用 MCP 时需要客户端自己收口。

关联能力