使用说明
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文件来自.env.example - 假设你有
uv已安装,运行uv add "mcp[cli]"安装MCP CLI工具 - 跑
mcp install main.py -f .env将moodle mcp服务器添加到Claude应用程序
方法2:使用 uvx
转到Claude>设置>开发人员>编辑配置>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 - 使用令牌
Moodle mobile web service在Service列 - 将此令牌添加到您的
.env文件