返回 MCP 目录
public公开dns本地运行

eclass-mcp-server

一个用于与Open eClass平台交互的MCP服务器,支持UoA的SSO认证系统,使AI代理能登录、获取课程信息并执行基本操作。

article

README

🚀 eClass MCP 服务器

eClass MCP 服务器提供了一个独立于官方平台的接口,支持与支持模型上下文协议(MCP)的 AI 代理直接交互,可用于检索 eClass 课程信息等,且确保了凭证处理的安全性。

🚀 快速开始

eClass 是希腊大学网络 (GUnet) 开发和维护的开源学习管理系统,用于希腊学术机构。本项目提供了一个独立于官方平台的接口,并尊重其使用条款和服务条款。

✨ 主要特性

  • AI 集成:支持与支持模型上下文协议(Model Context Protocol, MCP)的 AI 代理(如 Claude 或其他大语言模型(LLMs))直接交互。
  • 课程信息:可以检索课程信息、查看公告、访问材料和提交作业(未来功能)。
  • 安全设计:确保凭证处理的安全性,防止敏感数据泄露。

🔧 技术细节

核心组件

  1. MCP 服务器

    • 在本地运行。
    • 不依赖任何云服务。
    • 通过环境变量存储凭证。
    • 使用随机字符串作为占位符参数。
  2. AI 客户端隔离

    • AI 客户端无法访问真实凭证。
    • 防止凭证被存储或处理在远程服务器。
    • 确保所有操作直接与 eClass 通信。

核心协议

  • 使用环境变量存储配置信息:e_class_host, e_class_username, e_class_password
  • 支持的工具命令:
    • login:初始化会话并获取 CAS 票据。
    • get_courses:返回当前登录用户的所有课程列表。
    • logout:注销当前会话。

安全机制

  • 本地运行:服务器在本地执行,不使用任何云服务。
  • 内存化会话管理:会话 cookie 和状态仅存储在内存中,不会持久化到磁盘。
  • 直接认证:通过大学的 CAS 机制与 eClass 直接通信。

💻 使用示例

基础用法

import asyncio
from eclass_mcp_client import MCPClient, ServerConfig

async def main():
    # 配置服务器参数
    server_config = ServerConfig(
        host="your_e_class_url",
        username="your_username",
        password="your_password"
    )

    async with MCPClient(server_config) as client:
        try:
            # 登录
            login_result = await client.call_tool("login", {"random_string": "dummy"})
            print(login_result)

            # 获取课程列表
            courses_result = await client.call_tool("get_courses", {"random_string": "dummy"})
            print(courses_result)

            # 注销
            logout_result = await client.call_tool("logout", {"random_string": "dummy"})
            print(logout_result)
        except Exception as e:
            print(f"Error occurred: {e}")

if __name__ == "__main__":
    asyncio.run(main())

📚 详细文档

安全注意事项

凭证保护

  • 环境变量存储:凭证仅存放在本地 .env 文件中。
  • 避免明文传输:所有工具使用随机字符串作为占位符,AI 客户端无法获取真实凭证。
  • 物理机隔离:只在受信任的设备上运行。

推荐实践

  • 不要将 .env 文件提交到版本控制中。
  • 及时清理不再使用的服务器实例。
  • 使用强密码策略保护用户账户。

许可证信息

本项目遵循 GNU 通用公共许可证第 3 版(GPLv3),允许免费使用、修改和分发,但必须在重新分发或派生作品中包含原始版权声明。

通过以上介绍,eClass MCP 服务器为开发者提供了一个安全可靠的方式来集成 AI 代理与学习管理系统之间的交互。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端