Skip to main content
Glama

jszz · 中学备课 MCP 工具集

给 Agent 用的备课工具箱:B站找素材 → 学科网取题 → 学案/试卷 → 一键出可打印 docx 和 16:9 课件。装一次,任何支持 MCP 的客户端(WorkBuddy / Claude Code / Cline / Cherry Studio …)都能调。

排版风格不是拍脑袋:从一位一线教师 U 盘里的 745 份真实教学资料(25 份学案、 147 份试卷类文档、213 份课件、56 份真题 PDF)逐份抽出结构、字体、字号、页数、 每页字数后统计出来的。见 docs/corpus-analysis.md。

长什么样

控制台

学案(A4 打印)

webui

学案

试卷(A4 打印)

课件(16:9)

试卷

课件

Related MCP server: V2W MCP Server

能力

#

能力

工具

1

B站搜索 / 详情 / 字幕 / 音视频下载

bili_search bili_video_info bili_subtitle bili_download bili_audio_stream

2

学科网搜索 / 资料详情 / 预览页正文 / 组卷网搜题

zxxk_search zxxk_document zxxk_preview_text zxxk_questions zxxk_knowledge_questions

3

学案编写(docx)

make_xuean

4

学案自动生成 PPT

make_xuean(pptx=True)

5

试卷编写 / 组卷(docx,带答案页)

make_paper_md assemble_paper

6

试卷转讲评 PPT

make_paper_md(pptx=True)

7

登录态 / 依赖自检 / 产物下载的本地控制台

jszz web

8

技能包 jszz.skill(SKILL.md + 6 篇排版规范)

下载仓库根目录的 jszz.skill

安装

git clone https://github.com/wohongshi/jszz.git
cd jszz
pip install -e .                         # 装 jszz 命令 + mcp/requests/python-docx/python-pptx
sudo apt install nodejs                  # 过学科网 WAF 必需
pip install yt-dlp && sudo apt install ffmpeg   # 可选:下载 B 站音视频

不想装成包也行:pip install -r requirements.txt,把命令里的 jszz 换成 python -m jszz.cli,PYTHONPATH 指向 server/。

接入 MCP

stdio(推荐,WorkBuddy / Claude Code / Cline 都支持)

{
  "mcpServers": {
    "jszz": {
      "command": "python3",
      "args": ["-m", "jszz.server"],
      "env": {
        "PYTHONPATH": "/绝对路径/jszz/server",
        "JSZZ_HOME": "/绝对路径/.jszz"
      }
    }
  }
}

HTTP(远程/多人共用):

jszz serve --http --port 8765     # streamable-http 端点 http://127.0.0.1:8765/mcp

打开控制台(登录 / 依赖 / 产物)

jszz web            # http://127.0.0.1:8770/
  • B站 cookie(SESSDATA):解锁 AI 字幕、会员清晰度

  • 学科网 cookie:解锁原文件下载与组卷网搜题;不放也能搜、能读预览页

  • 依赖自检:yt-dlp / ffmpeg / node

  • 一键复制 MCP 配置

三分钟跑通

# 1. 命令行试一下(不用 MCP 客户端)
jszz set school 胶州四中
jszz search "匀变速直线运动" --limit 5
jszz xuean examples/xuean-wuli.md        # → ~/.jszz/out/xuean/*.docx / *.pptx
jszz paper examples/paper-wuli.md        # → ~/.jszz/out/paper/*.docx / *.pptx

# 2. 在 Agent 里
#    "用 jszz 出一份《匀变速直线运动》第1课时的学案和课件"
#    "从学科网找 3 道动量守恒的题,组一份 100 分的小卷"

设计要点

学科网预览页 = 免费题库。 资料详情页的预览页是矢量 SVG,文字节点可直接提取, 不用登录、不消耗点数。zxxk_preview_text 把 SVG 按坐标还原成阅读顺序的纯文本, 一份 5 页卷子的前几页能完整还原(公式与几何图是位图,会缺)。

WAF 用页面自己的 JS 解。 学科网/组卷网在阿里云 WAF 后面(alicfw 与 acw_sc__v2 两套挑战),本工具用 Node 的 vm 跑页面脚本来算 cookie,不引浏览器、不装 Playwright。 出口 IP 被拉黑时仍会失败,这是网络问题,不是代码问题。

排版参数来自语料。 学案 A4/宋体12pt/行距1.5/填空式预习;试卷选项四列、题干悬挂缩进、 答案另页;课件 16:9、正文 28pt、每页 184 字、例题拆「题干页 + 解析页」。

目录

server/jszz/
  server.py        MCP 工具定义(15 个)
  bilibili.py      WBI 签名、搜索、字幕、下载
  zxxk.py          学科网搜索/详情/预览页、组卷网
  waf.py           WAF 挑战求解(调 bin/fetch_alicfw.js)
  mdparse.py       教师风格 Markdown → 文档模型
  docx_render.py   学案/试卷 A4 排版
  pptx_render.py   16:9 课件(新授课 / 讲评课)
  assemble.py      组卷
  webui.py         本地控制台(标准库,零依赖)
  cli.py           命令行
skill/             jszz.skill(SKILL.md + 6 篇规范)
examples/          可直接跑的示例
docs/              语料分析报告

已知限制

  • 组卷网(zujuan)反爬强,机房 IP 常被直接阻断;学校/家庭宽带一般可用

  • 学科网原文件下载需要账号点数,本工具不绕过付费

  • 预览页里的公式、几何图是位图,纯文本提取会缺;数学/物理需要老师补图

  • 下载 B 站视频依赖 yt-dlp,其接口随 B 站改动,升级 yt-dlp 即可

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables agents to turn Bilibili course videos into structured VitePress study notes by extracting subtitles, generating organized notes with key points and active recall, and saving them locally. It also supports video search and metadata retrieval through MCP tools.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to generate teaching materials such as PPTs, handouts, lecture scripts, mind maps, teaching video storyboards, and Manim math animations, plus run quality checks and language normalization through 15 MCP tools.
    MIT