← Back to MCP directory
publicPublicdnsLocal runtime

eClass-MCP-Server

该项目是一个基于MCP协议的Open eClass平台交互服务器,支持雅典大学的SSO认证系统,提供课程管理、会话维护等功能,使AI代理能够安全地与eClass平台交互。

article

README

🚀 eClass 模型上下文协议 (MCP) 服务器

eClass MCP 服务器是一款本地运行的工具,它能让 AI 代理(如 Claude 或其他大语言模型)直接与希腊大学所用的 Open eClass 学习管理系统进行交互。该服务器通过模拟浏览器行为,利用大学提供的用户名和密码登录 eClass,为 AI 提供所需信息。

🚀 快速开始

eClass MCP 服务器可让 AI 代理与 Open eClass 学习管理系统交互。以下是使用该服务器的基本步骤:

  1. 按照安装指南完成服务器的安装和配置。
  2. 参考使用说明中的示例代码,实现与服务器的交互。

✨ 主要特性

  • 本地运行:完全在用户电脑上运行,不依赖任何云服务。
  • 安全设计:采用严格的 credential handling 策略,确保数据安全。
  • 高性能:使用异步 IO 实现高效的网络通信。
  • 模块化架构:易于扩展和维护。

📦 安装指南

环境要求

  • 操作系统:Linux/Windows/MacOS
  • Python 版本:3.8+

安装步骤

git clone https://github.com/your-organization/eClass-MCP-Server.git
cd eClass-MCP-Server
pip install -r requirements.txt

配置环境变量

创建 .env 文件:

ECLASS_USERNAME=your_username
ECLASS_PASSWORD=your_password

启动服务器

python -m eclass_mcp_server.run_server

💻 使用示例

基础用法

import asyncio
from eclass_mcp_client import MCPClient

async def main():
    async with MCPClient() as client:
        # 登录
        login_response = await client.login({"random_string": "dummy"})
        print(login_response)
        
        # 获取课程
        courses_response = await client.get_courses({"random_string": "dummy"})
        print(courses_response)
        
        # 退出
        logout_response = await client.logout({"random_string": "dummy"})
        print(logout_response)

asyncio.run(main())

📚 详细文档

核心功能

  • 用户认证:支持 SAML 和 CAS 协议的单点登录。
  • 课程管理:获取选修课程信息和成绩。
  • 公告板集成:查看课程公告。
  • 资源访问:下载课程材料和笔记。
  • 作业提交:(未来功能) 提交在线作业。

可扩展功能

  • 自动化学习流程:使用 AI 分析学习材料。
  • 智能提醒:根据日历自动发送通知。
  • 社区支持:集成论坛和讨论组。

🔧 技术细节

核心原则

  • 最小权限:所有操作都在本地进行,不上传任何数据到服务器。
  • 安全审计:源代码经过严格的安全审查。
  • 隐私保护:用户信息仅在本地使用,不会被传输或存储。

使用建议

⚠️ 重要提示

建议在虚拟环境中运行,并定期更换密码以处理密码泄露风险。

💡 使用建议

  1. 在虚拟机或容器中运行 MCP Server,实现环境隔离。
  2. 及时安装最新版本以获取安全性改进。
  3. 关注异常活动和错误信息,监控日志。

📄 许可证

本项目采用 GPL - 3.0 协议,更多信息请查看 LICENSE 文件。

贡献指南

欢迎社区贡献!请参考 CONTRIBUTING.md 文档了解如何参与开发。我们期待你的加入!

附录

1. FAQ

Q:如何处理密码泄露风险?
A:建议在虚拟环境中运行,并定期更换密码。

Q:支持多线程吗?
A:当前版本支持单线程,未来计划加入多线程优化。

2. 开发文档

  • API 文档:docs/api.md
  • 设计文档:docs/design.md

欢迎使用 eClass MCP Server!如有问题,请联系 support@your-organization.com。

READY-TO-PASTE CONFIG

MCP client config generator

Choose your client, fill the required environment variables, then copy a config generated from this server's published metadata

terminal
data_object

This entry does not contain a standard command or remote URL, so a safe client config cannot be generated automatically

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client