Moodle AI连接服务

一个连接Claude、ChatGPT、Google Gemini等AI模型与Moodle LMS实例的服务器和REST API,支持学生通过AI查看课程、检查成绩、跟踪截止日期、提交作业和阅读通知。

  • by Jawadh-Salih
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 Jawadh-Salih/moodle-mcp-server

使用说明

Moodle MCP服务器

A. 模型上下文协议(MCP) 服务器+连接的REST API Claude、ChatGPT、谷歌Gemini和任何人工智能模型 任何Moodle LMS实例。内置Go。

学生可以通过他们最喜欢的人工智能与他们的Moodle帐户进行交互——查看课程、检查成绩、跟踪截止日期、提交作业和阅读通知。

适用于:

  • ✅ 克劳德 (桌面,代码)-通过MCP(最简单!)
  • ✅ ChatGPT (Plus)-通过REST API+操作
  • ✅ 谷歌双子座 -通过REST API+应用程序脚本
  • ✅ 任何AI -通过REST API(HTTP端点)

特性

工具 说明
login 通过您的Moodle网站进行交互式身份验证
get_site_info 查看Moodle网站和用户信息
get_user_profile 查看您的个人资料详细信息
list_courses 列出所有已注册的课程
get_course_contents 查看部分、资源和活动
get_course_details 查看课程元数据
get_grades 查看特定课程的成绩
get_grades_overview 查看所有课程的成绩摘要
get_assignments 查看课程作业
get_upcoming_assignments 查看所有课程即将完成的作业
submit_assignment 提交作业的文本内容
get_calendar_events 查看即将到来的日历事件
get_upcoming_deadlines 查看按紧急程度排序的合并截止日期
get_notifications 查看消息和通知

需求

  • 克劳德桌面(macOS、Windows或Linux)
  • 任何机构的Moodle账户

快速开始

选择您的AI平台:

你的AI 指南 时间
🤖 克劳德 (推荐) 视窗 / macOS 2分钟
💬 ChatGPT ChatGPT设置 15分钟
🔍 谷歌双子座 Gemini设置 / Gemini视窗 20分钟
🌐 多个AI 所有型号指南 1小时

从这里开始: 如果您使用Claude,请按照上面的Windows/macOS指南进行操作(2分钟!)

不是程序员? 所有指南都有分步说明,不需要技术知识。


安装(最简单)

适用于Windows(PowerShell)

打开PowerShell并运行:

irm https://raw.githubusercontent.com/Jawadh-Salih/moodle-mcp-server/main/install.ps1 | iex

这将自动下载并安装二进制文件到 C:\Users\YourName\moodle-mcp\moodle-mcp.exe

适用于macOS/Linux(Bash)

打开终端并运行:

curl -fsSL https://raw.githubusercontent.com/Jawadh-Salih/moodle-mcp-server/main/install.sh | bash

这将自动下载并安装二进制文件到 ~/.moodle-mcp/moodle-mcp

手动安装(适用于开发人员)

如果你想从源代码构建:

# Clone the repository
git clone https://github.com/Jawadh-Salih/moodle-mcp-server.git
cd moodle-mcp-server

# Build the binary
go mod tidy
go build -o moodle-mcp ./cmd/moodle-mcp/

用法

选项1:交互式登录(推荐)

无需配置即可启动服务器。与Claude聊天时,请使用 login 验证工具:

“登录我的Moodlehttps://online.uom.lk使用用户名student@uom.lk"

克劳德会询问您的密码并验证您的身份。

选项2:环境变量

将凭据设置为自动登录的环境变量:

export MOODLE_URL=https://online.uom.lk
export MOODLE_USERNAME=your-username
export MOODLE_PASSWORD=your-password

或者,如果您有Moodle API令牌:

export MOODLE_URL=https://online.uom.lk
export MOODLE_TOKEN=your-api-token

Claude桌面配置

如果您使用了自动安装程序:

安装程序将向您显示确切的路径。只需复制它!

手动配置

查找您的Claude Desktop配置文件:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

选项A:交互式登录(推荐-配置中没有凭据)

{
  "mcpServers": {
    "moodle": {
      "command": "/path/to/moodle-mcp"
    }
  }
}

然后在Claude中,使用 login 交互式身份验证工具。

选项B:存储凭据

{
  "mcpServers": {
    "moodle": {
      "command": "/path/to/moodle-mcp",
      "env": {
        "MOODLE_URL": "https://online.uom.lk",
        "MOODLE_USERNAME": "your-username",
        "MOODLE_PASSWORD": "your-password"
      }
    }
  }
}

Windows示例路径:

  • 自动安装程序: C:\Users\YourName\moodle-mcp\moodle-mcp.exe
  • 手动构建: C:\Users\YourName\Go\bin\moodle-mcp.exe

macOS示例路径:

  • 自动安装程序: /Users/yourname/.moodle-mcp/moodle-mcp
  • 手动构建: /Users/yourname/moodle-mcp-server/moodle-mcp

支持多种AI平台

通过MCP(仅限克劳德)

  • ✅ 克劳德桌面(macOS、Windows、Linux)
  • ✅ 克劳德代码(VSCode,终端)

通过REST API(ChatGPT,Gemini,任何AI)

  • ✅ ChatGPT(具有自定义GPT操作)
  • ✅ 谷歌双子座(带应用程序脚本)
  • ✅ 任何具有HTTP客户端访问权限的AI
  • ✅ 自定义脚本和集成

看 所有型号设置 了解每个平台的详细说明。

运行REST API服务器

对于ChatGPT、Gemini或其他AI模型,运行REST API模式:

# Start REST API server
go run ./cmd/moodle-mcp/ -mode rest -port 8080

# Or if you built the binary:
./moodle-mcp -mode rest -port 8080

# View API docs
curl http://localhost:8080/api/docs

服务器正在监听 http://localhost:8080 并公开REST端点:

  • POST /api/login -身份验证
  • GET /api/courses -列出课程
  • GET /api/grades?course_id=123 -获取成绩
  • GET /api/assignments/upcoming -即将到来的任务
  • 还有更多!

对于生产环境(ChatGPT/Gemini),部署到云端:


对话示例

连接后,您可以问Claude以下问题:

  • “显示我注册的课程”
  • “我在CS101的成绩如何?”
  • “本周有什么作业要交?”
  • “显示我的数据结构课程的内容”
  • “我有任何未读通知吗?”
  • “未来7天的最后期限是什么?”

运作原理

此服务器使用Moodle的 Web服务REST API 随着 moodle_mobile_app 服务令牌。默认情况下,大多数Moodle安装都启用了此服务,因此不需要管理员设置。

故障排除

“无效登录”错误: 仔细检查您的用户名和密码。一些机构使用电子邮件作为用户名,另一些机构使用单独的ID。

“Web服务不可用”错误: 您的Moodle管理员可能已禁用移动web服务。请他们在下面启用它 网站管理>插件>Web服务>移动端.

未显示的成绩: API等级报告要求 gradereport/user:view 能力,这是学生的标准,但在某些网站上可能会受到限制。

许可证

麻省理工学院