教育内容生成服务

EduChain MCP Server是一个基于FastAPI的模拟多通道插件服务器,用于生成教育内容,包括多项选择题、课程计划和闪卡,支持离线使用和本地演示。

  • by dhairya-0209
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 dhairya-0209/educhain-mcp-server

使用说明

🧠 EduChain MCP服务器(模拟)

此项目模拟了与Claude兼容的 MCP(多通道插件)服务器 用于教育内容生成——与 快速 API 并返回 模拟数据 (不需要OpenAI密钥)。

✅ 兼容 克劳德桌面
✅ 无需互联网或API密钥
✅ 非常适合本地演示、提交和离线使用


✨ 特性

✅ 生成 多项选择题(MCQ) 关于任何话题

✅ 提供a 课程计划 有目标和活动

✅ 返回 抽认卡 用于快速修订

✅ 具有干净JSON API的FastAPI服务器

✅ 使用模拟响应完全离线工作


🏗️ 使用的技术

技术 描述
Python 核心编程语言
FastAPI 用于服务端点的API框架
Uvicorn ASGI服务器
Pydantic 请求验证
curl/Postman API测试
Claude MCP 最终目标集成

🗂️ 文件夹结构

📁 mcp_server.py –FastAPI服务器入口点

📁 educhain_content.py –生成模拟MCQ、抽认卡和课程计划

📁 requirements.txt –所有Python依赖项

📁 sample_sessions/commands.txt –测试期间提出的API请求

📁 sample_sessions/responses.json –对测试请求的预期响应

📁 config/claude_desktop_config.json –克劳德桌面MCP配置(HTTP URL)

📁 README.md –完整的项目文档(此文件)


⚙️ 安装说明

1.克隆存储库

克隆https://github.com/dhairya-0209/educhain-mcp-server.git

cd教育链mcp服务器

2.创建并激活虚拟环境

python-m venv.venv

.venv\Scripts\activate#适用于Windows

3.安装所需的软件包

pip安装-r要求.txt

4.运行FastAPI服务器

python mcpserver.py

✅ 服务器将在以下时间启动:http://localhost:8000


🔌Claude桌面集成

  • 打开克劳德桌面→ 设置→ MCP配置

  • 上传配置/claude_desktop_configure.json

{

“mcp_server”:{

"transport": "http",

"url": "http://localhost:8000"

} }

现在你可以问克劳德:

  • “在Python上生成5个MCQ”

  • “给我一个OOP的教案”

  • “在数据结构上创建抽认卡”


📡 api参考

🛠 方法 🔗 端点 📄 目的
GET /health 健康检查
POST /v1/tool/generate_mcqs 生成模拟MCQ
GET /v1/resource/lesson/{topic} 获得结构化的课程计划
POST /v1/tool/flashcards 生成抽认卡

1.️⃣生成MCQ

POST/v1/tool/generate_mcqs

内容类型:应用程序/json

{

“主题”:“Python”,

“num_questions”:3

}

答复▶️

[

{

"question": "What is Python?",

"options": ["A concept", "A tool", "An app", "None"],

"answer": "A concept"

}

]

2.️⃣课程计划

GET/v1/资源/课程/Python

答复▶️

{

“title”:“Python课程计划”,

“目标”:[

"Understand basics of Python",

"Explore examples of Python"

],

“内容”:“本课将介绍Python的核心概念。”,

“活动”:[“观看视频”、“解决测验”、“小组讨论”]

}

3.️⃣抽认卡

POST/v1/工具/抽认卡

内容类型:应用程序/json

{

“主题”:“Python”,

“n”:3

}

答复▶️

[

{

"term": "Python Term 1",

"definition": "This is the definition of Python Term 1."

}

]


🧪 会话文件示例

sample_sessions/commands.txt→ 所有已拨打的测试电话

sample_sessions/responses.json→ 预期模拟输出