eClass平台交互服务器

一个用于与Open eClass平台交互的MCP服务器,支持UoA的SSO认证,提供课程检索、会话管理等功能。

  • by sdi2200262
  • Python
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 sdi2200262/eclass-mcp-server

使用说明

eClass MCP服务器

MCP服务器,用于与 打开eClass 平台,支持UoA的SSO身份验证。

特性

  • SSO身份验证:通过UoA的CAS SSO系统登录
  • 课程检索:获取已注册课程列表
  • 会话管理:工具调用之间的持续会话
  • 状态检查:验证身份验证状态

快速开始

先决条件

安装

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 -这确保了凭证处理的透明度。

致谢