README
🚀 StudentVue Monorepo
StudentVue Monorepo是一个全面的StudentVue API实现方案,它提供了Rust库和模型上下文协议(MCP)服务器。通过原生Rust或人工智能驱动的应用程序,你可以访问学生信息、成绩、考勤、消息等内容。
🚀 快速开始
Rust API
cd packages/studentvue-api
cargo build --release
将以下内容添加到你的Cargo.toml文件中:
[dependencies]
studenvue = "0.1.0"
tokio = { version = "1.35", features = ["full"] }
基础用法
use studenvue::{StudentVueClient, Result};
#[tokio::main]
async fn main() -> Result<()> {
let client = StudentVueClient::new(portal, username, password);
let info = client.get_student_info().await?;
println!("Student: {} (Grade {})", info.name, info.grade);
Ok(())
}
MCP Server
为Cursor快速安装
手动安装
cd packages/studentvue-mcp
bun install
bun run build
完整的安装说明,请查看 packages/studentvue-mcp/INSTALL.md,适用于Claude Desktop、Cursor和其他MCP客户端。
✨ 主要特性
包介绍
StudentVue Rust API
一个类型安全的Rust客户端库,用于访问StudentVue的SOAP API。
- 位置:
packages/studentvue-api/ - 特性:
- 类型安全的数据模型,具备完善的错误处理机制。
- 通过Tokio运行时支持异步/等待操作。
- 自动构建SOAP信封并解析XML数据。
- 超过15个完全实现的API端点。
- 经过全面测试,可用于生产环境。
StudentVue MCP Server
一个模型上下文协议服务器,使Claude等人工智能应用程序能够访问StudentVue数据。
- 位置:
packages/studentvue-mcp/ - 特性:
- 超过15个StudentVue API端点以MCP工具的形式暴露。
- 使用官方MCP TypeScript SDK构建。
- 可与Claude Desktop和其他MCP客户端无缝集成。
- 通过环境变量安全处理凭证信息。
📦 可用的API方法
两个包都提供对以下StudentVue功能的访问:
学生信息
- 获取学生档案(姓名、年级、学校、联系信息)
- 获取学校信息(校长、地址、电话)
学业记录
- 获取成绩册(成绩、作业、课程信息)
- 获取课程表(上课时段、教师、教室)
- 获取日历事件
- 获取作业笔记(取决于学区)
考勤
- 获取考勤记录(缺勤、迟到、原因)
沟通
- 获取教师/管理员的消息
- 将消息标记为已读
文档
- 列出可用文档
- 下载特定文档
- 列出并下载成绩单
健康记录
- 获取学生健康信息(健康状况、就诊记录、免疫接种情况)
实用工具
- 通过邮政编码搜索学区
🔧 开发
工作区命令
make build # 构建所有包
make test # 运行所有测试
make format # 格式化所有代码
make lint # 运行所有代码检查工具
make typecheck # 运行类型检查
make quality-gates # 运行所有质量检查
make clean # 清理构建产物
make install # 安装依赖项
按包开发
Rust API
cd packages/studentvue-api
cargo build && cargo test
MCP Server
cd packages/studentvue-mcp
bun install && bun run build && bun test
📚 项目结构
studentvue/
├── packages/
│ ├── studentvue-api/ # Rust API库
│ │ ├── src/ # 源代码
│ │ ├── tests/ # 集成测试
│ │ └── examples/ # 使用示例
│ └── studentvue-mcp/ # MCP服务器
│ ├── src/ # TypeScript源代码
│ └── dist/ # 构建产物
├── docs/ # 文档
├── Cargo.toml # Rust工作区配置
├── Makefile # 构建自动化
└── README.md # 本文件
📦 配置
两个包都需要通过环境变量提供StudentVue凭证:
STUDENTVUE_PORTAL=https://your-district.edupoint.com
STUDENTVUE_USERNAME=your_username
STUDENTVUE_PASSWORD=your_password
⚠️ 重要提示
切勿将凭证信息提交到版本控制系统。请始终使用环境变量或
.env文件(默认已添加到.gitignore)。
📚 文档
- Monorepo指南 - 如何使用此monorepo
- 贡献指南 - 开发工作流程和标准
- Rust API文档
- MCP服务器文档
- MCP协议文档
🧪 测试
两个包都包含全面的测试套件:
cd packages/studentvue-api && cargo test
cd packages/studentvue-mcp && bun test
在运行测试之前,请在.env文件中设置测试凭证。
🤝 贡献
欢迎贡献代码。详情请参阅我们的 贡献指南。 所有贡献必须满足以下条件:
- 代码格式正确(Rust使用rustfmt,TypeScript使用Prettier)
- 通过所有代码检查(Rust使用clippy,TypeScript使用ESLint)
- 通过所有测试
- 为新功能添加测试
📋 使用场景
开发者(Rust API)
- 构建自定义的StudentVue集成
- 创建具有原生性能的移动应用
- 自动化成绩监控和通知
- 与学校管理系统集成
人工智能应用程序(MCP服务器)
- 使Claude能够回答有关成绩的问题
- 获取考勤的自然语言摘要
- 查询即将到来的作业和事件
- 检索并解释成绩单
📄 许可证
本项目采用MIT许可证。
🙏 致谢
本项目基于社区对StudentVue SOAP API的逆向工程和文档。
Scan to join WeChat group