Token导航 LogoToken导航TokenDH.com
MCP Powerschool logo
运维云端stdio官方级别未说明来源级核验

MCP Powerschool

MCP Server

一个为PowerSchool设计的FastMCP服务器,使学生能够通过Model Context Protocol查询成绩、作业、成绩历史和考勤记录。

工具数

7

提示词数

0

GitHub Stars

1

资源数

0
教育技术PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

443pablo

提供方

443pablo

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

PowerSchool MCP服务器

A. FastMCP PowerSchool服务器,使学生能够通过模型上下文协议检查成绩、作业、成绩历史和出勤情况。

![Deploy to Render](https://render.com/deploy?repo=https://github.com/443pablo/mcp-powerschool)

特性

此MCP服务器为学生提供以下工具:

  • get_student_info:获取当前学生信息(姓名、ID、年级、学校)
  • get_current_grades:查看所有课程的当前成绩
  • 获取分配:列出作业(可选按课程筛选)
  • get_grade_history:通过日期过滤查看历史成绩数据
  • get_courses:列出所有已注册的课程/部分
  • 获取_考勤:查看考勤记录
  • get_server_info:检查服务器配置和状态

配置

所需的环境变量

您需要配置以下环境变量以连接到PowerSchool实例:

# PowerSchool server URL (without trailing slash)
POWERSCHOOL_URL=https://your-school.powerschool.com

# OAuth2 Client Credentials from PowerSchool Plugin
POWERSCHOOL_CLIENT_ID=your_client_id
POWERSCHOOL_CLIENT_SECRET=your_client_secret

# Student Authentication (for password grant type)
POWERSCHOOL_USERNAME=student_username
POWERSCHOOL_PASSWORD=student_password

PowerSchool设置

此服务器需要启用了OAuth2的PowerSchool插件。您的PowerSchool管理员需要:

  1. 安装PowerSchool插件 ` 启用于 plugin.xml`
  2. 为学生数据访问配置API权限
  3. 生成OAuth2客户端凭据(客户端ID和密钥)
  4. 启用必要的API终结点:

- /ws/v1/student -学生信息 - /ws/v1/student/grades -等级数据 - /ws/v1/student/assignments -分配数据 - /ws/v1/student/sections -课程/章节数据 - /ws/v1/student/attendance -考勤数据

有关PowerSchool API的更多信息,请参阅:

本地开发

设置

分叉repo,然后运行:

git clone 
cd mcp-powerschool
conda create -n mcp-powerschool python=3.13
conda activate mcp-powerschool
pip install -r requirements.txt

配置环境变量

创建一个 .env 文件或设置环境变量:

export POWERSCHOOL_URL=https://your-school.powerschool.com
export POWERSCHOOL_CLIENT_ID=your_client_id
export POWERSCHOOL_CLIENT_SECRET=your_client_secret
export POWERSCHOOL_USERNAME=your_username
export POWERSCHOOL_PASSWORD=your_password

本地测试

python src/server.py
# then in another terminal run:
npx @modelcontextprotocol/inspector

打开http://localhost:3000并连接到 http://localhost:8000/mcp 使用“流式HTTP”传输(注意 /mcp!).

可用工具

连接后,您可以测试以下工具:

  1. get_server_info -验证配置
  2. get_student_info -获取学生详细信息
  3. get_current_grades -查看所有当前成绩
  4. get_courses -列出已注册的课程
  5. 获取分配 -查看作业(可选:pass section_id)
  6. get_grade_history -查看历史成绩(可选:通过start_date、end_date)
  7. 获取_考勤 -查看考勤记录

部署

选项1:一键部署渲染

  1. 单击上面的“部署到渲染”按钮
  2. 在Render的仪表板中配置所需的环境变量:

- POWERSCHOOL_URL - POWERSCHOOL_CLIENT_ID - POWERSCHOOL_CLIENT_SECRET - POWERSCHOOL_USERNAME - POWERSCHOOL_PASSWORD

选项2:手动部署

  1. 分叉此存储库
  2. 将您的GitHub帐户连接到Render
  3. 在Render上创建新的Web服务
  4. 连接您的分叉存储库
  5. 渲染将自动检测 render.yaml 配置
  6. 在Render的仪表板中添加所需的环境变量

您的服务器将在 https://your-service-name.onrender.com/mcp (注意 /mcp!)

使用AI助手

您可以将此MCP服务器连接到支持模型上下文协议的各种AI助手:

克劳德桌面版

添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "powerschool": {
      "url": "https://your-service-name.onrender.com/mcp"
    }
  }
}

您可以将MCP服务器连接到Poke poke.com/设置/连接.

要显式测试连接,请按如下方式提问: Tell the subagent to use the "powerschool" integration's "get_current_grades" tool.

如果您遇到持续的poke未调用正确的MCP的问题(例如,在您重命名连接后),您可以发送 clearhistory 戳以删除所有消息历史记录并重新开始。

示例用法

以下是您可以通过AI助手进行的一些示例查询:

  • “我目前的成绩是多少?”
  • “给我看数学课的作业”
  • “我这学期的出勤记录是多少?”
  • “上个月我的成绩有什么变化?”
  • “列出我的所有课程和老师”
  • “显示我的学生信息”

API 参考

动力学校API终点

此服务器使用PowerSchool REST API。主要终点是:

  • GET /ws/v1/student -获取学生信息
  • GET /ws/v1/student/grades -获取当前成绩
  • GET /ws/v1/student/assignments -获取所有作业
  • GET /ws/v1/student/assignments/section/{id} -获取某个部分的作业
  • GET /ws/v1/student/sections -获取已注册的部分/课程
  • GET /ws/v1/student/attendance -获取考勤记录
  • GET /ws/v1/student/grades/history -获取历史成绩

认证

服务器使用OAuth2与PowerSchool进行身份验证。它同时支持:

  1. 客户端凭证授权 -用于服务器到服务器身份验证
  2. 密码授予 -用于学生用户名/密码验证

身份验证令牌会根据需要自动缓存和刷新。

安全说明

⚠️ 重要安全注意事项:

  1. 凭据存储:使用环境变量或秘密管理服务安全地存储凭据。切勿将凭据提交到版本控制。
  1. 超文本传输安全协议:在生产环境中始终使用HTTPS来保护传输中的凭据和学生数据。
  1. 访问控制:此服务器专为学生个人使用而设计。每个部署都应该为单个学生配置凭据。
  1. 令牌安全:身份验证令牌缓存在内存中并自动刷新。它们从不持久化到磁盘。
  1. 生产部署:部署到生产环境时,请确保您的宿主平台(如Render)正确保护环境变量。

故障排除

配置问题

如果遇到配置错误,请验证:

  • 所有必需的环境变量都已设置
  • PowerSchool URL没有尾随斜线
  • 客户端ID和密码正确
  • 学生证书有效(如果使用密码授权)

连接问题

如果服务器无法连接到PowerSchool:

  • 验证PowerSchool URL是否可访问
  • 检查是否安装了PowerSchool插件并启用了OAuth
  • 确保为学生访问启用API端点
  • 如果在本地运行,请检查防火墙规则

身份验证问题

如果身份验证失败:

  • 验证客户端凭据是否正确
  • 检查学生用户名/密码是否有效
  • 确保启用了OAuth2授权类型(密码或client_credentials)

使用 get_server_info 用于检查配置状态的工具。

发展

添加新工具

您可以通过以下方式添加更多PowerSchool API端点:

  1. 向添加方法 PowerSchoolAPI
  2. 使用创建相应的MCP工具 @mcp.tool 装饰器
  3. 遵循现有的错误处理和响应格式模式

例子:

@mcp.tool(description="Get school calendar events")
def get_calendar() -> dict:
    try:
        client = get_api_client()
        result = client._make_request("/ws/v1/student/calendar")
        return {
            "success": True,
            "data": result
        }
    except Exception as e:
        return {
            "success": False,
            "error": str(e)
        }

许可证

这个项目是开源的,可以在MIT许可证下使用。

贡献

欢迎投稿!请随时提交拉取请求。

支持

关于以下问题:

  • 此MCP服务器:在GitHub上打开一个问题
  • 动力学校API:请联系PowerSchool支持人员或学校管理员
  • MCP协议:参见 模型上下文协议文档

目录标签

目录标签

教育技术PythonClaude成绩查询本地部署作业管理考勤记录学生信息

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP