eClass MCP服务器
MCP服务器,用于与 打开eClass 平台,支持UoA的SSO身份验证。
特性
- SSO身份验证:通过UoA的CAS SSO系统登录
- 课程检索:获取已注册课程列表
- 会话管理:工具调用之间的持续会话
- 状态检查:验证身份验证状态
快速开始
先决条件
- Python 3.10+
- 紫外线 (推荐)或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.serverMCP客户端配置
要将此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
