关于 eClass MCP Server
eClass MCP Server 将 MCP 客户端连接到 Open eClass,支持 UoA CAS SSO 登录和已选课程查询。它在工具调用间维持会话,并将凭据保存在本地,不作为工具参数传递。
主要功能
- 01通过 UoA CAS SSO 认证
- 02获取已选课程
- 03在工具调用间维持会话
- 04检查认证状态
- 05退出会话
适用场景
- 01使用 UoA 凭据登录 Open eClass
- 02查看已选课程
- 03检查或结束当前会话
MCP 相关
向兼容 MCP 的客户端提供登录、课程查询、退出和认证状态检查工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
eClass MCP 服务
一个用于与 Open eClass 平台交互的 MCP 服务,支持 UoA 的 SSO 身份验证。
功能
- SSO 身份验证:通过 UoA 的 CAS SSO 系统登录
- 课程检索:获取已选课程列表
- 会话管理:在工具调用之间保持会话
- 状态检查:验证身份验证状态
快速开始
前置条件
- Python 3.10+
- uv(推荐)或 pip
安装
git clone https://github.com/sdi2200262/eclass-mcp-server.git
cd eclass-mcp-server
uv sync --dev --all-extras
配置
创建 .env 文件(或复制 example.env):
ECLASS_USERNAME=your_username
ECLASS_PASSWORD=your_password
可选设置:
ECLASS_URL=https://eclass.uoa.gr # Default
ECLASS_SSO_DOMAIN=sso.uoa.gr # Default
ECLASS_SSO_PROTOCOL=https # Default
运行
# Using the entry point script
python run_server.py
# Or as a module
python -m src.eclass_mcp_server.server
MCP 客户端配置
若要将此 MCP 服务与 Claude Desktop、VS Code、Cursor 或任何兼容 MCP 的客户端配合使用,请配置客户端以运行:
python3 /absolute/path/to/eclass-mcp-server/run_server.py
在客户端的 MCP 配置中设置以下环境变量:
{
"env": {
"ECLASS_USERNAME": "your_username",
"ECLASS_PASSWORD": "your_password"
}
}
可选环境变量:
ECLASS_URL- OpenEclass 实例 URL(默认值:https://eclass.uoa.gr)ECLASS_SSO_DOMAIN- SSO 域(默认值:sso.uoa.gr)ECLASS_SSO_PROTOCOL- SSO 协议(默认值:https)
请参阅相应客户端的文档,了解如何在配置中添加 MCP 服务。
可用工具
| 工具 | 描述 |
|---|---|
login | 使用 .env 中的凭据进行身份验证 |
get_courses | 获取已选课程(需要先登录) |
logout | 结束当前会话 |
authstatus | 检查身份验证状态 |
所有工具都使用虚设的 random_string 参数(MCP 协议要求)。
独立客户端
此项目还包含一个独立客户端,可用于非 MCP 场景:
python eclass_client.py
此客户端展示了核心功能,无需集成 MCP。详情请参阅 docs/architecture.md。
文档
项目结构
eclass-mcp-server/
├── run_server.py # Entry point
├── eclass_client.py # Standalone client (non-MCP)
├── src/eclass_mcp_server/ # Main package
│ ├── server.py # MCP server and tool handlers
│ ├── authentication.py # SSO authentication
│ ├── course_management.py # Course operations
│ └── html_parsing.py # HTML parsing utilities
└── docs/ # Documentation
安全
- 凭据仅存储在本地的
.env文件中 - 凭据不会作为工具参数传递(防止 AI 提供商获取)
- 会话仅保存在内存中
- 不使用云服务或远程存储
许可证
GNU GPL v3.0 - 这确保了凭据处理过程的透明性。
致谢
- 感谢 GUnet 提供 Open eClass 平台
- 本项目是独立接口,与 GUnet 无关
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。