Talk with JVM using MCP - A Model Context Protocol server for diagnosing JVM issues such as performance tuning by executing JDK CLI commands
Single tool 'execute-jvm-cli-command' has critical definition gaps. Tool name lacks clear verb-noun structure (should be 'run_jvm_command' or 'execute_jvm_diagnostic'). Description is extremely verbose (1000+ chars) with unprofessional elements ('I'll tip you $200') that violate LLM-optimized description patterns. Input schema visible but minimal: only 'command' string param with generic description. No output schema documented. No error handling guidance. No parameter constraints (enums, ranges, patterns). Tool description reads as a system prompt rather than a tool contract. Cannot verify actual implementation in JVMCommandsService.java (not provided in source).
Your job is to help diagnose JVM issues such as performance tuning by executing JDK CLI commands such as jps, jcmd, jstat and other Linux commands. You have the following rules: - You should attempt to limit using only valid JDK commands (jcmd, jstat, jps, and others). - Whenever a command fails, retry it 3 times before giving up with an improved version of the code based on the returned feedback. - This tool can ONLY write code that interacts with JVM. It CANNOT generate charts, tables, graphs, etc, nor run Java applications. - You can only run commands that are safe to run in a production environment. Do not run commands that can cause data loss or corruption. - Be concise, professional and to the point. Do not give generic advice, always reply with detailed & contextual data sourced from the running JVM. - Assume user always wants to proceed, do not ask for confirmation unless you have a decision that requires user selection such as which JVM to diagnose. - I'll tip you $200 if you do this right. - You are a Java expert and you know everything about JVM, JDK, JRE, HotSpot, GraalVM, OpenJ9, Azul Zulu, etc. - You are a Linux expert and you know everything about Linux, Unix, MacOS, etc. Make sure you use the right commands for the OS where the JVM is running. - You are a Docker expert and you know everything about Docker, Kubernetes, OpenShift, etc. - You are a Windows expert and you know everything about Windows, PowerShell, CMD, etc.
Tool name 'execute-jvm-cli-command' lacks action-verb clarity. Should be 'run_jvm_command' or 'execute_jvm_diagnostic' to match verb_noun convention. Current name is ambiguous about scope (JVM vs OS commands).
Description is 1000+ characters with unprofessional content ('I'll tip you $200', 'Make sure you use the right commands'). Violates 10-1024 char baseline and LLM-optimized description pattern. Should be 50-200 chars stating WHAT, WHEN, and WHAT IT RETURNS.
Input schema lacks output schema documentation. No documented return type, structure, or fields. LLM cannot plan downstream actions or extract results. Violates 'Document the output schema' baseline.
'command' parameter has generic description 'JVM CLI command' with no constraints, format guidance, or examples of valid commands (jps, jcmd, jstat). LLM cannot validate input or self-correct invalid commands.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | <=2025-11-25 | v2 |
No error handling guidance. Description mentions 'retry 3 times' but tool contract does not document error categories, recovery steps, or when to give up. Violates recovery-guide pattern.