A vocabulary learning and memory assistance service based on the Ebbinghaus forgetting curve algorithm for English word learning
VocabCube MCP server has mixed quality across its 9 tools. The core VocabCube tools (1-4) have reasonable descriptions in Chinese and basic schema structure with Zod validation, but lack critical depth in parameter descriptions and output schema documentation. Utility tools (5-9) are poorly integrated, with minimal descriptions and generic schemas. Across all tools: (a) descriptions are present but often too brief (~50-100 chars for some params), (b) output schemas are undocumented, responses return raw JSON strings without field-level schema definitions, (c) error handling is basic (generic error codes, no recovery guidance), (d) no pagination support for list-like operations, (e) no tool annotations or risk metadata visible. The server reads like a prototype rather than production-grade. Per-tool analysis: get_words_by_range (58), decent naming and Chinese description but vague parameter descriptions ('课本名称:七上、七下...' lists only examples, not constraints); set_memory_plan (52), similar issues; get_review_words (55), missing output schema; mark_review_complete (50), minimal documentation; calculator (35), single param with weak description; datetime tools (40-45), generic descriptions, no format examples or constraints; add_time (42), unit param is enum-like but not validated as enum in schema.
Add or subtract time from a given date/time
For mathematical calculation, always use this tool to calculate the result of a JavaScript expression. Math object and basic operations are available.
Format a given date/time string or timestamp into specified format
Get the current date in various formats
Get the current time in various formats
获取当前需要复习的单词列表,按复习时间排序
根据课本范围获取英语单词,支持按课本、单元筛选和随机选择
Output schemas entirely undocumented. Tools return JSON strings without field-level documentation. LLMs cannot plan downstream tool calls or extract structured data reliably.
Parameter descriptions are too brief and lack constraints. For example, 'format' param in format_datetime is described as 'Date format: iso, locale, timestamp...', lists examples but does not explain what happens if an invalid format is passed, or whether the param is required.
Enum parameters not enforced. 'unit' param in add_time lists valid values as a comment but is defined as a string without Zod enum. LLMs may pass invalid units; no validation or clear error recovery.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 35 | - | v1 |
标记单词复习完成,自动计算下次复习时间
为指定单词设置基于艾宾浩斯遗忘曲线的记忆复习计划
Error responses lack recovery guidance. Errors return generic error_code strings like 'RANGE_QUERY_ERROR' with no actionable next steps. Per pattern:recovery-guide, errors should tell the LLM what to do next.
No pagination support on list-like tools. get_words_by_range and get_review_words accept word_count but do not support offset/page/cursor. If 100 words are returned, context window bloats; no way to get paginated results.
Utility tools (calculator, datetime) appear unrelated to core vocabulary domain. They dilute the server's focus and suggest integration bloat rather than coherent API design.
Chinese parameter descriptions present localization challenge. LLMs trained primarily on English text may misinterpret Chinese descriptions. Descriptions like '课本名称:七上、七下、八上、八下、九全、全部' lack English equivalents, reducing discoverability and cross-language LLM compatibility.
No tool annotations visible (readOnlyHint, destructiveHint, idempotentHint). Tools like set_memory_plan and mark_review_complete are stateful writes but carry no annotations to signal this to the LLM.