mcpField
E
eClass MCP Server

eClass MCP Server

本地服务
github.com/sdi2200262科研与教育826 周前更新

关于 eClass MCP Server

eClass MCP Server 将 MCP 客户端连接到 Open eClass,支持 UoA CAS SSO 登录和已选课程查询。它在工具调用间维持会话,并将凭据保存在本地,不作为工具参数传递。

主要功能

  1. 01通过 UoA CAS SSO 认证
  2. 02获取已选课程
  3. 03在工具调用间维持会话
  4. 04检查认证状态
  5. 05退出会话

适用场景

  1. 01使用 UoA 凭据登录 Open eClass
  2. 02查看已选课程
  3. 03检查或结束当前会话

MCP 相关

向兼容 MCP 的客户端提供登录、课程查询、退出和认证状态检查工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

eClass MCP 服务

一个用于与 Open eClass 平台交互的 MCP 服务,支持 UoA 的 SSO 身份验证。

MCP 协议 许可证:GPL v3 Python:3.10+

使用示例

功能

  • 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 - 这确保了凭据处理过程的透明性。

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。