Schoology MCP 服务器使用说明

项目简介

该项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在将您的 Schoology 学习平台数据(如课程列表和即将截止的作业)提供给大型语言模型(LLM)客户端。它通过暴露一系列工具,允许 LLM 访问这些实时学习信息,从而增强 LLM 的上下文感知和功能扩展能力。

主要功能点

  • 获取当前日期时间: 提供当前精确的日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。
  • 获取已注册课程: 从 Schoology 获取用户当前注册的所有课程列表,返回课程标题和班级标题等信息。
  • 获取即将截止的作业: 从 Schoology 抓取并整理即将到期的作业列表,包含作业标题、截止日期和所属课程。
  • 安全数据访问: 通过基于 Cookie 的认证方式,安全地从 Schoology 获取个人学习数据。

安装步骤

由于 Schoology 没有官方 API,此服务器通过模拟浏览器请求并利用您的 Schoology Cookie 来获取数据。

  1. 获取 Schoology Cookie:

    • 登录到您的 Schoology 账户。
    • 打开浏览器开发者工具(通常按 'F12' 键)。
    • 切换到“Console”(控制台)选项卡。
    • 输入 'document.cookie' 并运行,复制输出结果。
  2. 获取即将截止作业的接口 URL:

    • 在开发者工具中切换到“Network”(网络)选项卡。
    • 刷新 Schoology 页面(如有必要),寻找名为 'upcoming_submissions_ajax' 的请求。
    • 右键点击该请求 -> 复制 -> 复制 URL。
  3. 获取课程列表的接口 URL:

    • 在开发者工具中切换到“Network”(网络)选项卡。
    • 刷新 Schoology 页面(如有必要),然后点击 Schoology 页面上的课程下拉菜单以加载课程信息。
    • 寻找名为 'courses' 的请求。
    • 右键点击该请求 -> 复制 -> 复制 URL。
  4. 克隆仓库: 将 'schoology-mcp' 仓库克隆到您的本地机器上。

服务器配置

该 MCP 服务器需要由一个 MCP 客户端来启动和管理。以下是您在 MCP 客户端配置中添加 'schoology-mcp' 服务器的 JSON 示例。请根据您的实际情况替换占位符,例如仓库的实际路径和您从 Schoology 获取的配置信息。

{
  "mcpServers": {
    "schoology-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "PATH/TO/schoology-mcp", // 替换为schoology-mcp仓库的实际路径
        "run",
        "server.py"
      ],
      "env": {
        "SCHOOLOGY_COOKIE": "<your_schoology_cookie>", // 替换为您从Schoology获取的Cookie
        "SCHOOLOGY_UPCOMING_ENDPOINT": "<upcoming_submissions_ajax_url>", // 替换为您从Schoology获取的即将截止作业接口URL
        "SCHOOLOGY_COURSES_ENDPOINT": "<courses_endpoint_url>" // 替换为您从Schoology获取的课程接口URL
      }
    }
  }
}

基本使用方法

一旦 MCP 客户端配置并成功启动 'schoology-mcp' 服务器,您的 LLM 应用就可以通过 MCP 协议与服务器通信,并调用其暴露的工具来获取 Schoology 数据:

  • LLM 可以调用 'get_current_date' 工具来获取当前日期时间。
  • LLM 可以调用 'get_enrolled_courses' 工具来获取所有注册课程的列表。
  • LLM 可以调用 'get_upcoming_assignments' 工具来获取即将截止的作业列表。

通过这些工具,LLM 可以为用户提供个性化的学习日程提醒、课程信息查询等服务,从而构建更加智能和实用的 LLM 应用。

信息

分类

AI与计算