A Java build system (bld) that provides build operations and MCP tool runner for executing build commands in a separate process
This MCP server has severe definition quality issues. Only 2 tools are exposed, and both lack critical elements. McpToolRunner has a convoluted description that does not clearly state what it does or when to use it. CreateAppOperation has a reasonable description but both tools lack proper parameter validation guidance, enum constraints, and error handling documentation. The tool descriptions are generic and do not follow LLM-optimized patterns. Input schemas exist but lack detailed descriptions for all parameters. No output schemas are documented. The server appears to be a bridge to a Java build system but is poorly designed for agent use.
Creates a new app project structure with the specified package name, project name, and base name. Generates directory layout, build files, source code templates, and dependency configuration.
The entry point that runs exactly one build command for an MCP tool call, in a separate build process. It reads the command, its arguments, the flags and the excluded commands from the control file, creates the build executor, and runs the single command through its public API.
McpToolRunner tool name is a class name, not an action verb. Should be 'run_build_command' or 'execute_build'. Current name 'McpToolRunner' reveals implementation detail and does not communicate intent to LLM.
McpToolRunner description is implementation-focused ('reads the command', 'creates the build executor') rather than user-focused. Does not explain WHEN to use it, WHAT it returns, or WHY an agent would call it. Violates pattern:tool-description.
Both tools lack output schema documentation. Agents cannot know what to expect in responses, preventing downstream tool chaining. McpToolRunner response structure is completely undocumented; CreateAppOperation return value unknown.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
Parameter 'control_file_path' and 'status_file_path' in McpToolRunner are low-level file system paths. Agents do not naturally think in terms of control files and status files. Design should accept high-level build commands and abstract file handling internally.
CreateAppOperation 'downloadDependencies' parameter has no description explaining when to enable it, what it does, or what the default behavior is. Parameter descriptions are required.
No error handling documentation. McpToolRunner is marked Risk=IRREVERSIBLE but has no guidance on failure recovery, retry logic, or what errors are retryable vs. fatal.
McpToolRunner marked with Risk=IRREVERSIBLE but no confirmation/dry-run pattern is documented. Destructive operations should support a confirmation step to prevent catastrophic errors.
CreateAppOperation parameter 'packageName' has no format specification. Should document Java package naming rules (e.g., 'lowercase, dot-separated, no hyphens') and provide validation guidance.
No tool annotations present. McpToolRunner should be marked with destructiveHint=true. CreateAppOperation should be marked with destructiveHint=true (creates files/directories).