使用说明

项目简介

School MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为学生提供便捷的学术工具集成。它主要连接 Canvas 和 Gradescope 平台,提供获取课程信息、下载资料、管理作业截止日期等功能,帮助用户更高效地管理学业。

主要功能点

  • 获取作业截止日期: 从 Canvas 和 Gradescope 平台抓取即将到来的作业截止日期。
  • 日历集成: 将作业截止日期添加到 macOS 日历或提醒事项中,方便进行日程管理。
  • 文件管理: 从 Canvas 下载课程文件,方便离线学习和资料整理。
  • 可配置下载路径: 允许用户自定义 Canvas 课程文件的下载保存路径。

安装步骤

  1. 克隆仓库: 打开终端,执行以下命令克隆仓库到本地:

    git clone https://github.com/54yyyu/school-mcp.git
    cd school-mcp
  2. 安装软件包: 在仓库根目录下,执行以下命令安装 Python 包:

    pip install -e .
  3. 配置环境变量:

    • 推荐方式:使用配置助手 运行仓库中提供的 'setup_helper.py' 脚本,它可以自动查找 Claude Desktop 配置文件并添加 School MCP 服务器配置,并引导您创建和编辑 '.env' 文件以设置必要的 API 密钥和凭据。
      python setup_helper.py
    • 手动配置 如果您选择手动配置,请复制 '.env.template' 文件为 '.env',并根据模板中的说明,填写 Canvas 和 Gradescope 的 API 密钥、域名、邮箱和密码等信息。

服务器配置

对于 MCP 客户端(例如 Claude Desktop),您需要配置以下 JSON 格式的服务器信息以连接 School MCP 服务器。假设您已按照安装步骤成功安装并配置了 School MCP。

{
  "mcpServers": {
    "school-tools": {  // 服务器名称,可以自定义
      "command": "python",  // 启动服务器的命令,这里使用 python 解释器
      "args": ["-m", "school_mcp"],  // 启动参数,指定运行 school_mcp 模块
      "env": { // 环境变量配置,从 .env 文件或系统环境变量中读取
        "CANVAS_ACCESS_TOKEN": "<您的Canvas访问令牌>",
        "CANVAS_DOMAIN": "<您的Canvas域名,例如 canvas.example.edu>",
        "GRADESCOPE_EMAIL": "<您的Gradescope邮箱>",
        "GRADESCOPE_PASSWORD": "<您的Gradescope密码>"
      }
    }
  }
}

配置说明:

  • '"school-tools"': MCP 服务器的名称,您可以自定义,在客户端中通过此名称引用该服务器。
  • '"command": "python"' 和 '"args": ["-m", "school_mcp"]': 指定了启动 School MCP 服务器的命令。 这会使用 Python 解释器来运行 'school_mcp' 模块,从而启动服务器。
  • '"env"': 包含了 School MCP 服务器运行所需的环境变量。请务必将 '<您的Canvas访问令牌>'、'<您的Canvas域名>'、'<您的Gradescope邮箱>' 和 '<您的Gradescope密码>' 替换为您在 '.env' 文件中配置的实际值。这些环境变量是 School MCP 服务器连接 Canvas 和 Gradescope API 所必需的。

请注意: 如果使用 'setup_helper.py' 脚本,它会自动尝试配置 Claude Desktop 并添加上述 JSON 配置。手动配置时,您需要将上述 JSON 配置添加到 Claude Desktop 的配置文件 ('claude_desktop_config.json') 中。

基本使用方法

成功配置并启动 School MCP 服务器后,您可以在 MCP 客户端中使用以下工具来访问学术信息:

  • 'get_deadlines': 获取未来两周内 Canvas 和 Gradescope 上的作业截止日期。
  • 'add_to_reminders': 将未来两周内的作业截止日期添加到 macOS 提醒事项应用中。
  • 'list_courses': 列出当前 Canvas 上您参与的课程列表。
  • 'download_course_files course_id': 下载指定 'course_id' 的 Canvas 课程的所有文件,文件将保存到默认下载路径(默认为用户Home目录下的 'Canvas_Downloads' 文件夹)。
  • 'set_download_path path': 设置 Canvas 文件的默认下载路径为指定的 'path' 目录。
  • 'get_download_path_info': 获取当前设置的 Canvas 文件默认下载路径。

您可以在 MCP 客户端中调用这些工具,例如在 Claude Desktop 中,您可以输入指令来调用这些工具并获取返回的信息。具体工具的使用方法可以通过工具的描述信息或项目文档进一步了解。

信息

分类

生产力应用