school-mcp
Health Uyari
- 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 Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
A Model Context Protocol (MCP) server for academic tools, integrating with Canvas and Gradescope platforms.
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
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
- 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
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
.envfile 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:
- Copy the environment template:
cp .env.template .env
# Edit .env with your credentials
- 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 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 directory- Existing
config.jsonfile in the home directory
License
MIT
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi