Token导航 LogoToken导航TokenDH.com
Moodle Student MCP logo
运维云端stdio官方级别未说明来源级核验

Moodle Student MCP

MCP Server

连接Moodle与LLM的服务器,支持学生通过自然语言查询课程信息、资料和截止日期。

工具数

4

提示词数

0

GitHub Stars

1

资源数

0
教育技术PythonCursorCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Ilya-Grigoryev

提供方

Ilya-Grigoryev

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

Moodle MCP服务器

![Python 3.10+](https://www.python.org/downloads/) ![License: MIT](LICENSE)

嘿,维也纳大学的学生们,你们会喜欢这个的。 此MCP服务器连接 我们的Moodle (moodle.univie.ac.at)获得法学硕士学位。使用Cursor(或其他MCP客户端),您可以用简单的语言询问您的课程、材料和截止日期;人工智能通过该服务器使用Moodle的API进行应答。

它能做什么

工具说明
get_site_info您的Moodle身份: userid, username, fullname.使用 userid 对于其他工具。
get_rolled_courses您注册的课程列表(最近的课程,最多12门)。
get_course_contents课程结构:章节、模块名称和材料链接(资源、PDF等)。
get_course_assignments课程作业:描述和截止日期(当Moodle通过API公开它们时)。

示例:向法学硕士询问一门课程

在Cursor中配置服务器后,您可以在聊天中提问。LLM将调用Moodle工具并总结结果。虚构课程示例:

你: 780012课程中有什么,我需要交什么?

LLM (打电话后 get_course_contentsget_course_assignments):

课程: 2025W 123456机器学习导论\ 课程ID: 780012 结构——5个部分: 1. 将军 --公告论坛 1. 第1-2周:基础知识 --幻灯片、阅读列表、第一堂课链接 1. 第3-4周:监督学习 --课堂讲稿,练习表1 1. 作业 --作业1和2的描述和提交链接 1. 考试 --范围和日期 作业: - 作业1——线性回归 (2026年4月1日到期):实施并报告。 - 作业2——分类 (2026年5月1日到期):在提供的数据集上训练分类器。

______________________________________________________________________

注: 这个项目刚刚开始,如果时间允许,将积极开发。可以添加更多功能(例如日历、成绩、论坛),服务器可以与Notion等工具一起用于计划和笔记。

需求

  • Python 3.10+
  • Uni Wien Moodle帐户和 web服务令牌 (如果您的教员/管理员已启用)

安装

git clone https://github.com/Ilya-Grigoryev/moodle-student-mcp.git
cd moodle-student-mcp
python -m venv .venv
source .venv/bin/activate   # On Windows: .venv\Scripts\activate
pip install -e .

无可编辑安装:

pip install -r requirements.txt
# Run with: PYTHONPATH=src python -m moodle_mcp.main

配置(光标)

服务器需要 MOODLE_URLMOODLE_TOKEN 在环境中。在Cursor中,您可以在MCP配置中设置它们,这样令牌就永远不会存在于文件中。

获取您的令牌

你使用现有的浏览器会话,没有额外的软件,也没有“真正的”黑客攻击——Moodle只需将令牌放在重定向URL中,你就可以捕获它。

  1. 登录Moodle 在浏览器中(例如通过Uni Wien SSO)。
  2. 打开DevTools (F12)→ 网络 选项卡,启用 保留日志.
  3. 打开移动启动URL 在同一浏览器中(与您的Moodle相同的网站):\

https://moodle.univie.ac.at/admin/tool/mobile/launch.php?service=moodle_mobile_app&passport=12345

  1. 捕获重定向: Moodle将重定向到以开头的URL moodlemobile://token=...。在“网络”选项卡中,找到重定向(或从地址栏复制目标URL,如果它短暂出现在那里)。令牌位于该URL中。
  2. 提取密钥: 该值通常采用Base64编码。对其进行解码并获取32个字符的令牌(Moodle用于REST API的核心部分)。那是你的 MOODLE_TOKEN.

所以:你“欺骗”Moodle为你当前的会话发放一个移动令牌,并从重定向中读取它——不需要管理员权限。

光标MCP设置

  1. MOODLE_URL 维也纳大学: https://moodle.univie.ac.at/webservice/rest/server.php.
  2. 打开的游标 设置→ MCP (或编辑 ~/.cursor/mcp.json 在macOS上)。
  3. 添加这样的服务器条目(使用您的路径和令牌):
"moodle-student-mcp": {
  "command": "/path/to/moodle-student-mcp/.venv/bin/python",
  "args": ["-m", "moodle_mcp.main"],
  "cwd": "/path/to/moodle-student-mcp",
  "env": {
    "PYTHONPATH": "/path/to/moodle-student-mcp/src",
    "MOODLE_URL": "https://moodle.univie.ac.at/webservice/rest/server.php",
    "MOODLE_TOKEN": "your_ws_token_here"
  }
}

使用 完整路径 到repo和venv的Python。保存并重新加载MCP(或重新启动Cursor)。

跑步

使用Cursor,您不需要自己运行服务器——Cursor会从以下位置启动它 mcp.json.对于本地测试:

MOODLE_URL=... MOODLE_TOKEN=... PYTHONPATH=src python -m moodle_mcp.main

项目结构

文件目的
config.py阅读 MOODLE_URLMOODLE_TOKEN 从环境中(例如从Cursor的mcp.json)。
客户端.pyHTTP客户端和 call_moodle_api 使用Moodle错误处理。
tools.pyFastMCP服务器和四个工具。
main.py入口点(mcp.run()).

许可证

麻省理工学院——见 许可证.

目录标签

目录标签

教育技术PythonCursorMoodle集成本地部署自然语言查询课程管理

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP