返回顶部
m

moodle-connector Moodle连接器

Moodle REST API client, batch downloader, and MCP server for Claude Code integration. SSO-enabled with support for Azure AD, Google, and SAML."

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 2.0.0
安全检测
已通过
203
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

moodle-connector

Moodle 连接器

企业级 Moodle REST API 客户端,支持 SSO 认证、批量下载以及适用于 Claude Code 和 OpenCode 的 MCP 协议。

功能特性

完整的 Moodle API 访问

  • - 列出课程、查看成绩、追踪作业
  • 获取资料、截止日期、公告通知
  • 下载文件并支持强力缓存

🆕 企业级 SSO 支持 (v2.0.0)

  • - Azure AD / Entra ID — 完整的 OAuth2 集成
  • Google OAuth — Google Workspace 和个人账户
  • SAML — 通用 SAML 提供商支持
  • 移动端启动流程 — 移动应用无缝 SSO
  • 令牌轮换与自动刷新

多种集成模式

  • - CLI: python moodleconnector.py courses
  • Python 库: from moodleconnector import MoodleConnector
  • MCP 协议: 原生集成 Claude Code、OpenCode
  • 无头模式 — Tampermonkey 辅助脚本,适用于 CI/CD 和自动化

通用批量下载器

  • - JSON 驱动配置(无需修改代码)
  • 适用于任何 Moodle 模块
  • 按课程名称自动整理

安全性

  • - 加密凭据(PBKDF2 + Fernet)
  • 内置令牌管理
  • Git 历史中无秘密信息
  • MIT 许可证
  • 适用于无头环境(兼容 CI/CD)

安装

通过 clawhub install moodle-connector 安装后:

bash
cd ./skills/moodle-connector
pip install -r requirements.txt
playwright install chromium

快速开始

1. 设置 Moodle 令牌

bash
cp config.template.json config.json

使用你的 Moodle 网络服务令牌编辑 config.json

2. 使用 CLI

bash
python moodle_connector.py courses # 列出所有课程
python moodle_connector.py grades # 查看成绩
python moodle_connector.py assignments # 查看作业
python moodle_connector.py materials --course-id 44864
python moodle_connector.py download https://mytimes.taylors.edu.my/... --output myfile.pdf
python moodle_connector.py summary # 完整 Markdown 导出

🆕 SSO 认证 (v2.0.0)

Azure AD / Entra ID

bash

设置环境变量


export MOODLESSOPROVIDER=azure
export MOODLESSOTENANT_ID=your-tenant-id
export MOODLESSOCLIENT_ID=your-client-id
export MOODLESSOCLIENT_SECRET=your-client-secret

使用 SSO 运行

python moodle_connector.py courses

浏览器会自动打开进行登录

Google OAuth

bash
export MOODLESSOPROVIDER=google
export MOODLESSOCLIENT_ID=your-client-id.apps.googleusercontent.com
export MOODLESSOCLIENT_SECRET=your-client-secret

python moodle_connector.py courses

SAML 提供商

bash
export MOODLESSOPROVIDER=saml
export MOODLESSOIDP_URL=https://your-idp.example.com
export MOODLESSOENTITY_ID=your-moodle-entity-id

python moodle_connector.py courses

无头/CI-CD 部署

使用 Tampermonkey 辅助脚本实现自动化工作流:

bash
export MOODLE_HEADLESS=true
export MOODLESSOPROVIDER=azure

令牌会自动保存到 config.json

在 CI/CD 中运行

python moodle_connector.py summary > report.md

3. 使用 Python 库

python
from moodle_connector import MoodleConnector
from pathlib import Path

connector = MoodleConnector(
config_path=Path(config.json),
password=encryption-password
)

courses = connector.courses()
grades = connector.grades()
assignments = connector.assignments()
materials = connector.materials()
deadlines = connector.deadlines()
announcements = connector.announcements()
content = connector.summary()

带缓存的下载

file_content = connector.download(https://...)

4. 批量下载(任意模块)

bash
cp downloads.example.json downloads.json

编辑 downloads.json 添加模块和文件 URL


python batch_downloader.py

输出结构:

downloads/
├── YourModuleName_1/
│ ├── file1.pdf
│ ├── file2.zip
│ └── ...
└── YourModuleName_2/
├── lecture.pdf
└── ...

MCP 集成 (Claude Code / OpenCode)

必需: 在启动 Claude Code 之前设置 MOODLECREDPASSWORD 环境变量。

添加到你的 claudedesktopconfig.json:

json
{
mcpServers: {
moodle-connector: {
command: python,
args: [./skills/moodle-connector/mcp_server.py],
env: {
MOODLECREDPASSWORD: your-encryption-password
}
}
}
}

重要提示: 将 your-encryption-password 替换为你在 config.json 中使用的实际加密密码。

重启 Claude Code。所有 8 个 Moodle 功能现在可作为原生 MCP 工具使用:

  • - courses() — 列出已注册课程
  • grades() — 获取成绩
  • assignments() — 获取作业
  • materials() — 获取课程资料
  • deadlines() — 获取即将到来的截止日期
  • announcements() — 获取课程通知
  • download(url, output?) — 下载文件
  • summary() — 获取完整数据导出

配置

Moodle 令牌 (config.json)

json { moodle: { base_url: https://mytimes.taylors.edu.my, webservicetoken: YOURTOKENHERE }, cache: { apittlseconds: 300 } }

批量下载器 (downloads.json)

json { downloads: [ { module: Machine Learning, course_id: 44864, files: [ { name: Week1.zip, url: https://mytimes.taylors.edu.my/webservice/pluginfile.php/... } ] } ] }

系统要求

  • - Python 3.10+
  • requests ≥2.31.0
  • cryptography ≥41.0.0
  • playwright ≥1.40.0
  • mcp ≥0.1.0(用于 MCP 服务器)

支持的 Moodle 实例

测试环境:

  • - 泰莱大学 (mytimes.tayl

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 moodle-connector-1776263344 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 moodle-connector-1776263344 技能

通过命令行安装

skillhub install moodle-connector-1776263344

下载

⬇ 下载 moodle-connector v2.0.0(免费)

文件大小: 17.57 KB | 发布时间: 2026-4-17 15:26

v2.0.0 最新 2026-4-17 15:26
Major update: SSO Support & Headless Deployment Features. Support for Azure AD, Google OAuth, and SAML. Mobile Launch Flow integration. Tampermonkey helper for CI/CD. Bilingual documentation (English & Spanish).

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部