日语学习记忆服务器

一个实验性的MCP服务器,为AI日语教学提供持久记忆功能,连接AI的自然语言教学能力和传统的间隔重复系统。

  • by hiinaspace
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 hiinaspace/jp-learning-mcp

使用说明

日本导师MCP服务器

一个实验性的MCP(模型上下文协议)服务器,为人工智能日语辅导提供持久内存。这弥合了人工智能自然语言教学能力与Anki等传统间隔重复系统(SRS)之间的差距。

特性

  • 持续学习记忆:跨课程跟踪概念、复习历史和教师笔记
  • 间歇重复:实现指数衰减的可检索性计算
  • 概念管理:创建、拆分、合并和重命名学习概念
  • 教师笔记:在会话边界内持续观察
  • 透明操作:所有工具调用都可见,可用于调试和改进

快速开始

  1. 再进行:

    uv sync
    
  2. 测试服务器:

    uv run python test_mcp_server.py
    
  3. 运行MCP服务器:

    uv run python main.py
    
  4. 与克劳德桌面连接 (或另一个MCP客户端)开始学习!

建筑

  • FastMCP:Pythonic MCP服务器框架
  • SQL模型:结合Pydantic+SQLAlchemy,实现干净的数据模型
  • 数据库:用于单用户实验的简单、可移植的数据库
  • 数据库位置:通过以下方式存储在用户数据目录中 platformdirs
    • Linux: ~/.local/share/jp-learning-mcp/jp_tutor.db
    • macOS: ~/Library/Application Support/jp-learning-mcp/jp_tutor.db
    • 窗户: %APPDATA%\hiina\jp-learning-mcp\jp_tutor.db

核心工具

学习会话工具

  • get_current_state() -加载带有可检索性分数的完整状态
  • batch_update_reviews(reviews) -练习后更新表现
  • add_concepts(concepts) -创建新的可学习单元

笔记管理

  • add_note(text) -记录教师观察结果
  • update_note(id, text) -修改现有笔记
  • delete_note(id) -删除笔记

概念组织

  • split_concept(old_name, new_concepts) -分解宽泛的概念
  • merge_concepts(old_names, new_concept) -结合相关概念
  • rename_concept(old_name, new_name) -更新概念名称

会话流

  1. 初始化:AI呼叫 get_current_state() 加载上下文
  2. 学习:涵盖各种日语概念的自然对话
  3. 审查:AI评估性能和呼叫 batch_update_reviews()
  4. 维护:可选的概念重组和注释更新

示例用法

AI导师可以透明地讨论系统的内部状态:

AI: "Let me check your current progress..."
[Calls get_current_state()]

AI: "I see you've been working on conditionals (retrievability: 0.3 - needs review),
    て-form (0.8 - still fresh), and keigo expressions (0.5 - could use practice).

    My notes mention you were confusing たら and なら conditionals last session.

    What would you like to focus on today?"

测试

运行测试套件:

uv run pytest tests/ -v

测试包括数据库操作、可检索性计算和MCP工具集成。

设计理念

这个实验利用了每个组件的优势:

  • 人工智能:自然对话、动态内容生成、教学适应
  • MCP服务器:状态持久性、间隔重复计算、数据管理
  • 客户端UI:对话中的会话连续性

该系统旨在让你感觉像是与一位私人教师一起工作,他会保存详细的笔记,并且总是知道你接下来需要复习什么。