Viewpoint School · MyVP
MyVP, from the
terminal.
Assignments, submissions, schedule and grades as a CLI, Python SDK, HTTP API and MCP server. It signs itself back in, so you stay logged in.
01 Install macOS
$ curl -fsSL https://blackbaud.myronlai.com/install.sh | sh
Installs uv if it is missing, the blackbaud command, and Chromium for Google sign-in. Run it again to update.
Install preview
Terminal
$ curl -fsSL https://blackbaud.myronlai.com/install.sh | sh show output
Resolved 80 packages in 1.13s
Installed 80 packages in 76ms
Bytecode compiled 3416 files in 803ms
+ blackbaud-sdk==0.2.0 (from https://blackbaud.myronlai.com/blackbaud_sdk-0.2.0-py3-none-any.whl)
Installed 1 executable: blackbaud
Installed. Next: blackbaud setup
$ blackbaud setup show output
Blackbaud setup · press Enter for the default, or answer no to skip a step
1. Sign in
✗ Not logged in
1. Copy the session from a browser logged in to MyVP (recommended)
2. Sign in with Google (email and password)
3. Skip
Choose sign-in method [1]: 1
Logged in via arc → /Users/you/.blackbaud/storage_state.json
2. Background keep-alive
✗ Keep-alive service not installed
Install it so you stay logged in (starts at login, pings every 5 min)? [Y/n]: y
✓ Keep-alive service running (pid 25175)
3. Keep browsers logged in
– No browsers kept logged in (optional)
Look for browsers logged in to MyVP? (macOS may ask for Keychain access) [Y/n]: y
Browsers with MyVP cookies:
1. ✓ arc · Profile 2 — logged in (active 1 min ago)
Keep which logged in? (numbers, e.g. 1,3) [1]: 1
✓ Browsers kept logged in: arc · Profile 2
Done. Useful commands:
blackbaud assignments --pending what's due
blackbaud schedule today's classes
blackbaud gradebook scores for a course
blackbaud submit turn in work (pick from a list)
blackbaud --help every command
$
02 Sign in
$ blackbaud setup
Signs in, starts the background keep-alive, and keeps your browsers logged in to MyVP. Every step shows its state and can be skipped. Choose Always Allow when Keychain asks.
03 Use
blackbaudHome: login streak, service, kept browsers
blackbaud assignments --upcoming --pendingWhat is due
blackbaud schedule --nextYour next class
blackbaud gradesEvery course, straight from Blackbaud
blackbaud submitSave a draft or turn in text and files
blackbaud serveLocal HTTP API on 127.0.0.1:8100
Add --json for scripts. blackbaud --help lists everything.
04 Agents
Paste this to Claude Code, Codex, or any coding agent:
Install blackbaud-sdk for me by following https://blackbaud.myronlai.com/llms.txt
Or wire it up yourself. MCP server:
{ "mcpServers": { "blackbaud": { "command": "blackbaud", "args": ["mcp"] } } }
Agent skill, into Claude Code:
$ mkdir -p ~/.claude/skills && curl -fsSL https://blackbaud.myronlai.com/skill.tar.gz | tar xz -C ~/.claude/skills