A Java-based MCP server for agent tool execution and management, supporting local tools, MCP servers, and skills with telemetry and ReAct integration
Zhuling exposes 8 tools with minimal documentation. Tool names lack action verbs (execute, executeWithMetadata, registerLocalTool, registerMcpTools, registerSkillsTools, getAllToolCallbacks, getToolCallback, getRegisteredToolNames). Descriptions are present but generic (10-100 chars, well below the 194-char baseline). Input schemas visible for all tools but lack depth: parameters have types and descriptions, but no enums, constraints, or validation guidance. Output schemas are not documented. Error handling is absent, no recovery guidance, categorization, or actionable messages. The tools appear to be internal framework APIs rather than user-facing agent tools, which explains the sparse documentation. No security considerations visible (credentials, permissions, audit trails).
Execute specified tool with JSON string format tool input parameters
Execute specified tool and return structured result containing output, execution duration, server name, tool type, success status, and error message
Get all registered tool callbacks
Get list of registered tool names
Get tool callback by tool name
Register local tool by bean name (@Tool annotated Bean)
Register MCP Server tools via SSE/Stdio connection
Register Skills tools defined via YAML/Resource files
Tool names lack action verbs. 'execute', 'registerLocalTool', 'getAllToolCallbacks' do not follow verb_noun convention. LLMs cannot infer intent from names alone.
Descriptions are generic and under 50 characters for most tools. 'Execute specified tool with JSON string format tool input parameters' (80 chars) lacks WHEN to use, prerequisites, and side effects. Baseline is 194 chars.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. Tools return unstructured results.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
No error handling guidance. Tools do not indicate what errors are retryable, user-fixable, or fatal. No recovery suggestions.
Parameter 'toolInput' accepts free-form JSON string with no validation constraints. No format specification, length limits, or schema guidance.