成绩与课表获取服务

Skyward MCP是一个通过Skyward Family Access获取学生成绩、课表和考勤数据的服务,可与AI助手集成。

  • by AadiJo
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 AadiJo/skyward-mcp

使用说明

Skyward MCP

从Skyward获取您的成绩和时间表,并将其连接到Claude Desktop。 与Skyward Family Access集成以检索成绩、日程和出勤数据的模型上下文协议服务器。


目的

此MCP服务器为AI助手提供了一个接口,用于从Skyward Family access门户访问学生信息。

特性

  • get_student_grades -检索特定班级或所有班级的成绩
  • get_class_list_by_period -获取特定时期或所有时期的课程列表
  • get_student_schedule -获取完整的学生时间表,包括课时、课程、教师和房间
  • get_attendance_summary -检索考勤摘要和最近的考勤记录

先决条件

  • 启用MCP工具包的Docker桌面
  • Docker MCP CLI插件(docker mcp 命令)
  • 有效的Skyward家庭访问凭据(用户名和密码)
  • 您所在学区的Skyward URL

安装

请参阅随文件提供的分步说明。

设置

  1. 安装Docker (如果你没有)
  2. 构建容器:
    docker build -t skyward-mcp-server .
    
  3. 添加到Claude桌面配置 (%APPDATA%\Claude\claude_desktop_config.json):
    {
      "mcpServers": {
        "skyward": {
          "command": "docker",
          "args": ["run", "-i", "--rm", "--env", "SKYWARD_URL", "--env", "SKYWARD_USERNAME", "--env", "SKYWARD_PASSWORD", "skyward-mcp-server:latest"],
          "env": {
            "SKYWARD_URL": "https://your-school-skyward-url.com/scripts/wsisa.dll/WService=whatever",
            "SKYWARD_USERNAME": "your-username",
            "SKYWARD_PASSWORD": "your-password"
          }
        }
      }
    }
    
  4. 重新启动克劳德桌面

配置

您需要通过Docker secrets设置这些环境变量:

  • SKYWARD_URL -您所在地区的Skyward URL(例如。,https://yourdistrict.skyward.com)
  • SKYWARD_用户名 -您的Skyward用户名
  • SKYWARD_PASSWORD -您的Skyward密码

用法

在Claude Desktop中,您可以问:

  • “我目前的生物学成绩如何?”
  • “显示我的完整课程表”
  • “第三节课我上什么课?”
  • “获取我本月的出勤摘要”
  • “显示我所有班级的所有成绩”

或者直接使用MCP方法:

  • get_student_schedule() -你的课程表
  • get_grades_for_class(class_name) -特定班级的成绩
  • get_class_list_by_period(period_number) -一段时间内的课程
  • get_student_messages(limit) -教师留言
  • get_academic_history() -你的学术史

发展

局部测试

# Set environment variables for testing
export SKYWARD_URL="https://yourdistrict.skyward.com"
export SKYWARD_USERNAME="your-username"
export SKYWARD_PASSWORD="your-password"

# Run directly
python skyward_server.py

# Test MCP protocol
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | python skyward_server.py