MyCourseVille MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCV_PASSWORD | Yes | Your MCV password | |
| MCV_USERNAME | Yes | Your MCV username | |
| MCV_STATE_DIR | No | Where the DB, cookies and downloads live | %LOCALAPPDATA%\mcv_mcp |
| MCV_LOGIN_METHOD | No | itchula for the IT Chula SSO button, mcv for the plain form | itchula |
| MCV_POLL_ENABLED | No | Set 0 to disable background polling | 1 |
| MCV_POLL_MINUTES | No | Poller interval (floor 10) | 30 |
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 |
|---|---|
| whats_newB | What appeared or changed on MyCourseVille recently. Args: since: ISO date, a relative span like '3d' / '12h', or 'yesterday'. Default 7 days. kinds: comma-separated filter, e.g. 'assignment_new,grade_new'. Default all. limit: max events to return. |
| list_upcoming_deadlinesB | Assignments due within the next N days, soonest first. |
| list_coursesB | Enrolled courses. |
| list_assignmentsC | Assignments with their deadline and description. |
| get_assignmentB | Full detail for one assignment. |
| list_materialsC | Course materials (files posted in MCV): folder, name and URL. |
| download_materialA | Download one material to the local downloads folder. Set extract_text to pull readable text out of PDFs so it can be summarised. |
| list_gradesA | Graded items and their scores. Items whose points MCV has not published yet are included with score 'Not ready' and
|
| sync_nowA | Refresh from MyCourseVille now. |
| auth_statusB | Diagnostics: credentials present, session state, last sync result, row counts. |
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 10 tools
Each tool targets a distinct action—checking changes, listing courses/assignments/materials/grades, downloading materials, syncing, and diagnostics. There is no overlap in purpose, so an agent can reliably select the right tool for a given task.
Most tools follow a clear verb_noun pattern (list_courses, get_assignment, download_material, sync_now). The only deviation is 'whats_new', which is more of a phrase than a verb/noun pair, but it is still descriptive and consistent with the snake_case style.
With 10 tools, the server covers the core LMS operations without being bloated. Each tool serves a clear purpose, and the count is well within the ideal range for a domain-specific integration.
The surface covers the main read-oriented workflows (course, assignments, materials, grades, changes) and adds sync/diagnostics. Minor gaps exist, such as no way to list announcements or create/edit items, but these are not essential for a typical consumption-focused MCP.