MCP server for HY-MT multilingual translation service with GPU management, supporting 38 languages and multiple model variants (1.8B, 7B, FP8 quantized)
Server has 9 tools with basic schemas and descriptions in Chinese. All tools have input schemas with type definitions and parameter descriptions. However, descriptions are minimal (10-50 chars), lack actionable context for LLM selection, and omit critical details like when to use each tool vs. alternatives. Output schemas are not documented. Error handling returns generic status/error fields without recovery guidance. Tool naming follows verb_noun pattern (translate_*, get_*, list_*, switch_*, release_*) but lacks clarity on distinctions (translate_text vs. translate_with_terms vs. translate_batch). No tool annotations (readOnlyHint/destructiveHint). Parameters like 'temperature', 'top_p', 'top_k' lack range constraints in descriptions despite numeric types. The 'terms' parameter in translate_with_terms accepts a dict but provides no schema for its structure.
获取服务配置信息
获取 GPU 状态,包括显存使用、模型加载状态等
获取支持的38种语言列表及其代码
获取可用的翻译模型列表
释放 GPU 显存,卸载模型
切换翻译模型
批量翻译多个文本
翻译文本到目标语言
Descriptions are too brief (10-50 chars) and lack LLM-optimized context. 'Get GPU status' does not explain when to call it vs. release_gpu, what fields are returned, or how to interpret results. Baseline: 194 chars average for A+ tools.
Output schemas are not documented. Tools return dicts with 'status', 'result', 'elapsed_ms', 'chunks' but LLM cannot know what fields to expect or how to chain results to downstream tools.
Parameter 'terms' in translate_with_terms accepts dict but has no schema definition. Description says '术语映射字典,如 {"API": "接口", "cache": "缓存"}', example values in descriptions invite literal reuse by LLMs instead of proper adaptation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
使用术语干预进行翻译
Numeric parameters (temperature 0-2, top_p 0-1, top_k 1-100, repetition_penalty 1-2) lack explicit range constraints in schema. Descriptions mention ranges but JSON Schema should enforce them via minimum/maximum.
Error handling is generic: all tools return {'status': 'error', 'error': str(e)}. No recovery guidance, categorization (retryable vs. fatal), or actionable next steps for LLM. Baseline: A+ tools guide recovery.