Local MCP server for York eClass, SIS, Cengage/WebAssign, course files, and RateMyProfessors.
eclass-mcp has 26 tools with consistent naming (verb_noun pattern) and descriptions present for all. However, parameter descriptions are sparse or missing for many tools, and output schemas are not documented in the visible code. Error handling is structured (ToolErrorPayload, SessionExpiredError) but recovery guidance is minimal. Tool composition is reasonable (single responsibility), but several tools lack clarity on expected return formats and chaining IDs. The server demonstrates good intent with auth retry logic and cache management, but falls short of production-grade documentation standards.
Delete a pinned resource and its cache
Check the health and status of the local cache
List all pinned resources
Pin a resource to prevent cache eviction
Refresh a pinned resource to update its cache
Unpin a previously pinned resource
Clear the local cache with optional scope filtering
Output schemas not documented. No visible return type specifications for any tool. LLMs cannot infer what fields to expect or plan downstream tool calls.
Parameter descriptions missing or minimal for many tools. E.g., 'discoveredLink' in list_cengage_courses lacks format/structure guidance; 'entryUrl' lacks validation hints.
No pagination guidance in tool descriptions. Tools like get_assignments, get_announcements accept 'limit' but do not document max values, offset/cursor support, or total count returns.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2025-06-18+ | v2 |
Discover Cengage/WebAssign links from eClass course content
Get course announcements from eClass
Get assignments from eClass with optional filtering
Get detailed information about a Cengage/WebAssign assignment
Get assignments from Cengage/WebAssign
Get class timetable from York SIS
Get course content and sections from eClass
Get assignment and quiz deadlines with flexible filtering
Get exam schedule from York SIS
Extract text from course files (PDF, DOCX, etc.)
Get grades from eClass
Get detailed information about an assignment or quiz
Get detailed information about a professor from RateMyProfessors
Get text content from a course section
Get upcoming assignment and quiz deadlines
List Cengage/WebAssign courses
List all courses from eClass
Prepare and validate an assignment submission before submitting
Search for professors on RateMyProfessors
Error recovery guidance incomplete. ToolErrorPayload includes code and message but does not guide LLM on retry eligibility, user-fixable vs fatal classification, or next-step actions.
Tool chaining IDs not guaranteed. E.g., get_assignments returns assignments but unclear if courseId is included for downstream get_item_details calls. Broken chains force extra lookups.