返回 MCP 目录
public公开dns本地运行

studentvue

StudentVue API的完整实现,提供Rust客户端库和MCP服务器,支持访问学生信息、成绩、考勤、消息等教育数据

article

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快速安装

Install MCP Server

手动安装

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

📚 文档

🧪 测试

两个包都包含全面的测试套件:

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的逆向工程和文档。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端