Skip to main content
Glama
aongzera

MyCourseVille MCP Server

by aongzera

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCV_PASSWORDYesYour MCV password
MCV_USERNAMEYesYour MCV username
MCV_STATE_DIRNoWhere the DB, cookies and downloads live%LOCALAPPDATA%\mcv_mcp
MCV_LOGIN_METHODNoitchula for the IT Chula SSO button, mcv for the plain formitchula
MCV_POLL_ENABLEDNoSet 0 to disable background polling1
MCV_POLL_MINUTESNoPoller 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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. yearsem filters to one semester, e.g. '2568/1'.

list_assignmentsC

Assignments with their deadline and description. cv_cid filters to one course.

get_assignmentB

Full detail for one assignment. assignment_id is ':'.

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. cv_cid filters to one course.

Items whose points MCV has not published yet are included with score 'Not ready' and released: false, so you can see what is still outstanding. Set released_only to hide them.

sync_nowA

Refresh from MyCourseVille now. full walks every semester, not just the current.

auth_statusB

Diagnostics: credentials present, session state, last sync result, row counts.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 10 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues