mcpField
M
Moodle-MCP

Moodle-MCP

本地服务
github.com/loyaniu科研与教育5217 周前更新

关于 Moodle-MCP

Moodle-MCP 是一个 MCP 服务,通过 Moodle 网络服务接口读取课程、作业、成绩和截止日期等数据。它面向需要在 AI 助手中查看 Moodle 学习信息的学生,提供单项查询与汇总视图。

主要功能

  1. 01查询课程、课程内容和课程公告
  2. 02查看作业、提交状态和即将到期的截止日期
  3. 03汇总成绩与课程进度
  4. 04分析每周作业分布与任务优先级
  5. 05按自然语言问题路由到相应数据源

适用场景

  1. 01让 AI 助手列出未提交的逾期作业
  2. 02生成每日或每周的学习概览
  3. 03在课程资料中搜索与某项作业相关的内容

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露课程、作业、成绩和汇总查询等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"moodle": {
"command": "uvx",
"args": [
"moodle-mcp"
],
"env": {
"MOODLE_URL": "<MOODLE_URL>",
"MOODLE_TOKEN": "<MOODLE_TOKEN>"
}
}
}
}
启动命令uvx moodle-mcp
需要配置的环境变量
MOODLE_URL
MOODLE_TOKEN密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimoodle-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MseeP.ai Security Assessment Badge

Moodle-MCP

一种模型上下文协议(MCP)服务实现,提供与 Moodle LMS 交互的功能。

功能

该服务提供以下工具。

课程与内容
工具描述
get_my_courses获取当前用户选修的所有课程
get_course_content根据课程 ID 获取指定课程的章节和模块
search_course_materials根据查询字符串搜索所有课程资料
get_course_announcements获取课程新闻论坛中的公告,可按课程 ID 筛选
get_recent_activity获取自指定时间以来各课程的近期活动和更新
作业与截止日期
工具描述
get_assignments获取课程作业,可按课程 ID 筛选
get_assignment_status获取指定作业的提交和评分状态
get_upcoming_deadlines获取所有课程即将到期的作业,并按截止日期排序
get_overdue_assignments获取已过截止日期但尚未提交的作业,逾期最久的排在前面
get_actionable_tasks获取按紧急程度排序的待处理任务优先级列表
analyze_assignment分析作业:状态、要求、资料、进度和截止日期
extract_assignment_requirements提取作业的要求、交付物、限制条件和评估标准
find_relevant_materials查找与作业相关的课程内容,并按相关性排序
decompose_task将作业拆分为子任务,并列出所需精力、依赖关系和关键路径
create_implementation_plan制定分步骤计划,包含时间线、资源、里程碑和风险
成绩与进度
工具描述
get_grades获取所有课程的成绩概览,或某门课程的详细成绩
get_course_progress获取一门或所有课程的进度和完成情况
get_course_health检查课程状况:进度、成绩、未提交和逾期数量
get_study_load按周分析作业分布,以识别任务繁重的周
汇总概览
工具描述
get_upcoming_events获取 Moodle 中的近期活动
semester_dashboard汇总课程、近期截止日期和成绩
daily_briefing每日摘要,包含逾期数量、今日截止事项、近期成绩、活动和任务
weekly_review每周摘要,包含已提交/已评分数量、截止事项、逾期数量和进度
ask_moodle用自然语言提问,并将问题路由到合适的数据源

API 参考

有关可用的 Moodle API 函数,请参阅官方文档。

设置说明

方法 1:使用 mcp CLI(推荐)
  1. 根据 .env.example 创建自己的 .env 文件
  2. 假设已安装 uv,运行 uv add "mcp[cli]" 安装 MCP CLI 工具
  3. 运行 mcp install main.py -f .env,将 moodle-mcp 服务添加到 Claude 应用
方法 2:使用 uvx

前往 Claude > Settings > Developer > Edit Config > claude_desktop_config.json,并添加以下内容

{
  "mcpServers": {
    "moodle-mcp": {
      "command": "uvx",
      "args": ["moodle-mcp"],
      "env": {
        "MOODLE_URL": "https://{your-moodle-url}/webservice/rest/server.php",
        "MOODLE_TOKEN": "{your-moodle-token}"
      }
    }
  }
}

身份验证

获取 Moodle 令牌
  1. 前往 Moodle 令牌管理页面:https://{your-moodle-url}/user/managetoken.php
  2. 使用 Service 列中对应 Moodle mobile web service 的令牌
  3. 将此令牌添加到 .env 文件

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。