学习工具生成器

一个基于AI的学习助手,能够从学习材料中生成测验、闪卡、摘要和概念解释。

  • by francis-rf
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 francis-rf/study-Tools-mcp-server

使用说明

研究工具MCP📚

使用模型上下文协议(MCP)构建的人工智能学习助手,可从您的学习材料中生成测验、抽认卡、摘要和概念解释。

🎯 特性

  • 智能摘要 --从研究材料中生成简明摘要
  • 测验生成 --创建具有难度级别的可定制测验
  • 概念解释 --获得初级/中级/高级解释
  • 抽认卡 --从文档自动生成抽认卡组
  • 比较工具 --比较和对比多个概念
  • MCP集成 --直接与Claude Desktop配合使用
  • 网页用户界面 --带有FastAPI后端的独立聊天界面

🛠️ 技术栈

  • 后端:快速API+Python 3.10
  • 人工智能框架:模型上下文协议(MCP)
  • 人工智能:OpenAI API
  • 文档解析:PyPDF2、pdfplumber、python docx
  • 前端:普通JavaScript、HTML、CSS
  • 云:AWS EC2+S3+密钥管理器
  • CI/CD:GitHub操作

🚀 快速开始

先决条件

  • Python 3.10+
  • OpenAI API密钥

安装

  1. 克隆存储库:
git clone https://github.com/francis-rf/study-Tools-mcp-server.git
cd study-Tools-mcp-server
  1. 安装依赖项:
pip install -r requirements.txt
  1. 创建 .env 文件:
cp .env.example .env
# Edit .env and add your OPENAI_API_KEY
  1. 添加学习材料:

将PDF或Markdown文件放入 data/notes/:

data/notes/
├── Machine Learning.pdf
└── Your Notes.md
  1. 运行应用程序:
python app.py
  1. 打开浏览器:

http://localhost:8080

🐳 Docker部署

构建并运行

docker build -t study-tools-mcp .
docker run -p 8080:8080 --env-file .env study-tools-mcp

☁️ AWS部署

使用的服务

服务 目的
EC2(t2.micro) 托管Docker容器
S3(study-tools-mcp-materials) 存储PDF学习材料
秘密经理(study-tools-mcp) 存储OpenAI API密钥
IAM角色 授予EC2访问S3和密钥管理器的权限

设置

  1. 存储OpenAI API密钥 AWS Secrets Manager 以秘密名义 study-tools-mcp
  2. 将PDF上传到 第3页 桶 study-tools-mcp-materials
  3. 发射 EC2 已附加IAM角色的实例(study-tools-mcp-ec2-role)
  4. SSH接入,安装Docker,克隆仓库并运行容器

⚙️ GitHub操作CI/CD

通过以下方式配置自动部署 .github/workflows/deploy.yml.

工作流程:部署到AWS EC2

每一次推 main,管道:

  1. 退房 代码
  2. 萨菲尔-辛普森飓风等级 进入EC2实例
  3. 拉动 GitHub上的最新代码
  4. 重建 Docker镜像
  5. 重新启动 零停机时间的集装箱

必需的GitHub机密

机密 描述
EC2_HOST EC2实例公共IP
EC2_USER ubuntu
EC2_SSH_KEY 目录 .pem 密钥文件

工作流状态

📁 项目结构

study-Tools-mcp-server/
├── app.py                          # FastAPI web application
├── src/study_tools_mcp/
│   ├── server.py                   # MCP server entry point
│   ├── config.py                   # Configuration (Secrets Manager + .env fallback)
│   ├── tools/                      # Quiz, flashcards, summarizer, explainer
│   ├── parsers/                    # PDF and Markdown parsers
│   └── utils/                      # Logger
├── static/                         # Frontend assets
├── templates/                      # HTML templates
├── data/notes/                     # Study materials (local only — S3 on AWS)
├── logs/                           # Application logs
├── .github/workflows/              # CI/CD
│   └── deploy.yml
├── Dockerfile
├── requirements.txt
└── pyproject.toml

📡 API终点

方法 端点 描述
得到 / Web用户界面
得到 /health 健康检查
得到 /api/files 列出可用的研究材料
职位 /api/chat 通过流媒体聊天
职位 /api/chat/clear 清除对话历史记录

🔌 Claude桌面集成

添加 %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "study-tools-mcp": {
      "command": "uv",
      "args": ["--directory", "C:\\path\\to\\study-tools-mcp", "run", "study-tools-mcp"]
    }
  }
}

重新启动Claude Desktop——工具将自动可用。

📸 截图

学习工具AI界面,可生成测验

学习工具AI与Claude Desktop的集成

📄 许可证

MIT许可证