Multi-protocol SDK framework with unified macro configuration for building HTTP, MCP, gRPC, and WebSocket services
SDForge exhibits pervasive quality gaps across all 12 tools. All descriptions are in Chinese (non-English), limiting LLM comprehension in English-first environments. Tool names lack action verbs (e.g., 'hello', 'greet' instead of 'send_greeting'). Most critically, parameter descriptions are minimal (5-20 chars) and lack actionable constraints. No output schemas are documented. The 'process_data' tool accepts generic 'object' types with no field specification, violating schema clarity. Error handling is absent from all tool definitions. Only 'process_data' declares a WRITE risk; others lack risk annotations. No tool demonstrates idempotency guarantees or recovery guidance.
将两个数相加
执行数学运算
将两个数相除
根据ID获取数据
获取当前时间
用指定语言问候某人
简单的问候工具
将两个数相乘
All tool descriptions are in Chinese (e.g., '简单的问候工具', '根据ID获取数据'). LLMs trained primarily on English will struggle to understand tool purpose and selection criteria. Descriptions must be in English for cross-language LLM compatibility.
Parameter descriptions are critically short (5-20 chars) and lack actionable constraints. E.g., 'greet' language param says '语言代码 (可选,默认英语) - 支持的语言: en (英语), es (西班牙语), fr (法语), de (德语)' but this is in Chinese. 'calculate' operation param lacks enum constraint in schema. LLMs cannot infer valid values without explicit enums or detailed descriptions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
处理数据并应用选项
反转字符串
将两个数相减
将字符串转换为大写
'process_data' accepts 'data' and 'options' as generic 'object' types with no field schema. This violates structured output requirements, LLMs cannot plan downstream calls without knowing what fields are returned or what sub-fields are accepted. Define explicit object schemas with required/optional fields.
No output schemas are documented for any tool. LLMs need to know what fields to expect (e.g., does 'get_data' return {id, name, value} or {data, metadata}?). Without documented return types, agents cannot chain tools or extract required fields for downstream calls.
Tool names lack action verbs. 'hello' and 'greet' are weak; 'send_greeting' or 'greet_user' would be clearer. Baseline production tools start with verbs 90% of the time. Weak naming forces LLMs to read descriptions to disambiguate intent, wasting tokens and increasing selection errors.