EClass MCP Server

EClass MCP Server

🚀 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。

  • 0 关注
  • 0 收藏,12 浏览
  • system 提出于 2025-09-29 22:00

相似服务问题