zju-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@zju-mcp列一下我的浙大待办"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
vibe-learning-in-zju(zju-mcp)
把「学在浙大 / 智云课堂」的一批能力封装成 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": "你的密码" }
}
}
}接好后在对话里直接说「列一下我的浙大待办」「今天课表」「把今天第二节课的转录给我」即可触发。
Related MCP server: Canvas LMS MCP Server
工具一览
只读工具
工具 | 能做什么 | 参数 |
| 列出待办的作业/考试/测验/问卷,含课程名、类型和截止日 | 无 |
| 列出「我的课程」里的所有课程,含课程 |
|
| 列出某门课下的所有作业,含每个作业的 |
|
| 查智云课堂某天/某段时间的课表,含每节课的 |
|
| 拉取某节课的语音识别转录(逐段中文、带时间戳) |
|
典型链路:zju_get_schedule 拿到某节课的 sub_id → 传给 zju_get_transcript 取转录。
写操作(会真实改动学在浙大,谨慎使用)
工具 | 能做什么 | 参数 |
| 把本地文件作为作业提交 |
|
| 撤回已提交的作业,回到草稿态(需老师允许撤回) |
|
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,作者会配合下架。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/EviterLesRoses2/vibe-learning-in-zju'
If you have feedback or need assistance with the MCP directory API, please join our Discord server