Blackboard MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BB_BASE_URL | Yes | Your university's Blackboard address | |
| BB_MCP_HOME | No | Where the session cookies, sign-in browser profile and sync state live | ~/.blackboard-mcp |
| BB_SSO_BUTTON | No | Text of the button that starts single sign-on on your Blackboard's landing page. Default: a few common ones | |
| BB_DOWNLOAD_DIR | No | Where synced files go. Default: SlideMate's first slides folder, else ~/BlackboardFiles | |
| BB_BROWSER_CHANNEL | No | Browser for sign-in; "" uses Playwright's own Chromium | chrome |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bb_loginA | Sign in to Blackboard. Opens a Chrome window at the university sign-in page; the student completes it there (SSO + MFA). Tries a silent refresh first, so it often finishes without any window. |
| bb_statusC | Which Blackboard and account this is, where files download to, and when the last sync ran. |
| bb_coursesA | List current Blackboard courses (include_all=True: every course and organisation you're enrolled in). |
| bb_browseA | List the content in a course (or inside one folder): titles, types, text, links and grade columns.
|
| bb_downloadC | Download every file attached to (or embedded in) one content item. Returns the local paths. |
| bb_upcomingC | Due dates from Blackboard for the next |
| bb_announcementsB | Recent announcements for one course, or for all current courses if none is given. |
| bb_syncA | Download the PDFs (slides, readings, worksheets) from every current course, or just |
| bb_sync_statusB | Progress (while running) or the result of the most recent bb_sync. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a fairly distinct action (login, status, courses, browse, download, upcoming, announcements, sync, sync_status). The only mild overlap is between bb_download (one content item) and bb_sync (bulk background download), plus bb_status vs bb_sync_status, but the descriptions clearly delineate single-item vs bulk and account-info vs progress.
All tools share a consistent bb_ snake_case prefix, making the set easy to scan. There is minor internal inconsistency (noun-style bb_status/bb_courses/bb_announcements vs verb-style bb_login/bb_browse/bb_download), but it remains readable and predictable.
Nine tools is well-scoped for a Blackboard integration spanning auth, course/content discovery, downloads, and scheduling. Each tool earns its place with no redundant entries.
The set covers the read/download lifecycle thoroughly: auth, status, course listing, content browsing, file fetching, deadlines, announcements, and bulk sync with progress tracking. Gaps exist for write actions (e.g. submitting assignments, posting to discussions) and a dedicated grades view, but these may be out of scope for a download-oriented server.