A MCP server implementation for HAI (Hyper Application Inventor) services - provides GPU/NPU application services for AI and scientific computing
Server has 5 tools with mixed quality. All tools have descriptions and basic schemas, but descriptions are inconsistent in quality and depth. Parameter descriptions are present but often minimal. Critical gaps: no output schemas documented, no error handling guidance, no enum constraints for constrained inputs (region, bundle_type, application_id), and missing actionable error messages. Tool naming is clear (verb_noun pattern), but parameter naming lacks type suffixes (e.g., 'region' should be 'region_code'). No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Descriptions average ~80 chars, below the 194-char baseline for A+ tools.
购买并创建HAI实例
查询实例的网络配置及消耗情况
用于将指定实例删除、退还
used to start or power on the instance
used to power off the instance
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., instance_id from create_instance response). Violates pattern:tool and pattern:response-shaper.
Parameters with constrained values (region, application_id, bundle_type) lack enum constraints. Free-form strings invite hallucinated values. Should declare enums or reference resource URIs for valid options.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (WRITE, DESTRUCTIVE, READ_ONLY declared in metadata). Missing from FastMCP tool registration.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
Parameter descriptions lack format/constraint details. E.g., 'region' should specify valid format (e.g., 'region code like ap-shanghai, ap-nanjing'). 'instance_id_ls' should clarify array length limits.
No error handling guidance. Tools return raw API responses without actionable recovery hints. E.g., if create_instance fails, LLM has no guidance on retry vs. user input needed.