Zju
БесплатноНе проверенEnables interaction with Zhejiang University's learning platform (学在浙大 / 智云课堂) via MCP tools, allowing natural language commands to check todos, view schedules,
Описание
Enables interaction with Zhejiang University's learning platform (学在浙大 / 智云课堂) via MCP tools, allowing natural language commands to check todos, view schedules, fetch lecture transcripts, and submit homework.
README
把「学在浙大 / 智云课堂」的一批能力封装成 MCP 工具,供 Claude Code、Cursor、或任意 MCP 客户端按需调用—— 用一句自然语言就能查待办、看课表、拉课堂语音转录、甚至提交作业。
- 单文件、零第三方依赖:只用 Node 内置能力(
fetch/FormData/crypto等),一个zju-mcp.mjs跑起来即可。 - 本地运行、凭据不上云:登录逆向与 RSA 加密都在你本机完成,密码不明文上行,
.env不进版本库。
⚠️ 先读免责声明:本项目仅供个人学习与自用,逆向自公开的网页登录流程。你需自行对使用行为负责,遵守学校相关规定;请勿用于批量抓取、代刷、扰乱平台等行为。写操作(提交/撤回作业)会真实改动你的学在浙大账户,务必谨慎。
快速开始
# 1. 克隆到本地
git clone https://github.com/EviterLesRoses2/vibe-learning-in-zju.git
cd vibe-learning-in-zju
# 2. 配置凭据:复制模板并填入你的学号 / 密码
cp .env.example .env
# 然后用编辑器打开 .env,填 ZJU_USER / ZJU_PASS
要求 Node 18+(用到内置 fetch)。用 node -v 确认。
在 Claude Code / Cursor 等客户端的 mcpServers 配置里加一条(把路径换成你实际 clone 的绝对路径):
{
"mcpServers": {
"zju": {
"command": "node",
"args": ["/path/to/vibe-learning-in-zju/zju-mcp.mjs"],
"env": { "ZJU_USER": "你的学号", "ZJU_PASS": "你的密码" }
}
}
}
接好后在对话里直接说「列一下我的浙大待办」「今天课表」「把今天第二节课的转录给我」即可触发。
工具一览
只读工具
| 工具 | 能做什么 | 参数 |
|---|---|---|
zju_list_todos |
列出待办的作业/考试/测验/问卷,含课程名、类型和截止日 | 无 |
zju_list_courses |
列出「我的课程」里的所有课程,含课程 id、名称、代码、学期、教师、学习进度 |
keyword?(按课程名/代码过滤)、status?(ongoing/notStarted/ended) |
zju_list_course_homework |
列出某门课下的所有作业,含每个作业的 activity_id、状态、成绩和老师评语 |
course_id(必填)、include_submission?(默认带上提交详情/成绩) |
zju_get_schedule |
查智云课堂某天/某段时间的课表,含每节课的 sub_id、老师、教室、时间 |
date?、end_date?(YYYY-MM-DD,省略=今天) |
zju_get_transcript |
拉取某节课的语音识别转录(逐段中文、带时间戳) | sub_id(必填)、max_segments?、with_translation? |
典型链路:zju_get_schedule 拿到某节课的 sub_id → 传给 zju_get_transcript 取转录。
写操作(会真实改动学在浙大,谨慎使用)
| 工具 | 能做什么 | 参数 |
|---|---|---|
zju_submit_homework |
把本地文件作为作业提交 | activity_id、file_path(本地绝对路径)、comment?(附言) |
zju_retract_homework |
撤回已提交的作业,回到草稿态(需老师允许撤回) | activity_id |
activity_id 来自 zju_list_todos 或 zju_list_course_homework。提交是真实交付,交错了用 zju_retract_homework 撤回。
典型应用案例
案例一:一键消化一节课
课后不想回放两小时录像?让 AI 直接读转录,帮你把这节课嚼碎:
「把我今天《智能控制》那节课的转录拉出来,总结这节讲了什么、布置了什么作业,有没有点名或课堂小测。」
AI 会自动 zju_get_schedule 找到这节课的 sub_id → zju_get_transcript 取全程转录,然后替你产出:
- 本节要点:老师讲的核心内容浓缩成几条。
- 作业提醒:口头布置的作业 / 截止时间。
- 点名与小测:转录里出现的点名、随堂小测、加分提问等,别再错过平时分。
案例二:全自动完成作业
从「看到作业」到「拿到分数」全程交给 AI:
「看看《数字信号处理》这门课有哪些没交的作业,帮我做完并提交,交完把分数也查一下。」
一条链路跑通:
- 抓作业 —
zju_list_courses定位课程 →zju_list_course_homework列出未交作业,读出题目要求。 - 做作业 — AI 根据要求生成解答,写成文件存到本地。
- 提交 —
zju_submit_homework把文件交上去,返回submission_id与读回确认。 - 查分 — 等老师批改后,
zju_list_course_homework(带include_submission)读回成绩和评语。
⚠️ 这一步会真实提交到你的账户。建议先让 AI 把生成的答案给你过目,确认无误再让它提交;交错了可用
zju_retract_homework撤回。
前置约束
- 必须在国内网络的本机运行:
courses.zju.edu.cn与*.cmc.zju.edu.cn只对国内 IP 开放,境外(云端 / 远程 agent)抓不到。 - Node 18+(用到内置
fetch)。 - 凭据二选一:填
.env,或写进 MCP 客户端配置的env块。
免责声明
- 本项目为个人学习用途,逆向对象为公开可访问的网页登录与接口流程,不含任何绕过鉴权、爬取他人数据的能力。
- 使用者需自行遵守浙江大学及相关平台的使用规定,因使用本工具产生的一切后果由使用者自行承担。
- 提交/撤回作业等写操作会真实改动你的账户数据,请在充分理解语义后使用。
- 如学校或平台方认为不妥,请提 issue,作者会配合下架。
Установка Zju
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/EviterLesRoses2/vibe-learning-in-zjuFAQ
Zju MCP бесплатный?
Да, Zju MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Zju?
Нет, Zju работает без API-ключей и переменных окружения.
Zju — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Zju в Claude Desktop, Claude Code или Cursor?
Открой Zju на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Zju with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
