Chengyu Coach

io.github.FlowerOfFire由 GitHub 账号 FlowerOfFire 发布v1.0.0更新于 Oct 29, 2026

成语学习服务器:随机抽成语、查释义与出处,并按对话表现记录掌握程度

已验证STDIO仅桌面效率与工作流知识与记忆

概览

AI 生成的概览

本地成语学习服务器:随机抽成语、查释义与出处,并在本地 SQLite 中记录掌握程度。

可以做什么
  • 随机抽成语,优先未抽过的,跳过最近抽过和已掌握的
  • 查询成语的释义、出处、古文例句,以及抽取次数、状态和备注
  • 按关键词、拼音或拼音缩写搜索内置词库
  • 更新掌握状态(learning/reviewing/mastered),写入或清除自由备注
  • 查看总进度、各状态数量与最近抽取,并以资源形式读取词条和统计
  • 提供讲解与口头考问的提示词模板,由客户端模型执行教学
适用场景
适合用任意 MCP 客户端做每日成语学习:助手抽几个成语,讲解、出题,并根据表现记录掌握程度。适合希望按进度循序渐进背成语、而非使用固定测验卷的学习者。
运行要求
以 Python 包形式通过 stdio 在本机运行(pip 安装或 uvx)。无需账号、API 密钥或联网。学习记录默认写入 ~/.chengyu-coach/idiom_progress.db,可用环境变量 CHENGYU_COACH_DB 指定其他路径。
安装前请注意
掌握状态和备注由 AI 根据对话自行判断写入,reset_word 会清空某个成语的学习记录,进度可能被误标或丢失。数据只保存在本机,不上传。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Chengyu Coach,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

chengyu-coach-mcp

成语学习 MCP 服务器(Python,mcp SDK v2 的 MCPServer,stdio 传输)。内置 3303 条常用成语,学习进度存在本地 SQLite,让任意 MCP 客户端(Qoder / Claude Desktop / Cursor 等)帮你每天抽几个成语学,并根据聊天表现自动记录掌握程度。

  • 抽词:优先抽没抽过的;一轮抽完后按"抽得最少 + 最久没抽"轮转;默认跳过最近 20 条和已掌握的
  • 查询:每个成语抽中了几次、当前状态、备注
  • 记录:掌握状态 + 每词自由备注,由 AI 根据对话自行判断写入
  • 不内置测验卷:考不考、怎么考由客户端 AI 决定,服务端只负责抽词和记录

掌握状态:learning(还不熟)→ reviewing(基本会但不稳)→ mastered(能熟练解释和造句)。

安装

bash
pip install chengyu-coach-mcp        # 发布到 PyPI 后# 或使用 uvuvx chengyu-coach-mcp

从源码安装:

bash
git clone <repo-url> chengyu-coach-mcpcd chengyu-coach-mcppython -m venv .venv.venv/Scripts/pip install -e .        # Windows;macOS/Linux 用 .venv/bin/pip

接入 MCP 客户端

已安装到环境后,在客户端配置里加:

json
{  "mcpServers": {    "chengyu-coach": {      "command": "uvx",      "args": ["chengyu-coach-mcp"]    }  }}

从源码运行时(pip install -e . 之后),用解释器直接启动模块:

json
{  "mcpServers": {    "chengyu-coach": {      "command": "<项目路径>/.venv/Scripts/python.exe",      "args": ["-m", "chengyu_coach_mcp.server"]    }  }}

调试可用官方 MCP Inspector:

bash
npx @modelcontextprotocol/inspector uvx chengyu-coach-mcp

提供的能力

类型名称说明
Tooldraw_idiom随机抽成语(未抽过优先,可配数量/是否含已掌握)
Toolidiom_detail查词:释义、出处、古例 + 学习进度 + 备注
Toolsearch_idiom按关键词/拼音/拼音缩写搜词库
Toolupdate_statusAI 根据对话表现更新掌握状态(learning/reviewing/mastered)
Tooladd_note写/清备注
Toolprogress总进度:各状态数量、有备注数、最近抽取
Toolreset_word清空某词学习记录(destructive)
Resourcechengyu://{word}读取词库词条(JSON)
Resourcechengyu://stats学习进度统计(JSON)
Promptlearn_idiom教学提示词(讲解 + 双场景造句)
Promptquiz_me口头考问流程提示词(抽词→作答→讲评→记录状态)

造句和出题都不需要服务端:抽题/查词结果已带释义、出处、古文例句,客户端大模型据此讲解、造句、提问,并把判断结果写回 update_status / add_note。

数据与隐私

  • 学习记录默认写入 ~/.chengyu-coach/idiom_progress.db,可用环境变量 CHENGYU_COACH_DB 指定其他路径
  • 数据只存在本机,不联网、不上传
  • 词库随包分发,只读;替换 src/chengyu_coach_mcp/data/chengyu_common.json 即可换词库(数组,每条需含 word/pinyin/explanation/derivation/example/id)

user_word 表结构:

字段说明
word成语原文(主键)
draw_count抽中次数
statuslearning / reviewing / mastered(由 AI 判断写入)
note自由备注
first_drawn / last_drawn首次/最近抽取时间

开发

bash
python -m venv .venv.venv/Scripts/pip install -e ..venv/Scripts/python tests/smoke_test.py    # 端到端冒烟测试(自动使用临时数据库)

项目结构:

chengyu-coach-mcp/├── src/chengyu_coach_mcp/│   ├── __init__.py          # 版本号│   ├── server.py            # 词库加载 + SQLite + 全部工具/资源/提示词│   └── data/chengyu_common.json   # 常用成语词库(3303 条)├── tests/smoke_test.py      # stdio 端到端测试├── .github/workflows/ci.yml # Linux/Windows × Python 3.10/3.12├── .github/workflows/release.yml  # 推 v* 标签自动发布到 PyPI(OIDC)├── server.json              # 官方 MCP Registry 元数据├── pyproject.toml├── LICENSE                  # MIT(代码)├── THIRD_PARTY_NOTICES.md   # 词库来源与许可└── CHANGELOG.md

发布新版本时同步改三处:pyproject.toml 的 version、src/chengyu_coach_mcp/__init__.py 的 __version__、CHANGELOG.md;server.json 里的 version 与 packages[0].version 也要跟上。改完打标签并推送,release.yml 会校验四处版本号一致后自动构建上传:

bash
git tag -a v1.0.1 -m "chengyu-coach-mcp v1.0.1"git push origin main --tags

README 顶部那行 <!-- mcp-name: io.github.FlowerOfFire/chengyu-coach-mcp --> 是给官方 MCP Registry 验证包所有权用的,发布到 PyPI 的版本里必须带着它,删掉会导致 mcp-publisher publish 失败。

数据来源与许可

详见 THIRD_PARTY_NOTICES.md。

来源:README.md,提交 3d410e1

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Oct 29, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分