关于 Moodle-MCP
Moodle-MCP 是一个 MCP 服务,通过 Moodle 网络服务接口读取课程、作业、成绩和截止日期等数据。它面向需要在 AI 助手中查看 Moodle 学习信息的学生,提供单项查询与汇总视图。
主要功能
- 01查询课程、课程内容和课程公告
- 02查看作业、提交状态和即将到期的截止日期
- 03汇总成绩与课程进度
- 04分析每周作业分布与任务优先级
- 05按自然语言问题路由到相应数据源
适用场景
- 01让 AI 助手列出未提交的逾期作业
- 02生成每日或每周的学习概览
- 03在课程资料中搜索与某项作业相关的内容
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露课程、作业、成绩和汇总查询等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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(推荐)
- 根据
.env.example创建自己的.env文件 - 假设已安装
uv,运行uv add "mcp[cli]"安装 MCP CLI 工具 - 运行
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 令牌
- 前往 Moodle 令牌管理页面:
https://{your-moodle-url}/user/managetoken.php - 使用
Service列中对应Moodle mobile web service的令牌 - 将此令牌添加到
.env文件
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
