paeg-teaching-materials
paeg-teaching-materials
中文 | English
这是什么
paeg-teaching-materials 是教学物料制作插件——6 类物料生成器 + 统一执行入口 + MCP server。
物料类型 | 能力 | 生成方式 |
PPT | 演示文稿大纲(6x6 原则)+ 可选 python-pptx 渲染 | LLM 大纲 → 渲染 |
讲义 | 6 段结构(教学目标/导入/新课/巩固/小结/作业) | LLM 生成 markdown |
讲稿 | 分段 narration(可 TTS) | LLM 生成 |
思维导图 | 中心主题→3-5 分支→2-4 子分支 | LLM 生成缩进列表 |
教学视频 | 分镜脚本(8-15s/镜,音画对齐,钩子+recap) | LLM 生成 JSON |
Manim 动画 | 数学动画代码 + 可选渲染 mp4 | LLM 代码 → Manim |
源自 PAEG 教育智能体物料系统(v0.87-§3.91 迭代),改造为零宿主依赖独立插件。
Related MCP server: interactive-edtech-mcp
核心特性
网状联通架构(顶尖工具标准 ⭐):10 个功能节点(查资料/大纲/PPT/讲义/讲稿/思维导图/视频/Manim/学习方法/学习计划)——每个既可独立使用,也是其他功能的前置环节
可扩充生成器注册表:
MaterialRegistry.register("自定义类型", generator)即扩展零宿主依赖:6 个 Protocol 抽象(LLMCallable/RefinerProtocol/HandoutGenerator/ScriptGenerator/MindmapGenerator/ResourceProvider)+ Null 弱模式
统一执行入口:
execute(name, args)对标 constraint_engine(JSON 契约,绝不抛异常)MCP server 直接安装:
pip install+ MCP 配置声明即接入(15 工具)语言规范联动:物料产出自动过 L0 病句修正(复用 paeg-lang-style)
质量检查 + 评审:确定性结构检查 + LLM 5 维评分
网状联通架构(功能既可独立,也是前置环节 ⭐)
工具内部是交织的网状接线与联通——每个功能是一等公民节点:
research(查资料·广播前置)
├──→ outline(大纲)──→ ppt(PPT 制作)
├──→ script(讲稿)──→ video(教学视频)
├──→ handout / manim / method / study_plan / mindmap(可选)三模式依赖边:
边类型 | 语义 | 例子 |
broadcast(广播) | 源产物被全网消费 | 查资料 → 一切生成 |
directed(定向) | 强前置 | 大纲→PPT、讲稿→视频 |
optional(可选) | 缺失时降级 | 资料→思维导图 |
双暴露:每个功能既是独立 MCP 工具(execute_tool),又可自动编排
(execute_pipeline 按依赖图展开前置环节),也可 | 链式组合:
from paeg_teaching_materials import MaterialRegistry
from paeg_teaching_materials.tools import ResearchTool, OutlineTool, PptTool
# 1. 独立调用
result = MaterialRegistry.execute_plan("ppt", ctx, {"topic": "导数"})
# 自动执行: research → outline → ppt(查资料是前置环节)
# 2. 链式组合(LangChain Runnable 模式)
pipeline = ResearchTool() | OutlineTool() | PptTool() # 组合结果仍是 Tool
# 3. 依赖图自省(MCP: list_dependencies)
graph = MaterialRegistry.get_resolver().dependency_graph()中间产物(MaterialContext 类型化 Blackboard):
resources(查资料·append 累积)/ outline / lecture_script / ppt_outline /
completed_stages(阶段标记·union)——前置环节产物被下游自动消费。
安装
pip install -e /path/to/paeg-teaching-materials
# 可选依赖:
pip install -e "paeg-teaching-materials[pptx]" # PPT 渲染
pip install -e "paeg-teaching-materials[manim]" # Manim 渲染
pip install -e "paeg-teaching-materials[mcp]" # MCP server要求 Python 3.9+。
快速开始
from paeg_teaching_materials import MaterialRegistry, execute
# 1. 注入你的 LLM(任何项目接入点)
def my_llm(system, user, max_tokens=2000, temperature=0.7):
return call_your_llm(system, user, max_tokens=max_tokens)
MaterialRegistry.inject(llm=my_llm)
# 2. 生成物料(统一执行入口)
result = execute("generate_handout", {"topic": "一元二次方程", "subject": "数学"})
# → {"material_type": "handout", "topic": "...", "ok": true, "output": "## 教学目标..."}
# 3. 质量检查 + 评审
from paeg_teaching_materials import check_material_structure, judge_material
issues = check_material_structure(result["output"], "handout")
score = judge_material(result["output"], "一元二次方程")以 MCP server 方式接入(像 MCP 一样直接安装即可用)
# 方式 1:console_scripts 入口(pip install 后)
paeg-teaching-materials-mcp
# 方式 2:python -m 入口(源码运行)
python -m paeg_teaching_materials.mcp_serverMCP 客户端配置声明(config/mcp_servers.json):
{
"mcpServers": {
"paeg-teaching-materials": {
"command": "python",
"args": ["-m", "paeg_teaching_materials.mcp_server"],
"cwd": "D:/wbo-workspace/paeg_project/paeg-teaching-materials"
}
}
}暴露的 MCP 工具(15 个):
工具名 | 功能 |
| PPT 大纲生成 |
| 讲义生成 |
| 讲稿生成 |
| 思维导图生成 |
| 教学视频分镜脚本 |
| Manim 数学动画代码 |
| 物料确定性结构检查 |
| 物料 5 维评审 |
| 物料类型自省 |
| 物料提示词拼装 |
| 语言规范检查 |
| 语言规范守门 |
| 网状:独立执行功能节点 |
| 网状:自动编排前置环节 |
| 网状:功能依赖图自省 |
外部项目接入指南
场景 A:只用统一执行入口(推荐)
from paeg_teaching_materials import execute
result = execute("generate_ppt", {"topic": "微积分", "subject": "数学"})场景 B:注入自己的 LLM(强实现)
from paeg_teaching_materials import MaterialRegistry
MaterialRegistry.inject(llm=my_llm, refiner=my_refiner)
result = MaterialRegistry.generate("handout", "力学", "物理")场景 C:注册自定义物料类型(可扩展性)
from paeg_teaching_materials import MaterialRegistry
from paeg_teaching_materials.generators.base import Generator
class QuizGenerator(Generator):
material_type = "quiz"
def generate(self, topic, subject="通用", learner_id="anon", **kw):
return {"material_type": "quiz", "topic": topic, "ok": True, "output": "..."}
MaterialRegistry.register("quiz", generator=QuizGenerator())
# 现在 execute("generate_quiz", {...}) 可用场景 D:MCP server(零代码桥)
pip install + MCP 配置声明(见上)——任何 MCP 客户端(Claude/OpenCode/自研)直接调用。
可扩展性
扩展点 | 方式 | 机制 |
物料类型 |
| 注册表动态扩充 |
LLM 后端 |
| Protocol 注入 |
语言规范 |
| RefinerProtocol(缺省复用 paeg-lang-style L0) |
资源检索 |
| ResourceProvider |
质量评审 | 注入 LLM 后 5 维自动启用 | judge_material |
渲染后端 | pptx/manim 可选依赖 | extras_require |
可维护性
零宿主依赖:核心包只依赖 stdlib;宿主功能全部 Protocol 注入
统一契约:execute 返回 JSON 字符串(MCP 契约),失败不抛异常
弱模式:无宿主可跑通(Null 生成器占位),便于测试与演示
语言规范联动:物料产出自动过 L0 病句修正
41 项测试:公共 API/弱模式/注入/execute/质量/MCP 全覆盖
架构
宿主系统(任何 Python 项目 / 智能体)
MaterialRegistry.inject(llm=..., refiner=..., resources=...) <- 宿主注入
execute("generate_handout", {...}) <- 统一入口
|
| 零宿主依赖(Protocol 抽象)
v
paeg_teaching_materials(独立插件)
+-------------------+ +-------------------+ +----------------+
| registry.py | | generators/ | | quality/ |
| MaterialRegistry | | ppt/handout/... | | checks/judge |
+---------+---------+ +---------+---------+ +----------------+
| |
v v
+-----------------------------------------------------------+
| executor.py(execute 统一入口,JSON 契约) |
| mcp_server.py(FastMCP 15 工具,stdio 直接安装) |
+-----------------------------------------------------------+与 PAEG 主项目集成
PAEG 通过 services/material_bridge.py 接入(宿主注入 + 零破坏回退):
from services.material_bridge import install_material_plugin
install_material_plugin() # server.py 启动时调用一次
# 注入 PAEG LLM(subagents._safe_chat)+ Refiner(paeg.refiner)+ 资源(library)
# 插件未安装 → 静默回退 PAEG 原物料实现(旧文件永不删除)测试
python -m pytest tests/ -q
# 22 项:公共 API / 弱模式 / 注入 / execute / 质量 / MCP server贡献指南
欢迎贡献!
新增物料类型:继承
Generator基类 +MaterialRegistry.register()新增质量检查:
quality/checks.py加函数代码风格:遵循现有模块结构 + 注释规范
致谢
PAEG 教育智能体——本插件提取自其物料制作系统(§3.87-§3.100)
paeg-lang-style——语言规范插件(L0 联动)
Presenton / ppt-agent-skills——LLM+渲染管线范式
ManimTrainer——Manim 渲染闭环范式
许可证
MIT © 2026 PAEG Team
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to generate real Office documents (.pptx, .docx, .xlsx) and source code from natural language via MCP protocol.4MIT
- AlicenseNot gradedqualityBmaintenanceMCP server suite that lets coding agents generate deep instructional content from external sources and operate classroom-interactive EdTech platforms including Padlet, Google Classroom, Kahoot!, Wayground, Wordwall, and Nearpod.MIT
- AlicenseAqualityBmaintenanceAn agent-native teaching OS that gives AI assistants a persistent classroom with courses, lessons, flashcards, and graded exercises via MCP tools.503AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to create and manage personalized 30-day study courses, including web research with source validation, daily lessons, quizzes, and progress tracking through 12 MCP tools.1MIT
Related MCP Connectors
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Golden2002/paeg-teaching-materials'
If you have feedback or need assistance with the MCP directory API, please join our Discord server