使用说明
Moodle MCP服务器
用于Moodle Web Service API集成的模型上下文协议(MCP)服务器。
概要
此项目包括:Moodle的,之Web Service API 通讯MCP打开服务器Node.js中所述修改相应参数的值。Moodle各种各样的API访问端点、学科课程信息、用户信息、分配、Analytics API等数据。
机能
核心功能
- 🎓 课程管理:获取学科课程列表、内容和用户注册状态
- 👥 用户管理:用户搜索、创建、更新和删除
- 📝 分配:获取课题列表
- 🏢 站点信息: Moodle获取站点基本信息
- 🔧 通用API调用:任意Moodle Web Service直接调用函数
扩张机能
- 📊 成绩管理:获取成绩,生成报告
- 💬 论坛讨论:管理论坛和讨论
- 📧 消息传递:消息收发、通知管理
- 📁 文件管理:上载和检索文件
- 📈 分析API:集成预测模型、网站和机器学习
- 🎯 小测验:管理测验,跟踪尝试
- 📚 参考模型: SCORM管理和跟踪包
- 👥 科霍特:管理用户组
- 🏷️ 标记系统:管理和搜索标记
- 📝 网易博客:管理博客条目
- 🔐 角色管理:角色分配和权限管理
分析API機能 (穆迪分析API対応)
- 管理预测模型(创建、培训和评估)
- 网站获取和管理
- 设置指示器和目标
- 管理时间分割方法
- 模型统计信息和报告
必要条件
- Node.js 18大于或等于Docker
- Moodle网站缩略图Web Services已启用
- 已启用Web Service Token
安装
Option 1: Docker 使用(推荐)
Docker Hub执行
# Docker Hubから最新版をプル
docker pull shinonomelaboratory/moodle-mcp:latest
# 環境変数を設定して実行
docker run -it --rm \
-e MOODLE_SITE_URL=https://your-moodle-site.com \
-e MOODLE_WS_TOKEN=your-webservice-token \
shinonomelaboratory/moodle-mcp:latest
Docker Compose使用
# リポジトリをクローン
git clone https://github.com/yourusername/moodle-mcp.git
cd moodle-mcp
# 環境変数を設定
cp env.example .env
# .envファイルを編集
# Docker Composeで起動
docker-compose up -d
Option 2: 在本地环境中安装
# リポジトリをクローン
git clone https://github.com/yourusername/moodle-mcp.git
cd moodle-mcp
# 依存関係をインストール
npm install
# ビルド
npm run build
设定
env.example打开.env复制到:
cp env.example .env
.env编辑文件,然后单击Moodle的设置:
MOODLE_SITE_URL=https://your-moodle-site.com
MOODLE_WS_TOKEN=your-webservice-token
使用方法
Docker环境
# Docker Composeで起動
docker-compose up -d
# ログを確認
docker-compose logs -f moodle-mcp
# 停止
docker-compose down
本地环境
开发模式
npm run dev
生产模式
npm run build
npm start
MCP客户端连接
Docker对于环境
{
"mcpServers": {
"moodle": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "MOODLE_SITE_URL=https://your-moodle-site.com",
"-e", "MOODLE_WS_TOKEN=your-token",
"shinonomelaboratory/moodle-mcp:latest"
]
}
}
}
对于本地环境
{
"mcpServers": {
"moodle": {
"command": "node",
"args": ["/path/to/moodle-mcp/dist/index.js"],
"env": {
"MOODLE_SITE_URL": "https://your-moodle-site.com",
"MOODLE_WS_TOKEN": "your-token"
}
}
}
}
可用工具
基本工具
get_site_info
Moodle获取站点的基本信息。
get_users
搜索用户以获取信息。
searchKey: 検索キー (用户名、电子邮件、名字、姓氏)searchValue: 検索値
get_courses
获取学科课程列表。
ids:学科课程ID数组(可选)
get_user_courses
获取特定用户的学科课程列表。
userId:用户ID
get_course_contents
获取学科课程的内容和模块。
courseId:学科课程ID
get_assignments
获取分配(挑战)。
courseIds:学科课程ID数组(可选)
扩展工具
get_grades
取得成绩。
courseId:学科课程IDcomponent:组件名称(可选)activityId:活动ID(可选)userIds:用户ID数组(可选)
get_forums
获取论坛。
courseIds:学科课程ID数组(可选)
get_categories
获取学科课程类别。
criteria:搜索条件(可选)addSubcategories包括子类别
Analytics API 工具
analytics_get_models
Analytics获取预测模型。
includeDisabled:包括无效的模型
analytics_get_insights
Analytics获取插件。
modelId:模型ID(可选)contextId:上下文ID(可选)userId:用户ID(可选)status:插件状态
analytics_train_model
Analytics训练模型。
modelId:模型ID
analytics_predict_model
Analytics从模型获取预测。
modelId:模型ID
call_function
任意Moodle Web Service函数。
functionName: 関数名params:参数(可选)
通过使用该通用工具Moodle Web Service API来修改标记元素的显示属性。
开発
脚本,脚本
npm run build- TypeScript编译npm run dev-在开发模式下运行(热重载)npm run lint- ESLint检查代码npm run format- Prettier格式化代码npm test-运行测试
Docker开発环境
# 開発用イメージをビルド
docker build -t moodle-mcp:dev .
# 開発コンテナーを起動
docker run -it --rm \
-v $(pwd):/app \
-e MOODLE_SITE_URL=https://your-moodle-site.com \
-e MOODLE_WS_TOKEN=your-token \
moodle-mcp:dev
体系结构
项目具有以下结构:
src/
├── index.ts # MCPサーバーのエントリーポイント
├── services/
│ └── moodleClient.ts # Moodle API通信クライアント
├── handlers/
│ ├── extendedHandlers.ts # 拡張API機能
│ ├── analyticsHandlers.ts # Analytics API
│ └── comprehensiveHandlers.ts # 包括的なAPI機能
└── types/
├── moodle.ts # 基本的なMoodle型定義
└── analytics.ts # Analytics API型定義
Docker Hub
单击功能区上Docker印象是Docker Hub中所述修改相应参数的值。
可用标签:
latest-最新稳定版v1.0.0,v1.0,v1-特定版本main-开发版本(main分支)
# 最新版を取得
docker pull shinonomelaboratory/moodle-mcp:latest
# 特定のバージョンを取得
docker pull shinonomelaboratory/moodle-mcp:v1.0.0