School MCP
About
A Model Context Protocol (MCP) server for academic tools, integrating with Canvas and Gradescope platforms.
Explore
- 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
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
School MCPCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
The server tries to find configuration in this order:
1. Environment variables
2. .env file in the current directory
3. Existing config.json file in the home directory
To install School MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @54yyyu/school-mcp --client claude
1. Clone the repository:
git clone https://github.com/yourusername/school-mcp.git
cd school-mcp
2. Install the package:
pip install -e .
3. Set up your environment variables by either:
- Using the included setup helper (recommended)
- Creating a .env file manually
Run the setup helper to configure Claude Desktop automatically:
python setup_helper.py
The setup helper will:
- 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
If you prefer to set up manually:
1. Copy the environment template:
cp .env.template .env
Run directly:
bashpython -m school_mcp
Or use the convenience script:
bash./run_server.py
```
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
- 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
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"school mcp": {
"school-mcp": {
"command": "npx",
"args": [
"-y",
"@smithery/cli",
"install",
"@54yyyu/school-mcp",
"--client",
"claude"
]
}
}
}
}
McpServers
{
"school-mcp": {
"command": "npx",
"args": [
"-y",
"@smithery/cli",
"install",
"@54yyyu/school-mcp",
"--client",
"claude"
]
}
}
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
Quickstart
Installation
Installing via Smithery
To install School MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @54yyyu/school-mcp --client claude
1. Clone the repository:
git clone https://github.com/yourusername/school-mcp.git
cd school-mcp
2. Install the package:
pip install -e .
3. Set up your environment variables by either:
- Using the included setup helper (recommended)
- Creating a .env file manually
Using the Setup Helper
Run the setup helper to configure Claude Desktop automatically:
python setup_helper.py
The setup helper will:
- 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
Manual Setup
If you prefer to set up manually:
1. Copy the environment template:
```bash
cp .env.template .env
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



