README
🚀 eClass 模型上下文协议 (MCP) 服务器
eClass MCP 服务器是一款本地运行的工具,它能让 AI 代理(如 Claude 或其他大语言模型)直接与希腊大学所用的 Open eClass 学习管理系统进行交互。该服务器通过模拟浏览器行为,利用大学提供的用户名和密码登录 eClass,为 AI 提供所需信息。
🚀 快速开始
eClass MCP 服务器可让 AI 代理与 Open eClass 学习管理系统交互。以下是使用该服务器的基本步骤:
- 按照安装指南完成服务器的安装和配置。
- 参考使用说明中的示例代码,实现与服务器的交互。
✨ 主要特性
- 本地运行:完全在用户电脑上运行,不依赖任何云服务。
- 安全设计:采用严格的 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 分析学习材料。
- 智能提醒:根据日历自动发送通知。
- 社区支持:集成论坛和讨论组。
🔧 技术细节
核心原则
- 最小权限:所有操作都在本地进行,不上传任何数据到服务器。
- 安全审计:源代码经过严格的安全审查。
- 隐私保护:用户信息仅在本地使用,不会被传输或存储。
使用建议
⚠️ 重要提示
建议在虚拟环境中运行,并定期更换密码以处理密码泄露风险。
💡 使用建议
- 在虚拟机或容器中运行 MCP Server,实现环境隔离。
- 及时安装最新版本以获取安全性改进。
- 关注异常活动和错误信息,监控日志。
📄 许可证
本项目采用 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。
微信扫一扫