Database · MODEL CONTEXT PROTOCOL
54yyyu school mcp
A Model Context Protocol (MCP) server for academic tools, integrating with Canvas and Gradescope platforms.
连接能力
54yyyu school mcp 为 AI Agent 提供什么
- **Assignment Deadlines**: Fetch and display upcoming deadlines from Canvas and Gradescope
- **Calendar Integration**: Add deadlines to macOS Calendar or Reminders using AppleScript
- **File Management**: Download course materials from Canvas
- Clone the repository:
- Install the package:
- Set up your environment variables by either:
- Using the included setup helper (recommended)
- Creating a `.env` file manually
- Find your Claude Desktop configuration file
- Create a `.env` file if needed
- Configure the MCP server with proper paths
- Add your environment variables to the Claude Desktop configuration
- Copy the environment template:
- Configure Claude Desktop by following the [Claude Desktop Integration Guide](docs/claude_desktop.md).
- `get_deadlines`: Fetch upcoming assignment deadlines from Canvas and Gradescope
- `add_to_reminders`: Add assignments to macOS Reminders
- `list_courses`: List all available Canvas courses
- `download_course_files`: Download files from a Canvas course
- `set_download_path`: Configure where downloaded files are saved
- `get_download_path_info`: Check the current download location
- Environment variables
- `.env` file in the current directory
- Existing `config.json` file in the home directory
安全
MCP 收录不等于安全审核
MCP 服务器可能获得模型上下文、凭据、本地文件或调用外部系统的权限。连接 Agent 前,请检查代码、环境变量、网络行为、软件包来源与维护状态。
README
仓库文档
A Model Context Protocol (MCP) server for academic tools, integrating with Canvas and Gradescope platforms.
- Assignment Deadlines: Fetch and display upcoming deadlines from Canvas and Gradescope
- Calendar Integration: Add deadlines to macOS Calendar or Reminders using AppleScript
- File Management: Download course materials from Canvas
To install School MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @54yyyu/school-mcp --client claude- Clone the repository:
git clone https://github.com/yourusername/school-mcp.git
cd school-mcp- Install the package:
pip install -e .- Set up your environment variables by either:
- Using the included setup helper (recommended)
- Creating a
.envfile manually
Run the setup helper to configure Claude Desktop automatically:
python setup_helper.pyThe setup helper will:
- Find your Claude Desktop configuration file
- Create a
.envfile if needed - Configure the MCP server with proper paths
- Add your environment variables to the Claude Desktop configuration
If you prefer to set up manually:
- Copy the environment template:
cp .env.template .env
# Edit .env with your credentials- Configure Claude Desktop by following the Claude Desktop Integration Guide.
Run directly:
python -m school_mcpOr use the convenience script:
./run_server.pypip install -e . also installs a command-line tool, cw (long name coursework):
cw deadlines # unsubmitted work due in the next 14 days (Canvas + Gradescope)
cw deadlines -s canvas -d 7 # Canvas only, next week
cw announcements -u # unread course announcements
cw inbox -u # unread Canvas inbox conversations
cw message 512758 # read a thread (does not mark it read)
cw grades 20.201 # per-assignment scores for one course
cw files 6.7810 --compare ~/Desktop/MIT/6.7810 --missing # what's not filed locally yet
cw download crispr # download a course's files (or --id ID ... for a selection)
cw use columbia # switch the active accountCourses can be named by code, name fragment or Canvas id. Every command has
-h, --json, and (where it talks to a school) -a ACCOUNT.
A Claude Code skill for the CLI lives in skill/coursework/; symlink it into
~/.claude/skills/ to make it available in every session.
get_deadlines: Fetch upcoming assignment deadlines from Canvas and Gradescopeadd_to_reminders: Add assignments to macOS Reminderslist_courses: List all available Canvas coursesdownload_course_files: Download files from a Canvas courseset_download_path: Configure where downloaded files are savedget_download_path_info: Check the current download location
The server tries to find configuration in this order:
- Environment variables
.envfile in the current directory- Existing
config.jsonfile in the home directory
MIT
社区