chengyu-coach-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CHENGYU_COACH_DB | No | Path to the SQLite database storing learning progress. Defaults to ~/.chengyu-coach/idiom_progress.db; can be set to another path. | ~/.chengyu-coach/idiom_progress.db |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| draw_idiomA | 随机抽成语学习。优先抽没抽过的;都抽过一轮后,抽得最少且最久没抽的优先。默认跳过最近 20 条和已掌握的。 Args: count: 抽几个(1~10) include_mastered: 是否把已掌握的也放回抽奖池 |
| idiom_detailA | 查一个成语的释义、出处、古文例句,以及学习进度(抽中次数、状态、备注)。 Args: word: 成语原文,如 守株待兔 |
| search_idiomA | 按关键词搜成语(匹配成语、拼音或释义),并附各自的抽中次数。 Args: keyword: 关键词,中文或拼音缩写(如 szdt) limit: 最多返回几条(1~20) |
| update_statusA | 根据对话中用户的实际表现,更新成语的掌握状态。由 AI 自行判断调用,服务端不做判分。 Args: word: 成语原文 status: learning=还不熟/答错/卡壳;reviewing=大致理解但不够稳;mastered=能准确解释并举一反三 |
| add_noteA | 给某个成语写备注(自由文本,如易错点、使用场景),会覆盖原备注。 Args: word: 成语原文 note: 备注内容;传空字符串则清除备注 |
| progressA | 查看整体学习进度:接触了几个、各状态数量、有备注的、最近抽的 10 个。 |
| reset_wordB | 清空某个成语的学习记录(抽中次数、状态、备注),词库本身不受影响。 Args: word: 成语原文 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| learn_idiom | 生成教用户学某个成语的提示词(含释义讲解与造句任务) |
| quiz_me | 让 AI 随机抽成语口头考你,并根据表现更新掌握状态 |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| stats_resource | 学习状态统计(JSON):各状态数量 |
TDQS
Scored across 7 tools
Each tool maps to a distinct action: random draw, single-word lookup, keyword search, note writing, status update, aggregate stats, and reset. The main overlap is between idiom_detail and search_idiom when a keyword is an exact idiom, but descriptions clarify that one returns full detail plus progress while the other returns a list with draw counts.
All names use snake_case, which is consistent and readable. Most follow a verb_noun pattern (draw_idiom, add_note, search_idiom, update_status, reset_word), with minor deviations like the noun-phrase idiom_detail and the bare noun progress.
Seven tools is well-scoped for a flashcard-style learning server, with one tool per core operation and no redundant surface area.
The lifecycle is well covered: draw, inspect, search, annotate, update mastery, view aggregate progress, and reset. Minor gaps exist—no way to list or filter idioms by status/note, no batch status update, and no browsing of the full corpus—but workarounds via search and progress exist.