学生信息系统API

一个全面的StudentVue API实现,提供Rust库和MCP服务器,用于访问学生信息、成绩、考勤等数据。

  • by plyght
  • Rust
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 plyght/studentvue

使用说明

StudentVie Monorepo

一个全面的StudentVue API实现,提供Rust库和模型上下文协议(MCP)服务器。通过原生Rust或AI驱动的应用程序访问学生信息、成绩、出勤率、消息等。

包裹

StudentVue锈蚀API

StudentVue SOAP API的类型安全Rust客户端库。

地点: packages/studentvue-api/

特征:

  • 具有适当错误处理的类型安全数据模型
  • 通过Tokio运行时支持异步/等待
  • 自动SOAP信封构造和XML解析
  • 15个以上完全实现的API端点
  • 生产就绪,全面测试覆盖

StudentVue MCP服务器

一个模型上下文协议服务器,使克劳德等人工智能应用程序能够访问StudentVue数据。

地点: packages/studentvue-mcp/

特征:

  • 15个以上StudentVue API端点暴露为MCP工具
  • 使用官方MCP TypeScript SDK构建
  • 与Claude Desktop和其他MCP客户端无缝集成
  • 通过环境变量实现安全的凭证处理

快速开始

锈蚀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服务器

Cursor的快速安装

手动安装

cd packages/studentvue-mcp
bun install
bun run build

看 软件包/studentvue mcp/INSTALL.md 有关Claude Desktop、Cursor和其他MCP客户端的完整安装说明。

可用的API方法

这两个软件包都提供对以下StudentVue功能的访问:

学生信息

  • 获取学生资料(姓名、年级、学校、联系方式)
  • 获取学校信息(校长、地址、电话)

学术记录

  • 获取成绩簿(成绩、作业、课程信息)
  • 获取课程表(课时、教师、房间)
  • 获取日历事件
  • 获取家庭作业笔记(取决于地区)

出席

  • 获取考勤记录(缺席、迟到、原因)

沟通

  • 从教师/管理员那里获取消息
  • 将邮件标记为已读

文件

  • 列出可用文件
  • 下载特定文档
  • 列出并下载报告卡

健康记录

  • 获取学生健康信息(病情、就诊、免疫接种)

公用事业

  • 按邮政编码搜索学区

发展

工作区命令

make build          # Build all packages
make test           # Run all tests
make format         # Format all code
make lint           # Run all linters
make typecheck      # Run type checking
make quality-gates  # Run all quality checks
make clean          # Clean build artifacts
make install        # Install dependencies

按包开发

锈蚀API:

cd packages/studentvue-api
cargo build && cargo test

MCP服务器:

cd packages/studentvue-mcp
bun install && bun run build && bun test

项目结构

studentvue/
├── packages/
│   ├── studentvue-api/      # Rust API library
│   │   ├── src/             # Source code
│   │   ├── tests/           # Integration tests
│   │   └── examples/        # Usage examples
│   └── studentvue-mcp/      # MCP server
│       ├── src/             # TypeScript source
│       └── dist/            # Built artifacts
├── docs/                    # Documentation
├── Cargo.toml               # Rust workspace config
├── Makefile                 # Build automation
└── README.md                # This file

配置

这两个软件包都需要通过环境变量获取StudentVue凭据:

STUDENTVUE_PORTAL=https://your-district.edupoint.com
STUDENTVUE_USERNAME=your_username
STUDENTVUE_PASSWORD=your_password

安全: 切勿将凭据提交到版本控制。始终使用环境变量或 .env 文件(默认情况下被忽略)。

文档

测试

这两个软件包都包括全面的测试套件:

cd packages/studentvue-api && cargo test
cd packages/studentvue-mcp && bun test

在中设置测试凭据 .env 运行测试前的文件。

贡献

欢迎捐款。请查看我们的 贡献指南 了解详情。

所有捐款必须:

  • 格式正确(rustfmt表示Rust,Prettier表示TypeScript)
  • 传递所有lints(clippy用于Rust,ESLint用于TypeScript)
  • 通过所有测试
  • 包括新功能的测试

用例

面向开发人员(Rust API)

  • 构建自定义StudentVue集成
  • 创建具有本机性能的移动应用程序
  • 自动化成绩监控和通知
  • 与学校管理系统集成

用于人工智能应用程序(MCP服务器)

  • 让克劳德回答有关成绩的问题
  • 获取出席情况的自然语言摘要
  • 询问即将到来的任务和活动
  • 检索并解释报告卡

许可证

麻省理工学院

致谢

基于社区对StudentVue SOAP API的逆向工程和文档。