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
安装
请参阅随文件提供的分步说明。
设置
- 安装Docker (如果你没有)
- 构建容器:
docker build -t skyward-mcp-server .- 添加到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"
}
}
}
}- 重新启动克劳德桌面
______________________________________________________________________
配置
您需要通过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