Fetches upcoming assignment deadlines, lists available courses, and downloads course materials and files
Adds deadlines to macOS Calendar or Reminders using AppleScript and manages local file downloads
School MCP
A Model Context Protocol (MCP) server for academic tools, integrating with Canvas and Gradescope platforms.
Features
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
Related MCP server: Claude Canvas MCP
Quickstart
Installation
Installing via Smithery
To install School MCP for Claude Desktop automatically via Smithery:
Clone the repository:
Install the package:
Set up your environment variables by either:
Using the included setup helper (recommended)
Creating a
.envfile manually
Using the Setup Helper
Run the setup helper to configure Claude Desktop automatically:
The setup helper will:
Find your Claude Desktop configuration file
Create a
.envfile if neededConfigure the MCP server with proper paths
Add your environment variables to the Claude Desktop configuration
Manual Setup
If you prefer to set up manually:
Copy the environment template:
Configure Claude Desktop by following the Claude Desktop Integration Guide.
Running the server
Run directly:
Or use the convenience script:
Tools
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
Configuration
The server tries to find configuration in this order:
Environment variables
.envfile in the current directoryExisting
config.jsonfile in the home directory
License
MIT