UMU Skills - AI Skill Framework for UMU Learning Platform
Project description
UMU Skills
UMU Skills 是一个 AI 技能框架,它将 UMU 学习平台的管理操作封装为可供 AI 助手调用的工具。它通过 Model Context Protocol (MCP) 与 Claude、Cursor、Cline 等 AI 客户端集成。
功能特性
- 三角色 MCP 服务器:分别为教师(课程创建、资源管理)、学生(课程报名、学习进度)和管理员(账号管理、数据查询)提供独立的工具集
- 课程构建器:支持创建包含多种环节类型的课程 —— SCORM、视频、文档、文章、信息图、问卷、考试、签到
- 资源上传:SCORM(腾讯云 COS 分片上传)、视频、文档、图片,并支持进度追踪
- 批量操作:多用户课程完成处理,支持并发控制
- 会话管理:多用户会话隔离,支持并发操作
- 类型安全的 SDK:Pydantic 模型、类型化异常、异步优先设计
架构
umu_skills/
├── core/ # SDK 核心 —— HTTP 客户端、认证、加密、模型
├── tools/ # 业务逻辑层(学生 / 教师 / 企业域)
│ ├── student/ # 学生端:报名、进度、考试/测验
│ ├── teacher/ # 教师端:课程创建、资源上传
│ └── admin/ # 管理端:账号管理、数据查询
├── adapters/ # AI 协议适配器
│ └── mcp/ # MCP 服务器(Claude / Cursor / Cline)
└── skills/ # 技能编排层(声明式场景)
设计原则:业务逻辑(tools)与协议适配器(adapters)分离。新增一个 AI 平台只需添加新的适配器即可。
安装
# 基础安装(仅 SDK)
pip install umu-skills
# 带 MCP 服务器支持
pip install umu-skills[mcp]
# 开发环境安装
pip install umu-skills[dev]
快速开始
作为 Python SDK 使用
from umu_sdk import UMUClient
client = UMUClient(base_url="https://www.umu.cn")
client.login("username", "password")
courses = client.courses.list()
for course in courses.data:
print(f"{course.id}: {course.title}")
作为 MCP 服务器使用
# 设置环境变量
export UMU_BASE_URL=https://www.umu.cn
export UMU_TEACHER_USERNAME=your_username
export UMU_TEACHER_PASSWORD=your_password
# 启动 MCP 服务器
umu-skills-teacher
管理员端启动示例:
export UMU_ADMIN_USERNAME=your_admin_username
export UMU_ADMIN_PASSWORD=your_admin_password
umu-skills-admin
在 Claude Code 中配置
添加到你的 Claude Code MCP 配置:
{
"servers": {
"umu-teacher": {
"type": "stdio",
"command": "umu-skills-teacher"
}
}
}
有关 Claude Desktop、VSCode Cline 等客户端的详细配置指南,请参见 docs/README-MCP-SETUP.md。
可用工具
管理员工具(15)
| 分类 | 工具 |
|---|---|
| 认证 | adm_login, adm_check_auth |
| 会话 | adm_create_session, adm_list_sessions, adm_destroy_session |
| 账号 | adm_create_account, adm_list_accounts |
| 账号状态 | adm_enable_account, adm_disable_account, adm_batch_enable_accounts, adm_batch_disable_accounts, adm_get_scheduled_disables |
| 组织架构 | adm_list_departments, adm_list_groups |
| 当前用户 | adm_get_user_info |
教师工具(54)
| 分类 | 工具 |
|---|---|
| 认证 | tch_login, tch_check_auth |
| 会话 | tch_create_session, tch_list_sessions, tch_destroy_session |
| 课程 | tch_create_course, tch_get_course, tch_get_course_detail, tch_update_course |
| 课程列表 | tch_list_created_courses, tch_list_cooperated_courses, tch_list_participated_courses |
| 环节 | tch_create_scorm_section, tch_create_video_section, tch_create_article_section, tch_create_infographic_section, tch_create_document_section, tch_create_survey_section, tch_create_exam_section, tch_create_signin_section |
| 环节修改 | tch_update_scorm_section, tch_update_video_section, tch_update_article_section, tch_update_infographic_section, tch_update_document_section, tch_update_survey_section, tch_update_exam_section, tch_update_signin_section |
| 资源 | tch_upload_scorm, tch_upload_document, tch_upload_audio_video, tch_upload_image |
| 批量 | tch_upload_documents_batch |
学生工具(23)
| 分类 | 工具 |
|---|---|
| 认证 | stu_login, stu_check_auth |
| 会话 | stu_create_session, stu_list_sessions, stu_destroy_session |
| 课程 | stu_get_my_courses, stu_list_participated_courses, stu_get_course_structure, stu_get_learning_progress |
| 学习 | stu_enroll_course, stu_browse_lesson, stu_submit_questionnaire, stu_check_in, stu_start_exam |
| 批量 | stu_batch_import_accounts, stu_batch_complete_course |
开发
# 克隆仓库
git clone https://github.com/your-org/umu-skills.git
cd umu-skills
# 以可编辑模式安装
pip install -e ".[dev,mcp]"
# 运行测试
pytest tests/ -v
# 代码检查
ruff check src/
# 类型检查
mypy src/
项目阶段
| 阶段 | 功能 | 状态 |
|---|---|---|
| 第一阶段 | 核心 SDK + 学生/教师 MCP | ✅ 已完成 |
| 第二阶段 | Admin MCP(账号管理、组织架构、批量操作) | ✅ 已完成 |
| 第三阶段 | 企业域管理 MCP | 🚧 计划中 |
| 第四阶段 | 技能编排层 | 🚧 计划中 |
| 第五阶段 | OpenAPI 适配器(GPTs / Gemini) | 🚧 计划中 |
许可证
MIT 许可证 —— 详见 LICENSE。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file umu_skills-0.3.2.tar.gz.
File metadata
- Download URL: umu_skills-0.3.2.tar.gz
- Upload date:
- Size: 193.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69e513d5857cce460f6db530374edeafff15fc7cc3f23693acf488ceaf2767ae
|
|
| MD5 |
c45f450e76d1ced8edee9843288d9de0
|
|
| BLAKE2b-256 |
6574bb7f7d5e04175f14e48e4cf3f08812d4f5f18261913ddce1deb47599c23f
|
File details
Details for the file umu_skills-0.3.2-py3-none-any.whl.
File metadata
- Download URL: umu_skills-0.3.2-py3-none-any.whl
- Upload date:
- Size: 195.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7974a1b8d2d40d752d52830461f3891b0ebbfca38d64caf179e5481d5f630cef
|
|
| MD5 |
f0b879d4241533dbab8babe7e7e13246
|
|
| BLAKE2b-256 |
cea1e3ae356abd908d135c784b8c8c1b753fe6b82d79d497d1ead759724594f0
|