Vionwinnie_jap Vocab Anki Mcp Server

Vionwinnie_jap Vocab Anki Mcp Server

🚀 日本语 Anki MCP 服务器

这是一个基于 Model Context Protocol 的服务器实现,借助标准接口可程序化地与 Anki 卡组交互。该服务器专为日语学习打造,支持语言模型通过统一接口与 Anki 进行交互,为日语学习提供便利。

✨ 主要特性

  • 🔖 列出可用的卡组
  • 👀 查看卡组中的卡片
  • ➕ 添加新卡片
  • 📚 使用间隔重复复习卡片
  • 📖 导入日语词汇及其发音和含义
  • 💬 为日语词汇卡添加例句
  • 📊 跟踪复习历史和学习进度

🚀 快速开始

端到端示例:使用 Claude 增强日语词汇学习

以下是一个完整的流程示例,展示如何利用 Claude 来增强日语词汇卡片的学习。

第一步:生成填空练习

首先,请求 Claude 使用 study_japanese_vocab_prompt 创建练习: Claude 将从最近复习的词汇中创建包含空白的上下文句子,以测试对单词的理解。

第二步:转换为例句

接下来,使用 vocab_sentences_json_prompt 将这些句子转换为结构化的格式: Claude 会将句子转换为一个 JSON 字典,其中每个日语词汇映射到其对应的例句。

第三步:更新 Anki 卡片

最后,使用 update_notes_with_sentences 工具将这些例句添加到 Anki 卡片中: 例句会被添加到每张词汇卡的“发音”字段中,为学习提供更多上下文。

在 Anki 中的结果

在更新后,您的卡片将包含新的例句: 此流程有助于您:

  1. 通过填空练习在上下文中实践词汇
  2. 将自然例句添加到卡片中
  3. 构建每个单词使用方法的更全面理解

📦 安装指南

  1. 克隆此仓库:
git clone https://github.com/vionwinnie/jap-vocab-anki-mcp-server.git
cd jap-vocab-anki-mcp-server

💻 使用示例

基础用法

  1. 确保 Anki 没有运行(避免数据库锁定)。
  2. 设置 Anki 收藏路径(可选):
export ANKI_COLLECTION_PATH="/path/to/your/collection.anki2"
  1. 运行服务器:
python -m anki_mcp.server

可用资源

  • anki://decks - 列出所有可用的 Anki 卡组
  • anki://deck/{deck_name}/cards - 查看特定卡组中的所有卡片
  • anki://recent/reviewed - 查看过去 24 小时内复习过的卡片
  • anki://recent/learned - 查看过去 24 小时内学习的卡片(从新牌毕业)

可用工具

基本卡片管理

  • add_card(deck_name: str, front: str, back: str) - 向卡组添加新卡片
  • review_card(card_id: int, ease: int) - 以特定难度复习卡片(1 - 4)
  • get_card_history(card_id: int) - 获取特定卡片的详细复习历史

日语词汇特性

  • import_japanese_vocab(csv_path: str, deck_name: str, tags: str = None) - 从 CSV 导入日语词汇
  • update_notes_with_sentences(vocab_sentences: Dict[str, List[str]], deck_name: str = "Try! N3 Vocab") - 向词汇卡片添加例句

查看复习历史

  • get_review_history() - 获取所有用户的复习历史记录
  • get_deck_stats(deck_name: str) - 获取特定卡组的统计数据
  • export_cards(deck_name: str, filename: str) - 导出卡组为 CSV 文件

预设提示

生成填空练习

# 填空练习提示
response = client.chat.completions.create(
model=" Claude-2",
messages=[
{
"role": "system",
"content": """作为日语老师,为学生创建填空练习。根据提供的词汇,生成合适的句子,并用空白 _ _ _ 填充目标词汇。保持句子简洁明了,适合初级学习者。输出格式:每个句子换行,以 JSON 格式返回."""
},
{
"role": "user",
"content": "日语词汇:忍者、学校、公园"
}
],
temperature=0.7,
)

转换为结构化数据

# 结构化转换提示
response = client.chat.completions.create(
model=" Claude-2",
messages=[
{
"role": "system",
"content": """将不完整的句子 JSON 转换为结构化的日语例句。输出格式:每个句子应包括原句、空白形式和正确填空."""
},
{
"role": "user",
"content": "[[\"原句\",\"_ _ _, あなたはプログラマーです。\"],[\"空白形式\",\"_ _ _ , あなたはプログラマーです。\"]]"
}
],
temperature=0.7,
)

📚 详细文档

日语笔记类型要求

  • 表达:日语词汇或短语
  • 含义:对应的英文翻译和发音(如:"ninja" /ˈninjə/)
  • 发音:假名,包括例句和空白形式

示例:

{
"expression": "忍者",
"reading": "にんじゃ",
"meaning": "ninja",
"sentences": [
{
"original": "忍者は公園で稽古をしていた。",
"blank": "_ _ _ は公園でけいじゅうをしていた。",
"correct": "忍者"
}
]
}

此项目为日语学习者提供了一个强大的工具,通过与 Anki 的集成,显著提升词汇学习的效果。

  • 0 关注
  • 0 收藏,34 浏览
  • system 提出于 2025-09-19 13:06

相似服务问题

相关AI产品