日本导师MCP服务器
一个实验性的MCP(模型上下文协议)服务器,为人工智能日语辅导提供持久内存。这弥合了人工智能自然语言教学能力与Anki等传统间隔重复系统(SRS)之间的差距。
特性
- 持续学习记忆:跨课程跟踪概念、复习历史和教师笔记
- 间歇重复:实现指数衰减的可检索性计算
- 概念管理:创建、拆分、合并和重命名学习概念
- 教师笔记:在会话边界内持续观察
- 透明操作:所有工具调用都可见,可用于调试和改进
快速开始
- 再进行:
uv sync- 测试服务器:
uv run python test_mcp_server.py- 运行MCP服务器:
uv run python main.py- 与克劳德桌面连接 (或另一个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)-更新概念名称
会话流
- 初始化:AI呼叫
get_current_state()加载上下文 - 学习:涵盖各种日语概念的自然对话
- 审查:AI评估性能和呼叫
batch_update_reviews() - 维护:可选的概念重组和注释更新
示例用法
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:对话中的会话连续性
该系统旨在让你感觉像是与一位私人教师一起工作,他会保存详细的笔记,并且总是知道你接下来需要复习什么。
