school-mcp

mcp
Security Audit
Warn
Health Warn
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 7 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

A Model Context Protocol (MCP) server for academic tools, integrating with Canvas and Gradescope platforms.

README.md

School MCP

smithery badge

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
  1. Install the package:
pip install -e .
  1. 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:
cp .env.template .env
# Edit .env with your credentials
  1. Configure Claude Desktop by following the Claude Desktop Integration Guide.

Running the server

Run directly:

python -m school_mcp

Or use the convenience script:

./run_server.py

CLI: cw / coursework

pip 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 download crispr           # download a course's files
cw use columbia              # switch the active account

Courses 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.

MCP Tools

  • 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

Configuration

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

License

MIT

Reviews (0)

No results found