README.md# 离线MCP服务器——EduChain作业提交
本项目实现了一个**离线MCP(元通道协议)服务器**,模拟教育内容生成工具,不使用任何外部LLM(如OpenAI或Gemini)。它完全兼容Claude Desktop,也可以独立使用浏览器、Postman或cURL进行测试。
---
## 📂 项目结构
. ├── run.py # 运行Flask服务器的入口点 ├── requirements.txt # 依赖项(Flask) ├── claude_desktop_config.json # Claude Desktop配置(可选) ├── Sample_Responses.txt # 示例API调用和响应 ├── README.md # 此文件 └── app/ ├── init.py # 初始化Flask应用 ├── routes.py # Flask路由和UI表单 └── edu_utils.py # 核心教育逻辑(选择题、计划、闪卡)
---
## 🚀 功能
| 工具 | 端点 | 描述 |
|------------------|----------------------|-----------------------------------------|
| 选择题生成器 | `/generate-mcqs` | 根据主题和数量生成选择题 |
| 教学计划工具 | `/get-lesson-plan` | 返回一个学科的结构化教学计划 |
| 闪卡工具 | `/generate-flashcards` | 从主题关键词创建闪卡 |
| 测试UI | `/` | 浏览器表单,方便测试所有路由 |
---
## 🧠 不使用LLM的设计
本项目不调用真实的LLM,如OpenAI或Gemini,而是:
- 使用**手写逻辑**
- 返回**现实的教育内容**
- 完全模仿Claude Desktop期望的JSON结构
---
## 🔧 安装与运行
### 第一步:安装依赖项
```bash
pip install -r requirements.txt
python run.py
默认情况下,服务器运行在:
http://localhost:5001
访问浏览器:
http://localhost:5001
使用下拉菜单和表单测试:
或者使用Postman / curl。
POST /generate-mcqs
{
"topic": "Python基础",
"count": 2
}
示例响应
{
"mcqs": [
{
"question": "在Python中定义函数时使用的关键词是什么?",
"options": ["define", "def", "func", "lambda"],
"answer": "def"
},
...
]
}
使用提供的claude_desktop_config.json文件将此服务器连接到Claude Desktop。配置后重启Claude Desktop。
mcp_server.py → 现在模块化:run.py + routes.py + utils.pyclaude_desktop_config.jsonSample_Responses.txtREADME.mdNihal Jaiswal B.Tech (2_2026) GitHub: [github.com/yourusername]