README
🚀 学校 MCP
学校 MCP 是一个用于学术工具的模型上下文协议(MCP)服务器,它与 Canvas 和 Gradescope 平台集成,能为用户提供便捷的学术服务,如获取作业截止日期、进行日历集成以及文件管理等。
🚀 快速开始
📦 安装指南
通过 Smithery 安装
若要通过 Smithery 自动为 Claude Desktop 安装 School MCP,可使用以下命令:
npx -y @smithery/cli install @54yyyu/school-mcp --client claude
手动安装步骤如下:
- 克隆仓库:
git clone https://github.com/yourusername/school-mcp.git
cd school-mcp
- 安装包:
pip install -e .
- 通过以下方式之一设置环境变量:
- 使用包含的设置助手(推荐)
- 手动创建
.env文件
使用设置助手
运行设置助手以自动配置 Claude Desktop:
python setup_helper.py
设置助手将完成以下操作:
- 找到你的 Claude Desktop 配置文件
- 如果需要,创建
.env文件 - 用适当的路径配置 MCP 服务器
- 将环境变量添加到 Claude Desktop 的配置中
手动设置
如果你更愿意手动设置:
- 复制环境模板:
cp .env.template .env
# 编辑.env以获取你的凭证
- 根据 Claude Desktop Integration Guide 配置 Claude Desktop。
运行服务器
直接运行:
python -m school_mcp
或者使用方便的脚本:
./run_server.py
✨ 主要特性
- 作业截止日期:从 Canvas 和 Gradescope 获取并显示即将到来的作业截止日期。
- 日历集成:使用 AppleScript 将截止日期添加到 macOS Calendar 或 Reminders。
- 文件管理:从 Canvas 下载课程材料。
💻 使用示例
基础用法
以下是使用 get_deadlines 工具获取即将到来的作业截止日期的示例:
# 调用 get_deadlines 工具获取截止日期
python -m school_mcp get_deadlines
高级用法
假设你想将获取的作业截止日期添加到 macOS Reminders 中,可使用 add_to_reminders 工具:
# 先获取截止日期,再将其添加到 macOS Reminders
python -m school_mcp get_deadlines | python -m school_mcp add_to_reminders
🔧 技术细节
服务器按以下顺序尝试查找配置:
- 环境变量
- 当前目录中的
.env文件 - 用户主目录中的现有
config.json文件
📄 许可证
本项目采用 MIT 许可证。
工具列表
| 工具名称 | 功能描述 |
| ---- | ---- |
| get_deadlines | 从 Canvas 和 Gradescope 获取即将到来的作业截止日期 |
| add_to_reminders | 将作业添加到 macOS Reminders |
| list_courses | 列出所有可用的 Canvas 课程 |
| download_course_files | 从 Canvas 课程下载文件 |
| set_download_path | 配置文件保存的位置 |
| get_download_path_info | 检查当前下载位置 |
Scan to contact