MCP server that exposes Alibaba Arthas Java diagnostics to AI agents, with zero-config JVM auto-discovery
Server has 6 tools with complete input schemas and descriptions in Chinese. Naming follows verb_noun pattern (list_agents, exec, async_exec, pull_results, watch_and_trigger, interrupt_job). Descriptions are moderately detailed (100-250 chars) but lack English translations, limiting accessibility. Schemas are properly typed with parameter descriptions. However, output schemas are not documented, LLMs cannot predict return structure. Error handling guidance is minimal. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Missing pagination guidance for list_agents. Overall solid foundation but incomplete for production LLM integration.
对指定 Agent 异步执行 Arthas 命令(内部自动创建 session)。适合 trace、watch、monitor 等长耗时命令。返回 sessionId 和 consumerId,用 pull_results 轮询结果。
对指定 Agent 同步执行 Arthas 命令。适合耗时短的命令(version、ognl 表达式求值、sc、sm、jad 等)。命令失败(ognl 表达式错误、方法抛异常等)时返回退出码及异常摘要,无需额外挂 watch 就能直接看到原因。
中断指定 Agent 上正在运行的 trace/watch/monitor 任务。需要 sessionId(由 async_exec 返回)。
列出所有已注册的 Arthas Agent 及其在线状态。调试前先调用此工具确认目标服务在线。
拉取 async_exec 提交的命令的执行结果。可多次调用直到结果完整。需要 sessionId 和 consumerId(均由 async_exec 返回)。
一步完成「挂观察点 → 触发一次调用 → 拿回观察结果」:服务端自动提交观察命令、执行触发命令、轮询收集结果并清理会话。适合想看某个方法被真实调用时的入参/返回值/异常现场(watch)、调用链耗时(trace)、调用栈(stack)的场景。
Output schemas not documented. LLMs cannot predict return structure for any tool, forcing them to guess at downstream field names and types. This breaks tool chaining and increases hallucination risk.
Descriptions are in Chinese only. English-speaking LLMs and developers cannot understand tool purpose, parameters, or usage. Descriptions must be in English for production MCP servers.
No tool annotations despite clear risk levels. exec, async_exec, pull_results, watch_and_trigger are marked READ_ONLY but lack readOnlyHint. interrupt_job is WRITE but lacks destructiveHint. Annotations guide agent safety reasoning.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | <=2025-11-25 | v2 |
list_agents lacks pagination guidance. No limit, offset, or cursor parameters documented. If many agents exist, response could exceed context window. Baseline: paginated tools should accept limit (default 20-50) and return total_count.
Error handling lacks recovery guidance. Tools return 'exit code + exception summary' but do not tell LLM what to do next (retry, ask user, try different command). Errors should be actionable.