home / mcp / school mcp server
A Model Context Protocol (MCP) server for academic tools, integrating with Canvas and Gradescope platforms.
Configuration
View docs{
"mcpServers": {
"54yyyu-school-mcp": {
"command": "python",
"args": [
"-m",
"school_mcp"
]
}
}
}You run the School MCP server to create a bridge between your academic tools and MCP-enabled clients. It fetches Canvas and Gradescope deadlines, lets you add items to Reminders, and provides access to Canvas course materials. This guide walks you through using, installing, and configuring the server so you can start syncing academic data right away.
Once the School MCP server is running, you interact with it through an MCP client. The server exposes tools you can call to fetch upcoming deadlines, download course materials, and manage reminders. Use the client to select a course, request upcoming deadlines, and trigger any available actions such as adding tasks to Reminders or exporting calendars.
Prerequisites you need before installation: and Python is installed on your system. You also need pip to install Python dependencies. You will run commands from your shell or terminal.
# Prerequisites check (example)
python3 --version
pip3 --versionInstall the School MCP server package and its dependencies, then prepare the environment. Use the steps below to set up the server locally.
# 1) Install the package in editable mode
pip install -e .
# 2) Prepare environment (manual or via setup helper)
# If you have an environment template, copy it and edit your credentials
cp .env.template .env # edit .env with your credentials
# 3) Run the server directly (alternative path shown below)
python -m school_mcpIf you prefer a direct run script, you can start the server using the convenience script.
./run_server.pyThe server looks for configuration in this order. First it checks environment variables, then a local .env file, and finally a config.json file in your home directory.
Environment variables provide runtime configuration. If you use the setup helper, it creates and configures a .env file and updates your environment paths accordingly.
If you run into issues starting the server, verify that Python and pip are available, and that the working directory contains the server files. Ensure the environment file (.env) has the required credentials for Canvas and Gradescope access.
The server exposes several practical tools you can call from an MCP client to automate academic workflows.
- 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.
The server provides standard ways to start. If you prefer a development-friendly approach, you can run the server with Python as shown below.
Fetch upcoming assignment deadlines from Canvas and Gradescope, so you can stay ahead of due dates.
Add assignments to macOS Reminders to keep track of tasks from your MCP client.
List all available Canvas courses to help you navigate course materials.
Download files from a Canvas course to your local workspace for offline access.
Configure the directory where downloaded course materials are stored.
Check the current location where downloaded files are saved.