Skip to main content
Glama
Golden2002

paeg-teaching-materials

by Golden2002

paeg-teaching-materials

Python License: MIT Tests

日本語 | English


これは何か

paeg-teaching-materials教材制作プラグイン——6 種類の教材ジェネレーター + 統一実行エントリ + MCP server。

教材タイプ

機能

生成方法

PPT

プレゼン資料アウトライン(6x6 原則)+ オプションの python-pptx レンダリング

LLM アウトライン → レンダリング

講義資料

6 段構成(学習目標/導入/新規学習/定着/まとめ/宿題)

LLM で markdown を生成

講演原稿

セグメント別ナレーション(TTS 対応可)

LLM で生成

マインドマップ

中心テーマ→3〜5 ブランチ→2〜4 サブブランチ

LLM でインデントリストを生成

授業動画

絵コンテ脚本(8〜15 秒/カット、音声と映像の同期、フック+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(可选)

3 モード依存エッジ

エッジタイプ

意味

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_server

MCP クライアント設定宣言(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 個)

ツール名

機能

generate_ppt

PPT アウトライン生成

generate_handout

講義資料生成

generate_script

講演原稿生成

generate_mindmap

マインドマップ生成

generate_video_script

授業動画の絵コンテ脚本

generate_manim

Manim 数学アニメーションコード

material_quality_check

教材の決定的構造チェック

material_judge

教材の 5 次元レビュー

list_material_types

教材タイプの自己検査

build_material_prompt

教材プロンプトの組み立て

check_language

言語規範チェック

normalize_material

言語規範ゲートキーパー

execute_tool

ネットワーク型:機能ノードの独立実行

execute_pipeline

ネットワーク型:前提段階の自動オーケストレーション

list_dependencies

ネットワーク型:機能依存グラフの自己検査

外部プロジェクト連携ガイド

シナリオ 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/自社開発)から直接呼び出し可能。

拡張性

拡張ポイント

方法

仕組み

教材タイプ

MaterialRegistry.register("type", generator)

レジストリによる動的拡張

LLM バックエンド

MaterialRegistry.inject(llm=...)

Protocol 注入

言語規範

MaterialRegistry.inject(refiner=...)

RefinerProtocol(デフォルトで paeg-lang-style L0 を再利用)

リソース検索

MaterialRegistry.inject(resources=...)

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

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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