Skip to main content
Glama

moodle-mcp

让 Claude 完全访问你的 Moodle —— 包括课程、文件、作业、成绩、测验、日历等。只需一条命令,即可从你的讲义中构建 Obsidian 学习库。

13 个工具 · 5 个提示词 · MCP 资源


快速开始

1. 安装

npx moodle-mcp

或全局安装:

npm install -g moodle-mcp

2. 获取你的令牌 (Token)见下方

3. 添加到你的 MCP 客户端

Claude Desktop(Mac 上为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 上为 %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "moodle": {
      "command": "npx",
      "args": ["moodle-mcp"],
      "env": {
        "MOODLE_URL": "https://moodle.yourschool.edu",
        "MOODLE_TOKEN": "your_token_here"
      }
    }
  }
}

VS Code(添加到 .vscode/mcp.json):

{
  "servers": {
    "moodle": {
      "command": "npx",
      "args": ["moodle-mcp"],
      "env": {
        "MOODLE_URL": "https://moodle.yourschool.edu",
        "MOODLE_TOKEN": "your_token_here"
      }
    }
  }
}

获取你的令牌

选项 A — Moodle 个人资料页面(适用于所有情况)

  1. 在浏览器中登录你学校的 Moodle

  2. 前往 个人资料 (Profile) → 安全密钥 (Security keys)(网址:https://moodle.yourschool.edu/user/managetoken.php

  3. 找到 Moodle 移动端 Web 服务 (Moodle mobile web service) 令牌并复制它

  4. 在你的 MCP 配置中设置 MOODLE_TOKEN=<token>

选项 B — 用户名 + 密码(非 SSO 学校)

如果你的学校使用常规用户名/密码(而非 Microsoft/Google/SSO),你可以完全跳过令牌步骤:

"env": {
  "MOODLE_URL": "https://moodle.yourschool.edu",
  "MOODLE_USERNAME": "your_username",
  "MOODLE_PASSWORD": "your_password"
}

⚠️ SSO 学校:如果你的学校登录页面重定向到 Microsoft、Google 或其他身份提供商,选项 B 将无法使用。请使用选项 A 或 C。

选项 C — 从 Moodle 移动应用中提取(SSO 学校)

  1. 在手机上安装 Moodle 应用 并使用 SSO 登录

  2. 前往 应用设置 (App settings) → 关于 (About)

  3. 点击版本号 5 次以启用开发者模式

  4. 前往 开发者选项 (Developer options) → 复制令牌 (Copy token) 并复制它

  5. 在选项 A 中将该令牌用作 MOODLE_TOKEN


工具

工具

描述

参数

moodle_get_site_info

学校名称、Moodle 版本、已启用的 API

moodle_list_courses

你选修的所有课程

moodle_get_course

课程中的章节和所有活动

courseId

moodle_list_resources

按课程章节分组的文件和链接

courseId

moodle_list_assignments

按章节分组的带有截止日期的作业

courseId

moodle_get_assignment

提交状态和成绩反馈

assignmentId

moodle_get_grades

包含类别和反馈的完整成绩报告

courseId

moodle_get_calendar_events

各课程的近期事件

courseId?, daysAhead?

moodle_list_quizzes

带有时间限制和开放日期的测验

courseId

moodle_get_quiz_attempts

你过去的尝试成绩和状态

quizId

moodle_list_forums

课程中的论坛活动

courseId

moodle_get_forum_discussions

论坛中的近期讨论

forumId

moodle_get_notifications

近期通知(成绩、反馈、回复)

limit?


提示词

在任何支持提示词的 MCP 客户端(Claude Desktop、带有 Copilot 的 VS Code 等)中使用这些提示词:

提示词

使用场景

示例

summarize-course

按章节组织的完整课程概述

/summarize-course courseId=42

whats-due

本周/下周的优先截止日期

/whats-due/whats-due courseId=42

build-study-notes

从课程材料构建链接的 Obsidian 库

/build-study-notes courseId=42 vaultPath=~/obsidian/finals

exam-prep

基于成绩和测验结果的逐主题学习指南

/exam-prep courseId=42

search-notes

跨所有课程文件的自然语言搜索

/search-notes courseId=42 query="derivatives and limits"


Obsidian 期末备考

只需一条命令,将整个学期的内容转化为链接的知识图谱。

设置

  1. 安装 Obsidian(免费,支持 Mac/Windows/Linux)

  2. 创建一个新库,例如 ~/obsidian/finals

  3. 确保 moodle-mcp 已连接到你的 MCP 客户端

构建库

在 Claude Desktop 中使用 /build-study-notes 提示词:

/build-study-notes courseId=42 vaultPath=~/obsidian/finals

或者直接粘贴此内容给 Claude:

Pull my [Course Name] (course ID 42), read all the lecture notes and slides,
and build a linked Obsidian vault at ~/obsidian/finals — one note per topic,
with [[wikilinks]] between related concepts, a MOC.md index, and tags for each section.

Claude 将会:

  1. 拉取你所有的课程章节、文件、作业和成绩

  2. 通过 MCP 资源协议直接读取每个 PDF 和文档

  3. 为每个章节编写一个 .md 文件,包含关键概念、定义和示例

  4. 在笔记的相关术语之间添加 [[wikilinks]]

  5. 创建一个 MOC.md(内容地图)索引,链接所有内容

查看图谱

  1. 在 Obsidian 中打开该库

  2. 点击 图谱视图 (Graph View)(侧边栏图标或 Cmd+G

  3. 你的整个课程将显示为知识图谱 —— 链接的概念会聚在一起,孤立的主题会突出显示,提醒你需要复习

自然语言搜索

库构建完成后,你可以让 Claude 查找特定内容:

/search-notes courseId=42 query="the central limit theorem and when to use it"

Claude 将搜索你所有的课程材料,找到相关文件,阅读它们,并综合出一个直接的答案。


兼容性

某些工具需要你的 Moodle 管理员启用特定的 Web 服务。运行 moodle_get_site_info 查看你学校的 Moodle 上可以使用哪些工具。

工具

是否必需

备注

moodle_list_courses, moodle_get_course, moodle_list_resources

始终可用

核心 Moodle WS

moodle_list_assignments, moodle_get_assignment

管理员必须启用

mod_assign 服务

moodle_get_grades

管理员必须启用

gradereport_user 服务

moodle_get_calendar_events

通常可用

core_calendar 服务

moodle_list_quizzes, moodle_get_quiz_attempts

管理员可能需要启用

mod_quiz 服务

moodle_get_forum_discussions

管理员可能需要启用

mod_forum 服务

moodle_get_notifications

管理员可能需要启用

message_popup 服务

如果某个工具不可用,它会返回一条有用的消息,解释你的管理员需要启用什么 —— 它不会导致服务器崩溃。


贡献

欢迎提交 Issue 和 PR。对于重大更改,请先开启一个 Issue。

MIT 许可证 — © 2026 Alexandre Ribeiro

-
security - not tested
A
license - permissive license
-
quality - not tested

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

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/1alexandrer/moodle-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server