AI-Powered LMS Assistant using MCP — monitor, solve, and submit assignments
12 tools with basic schemas and descriptions, but significant gaps in parameter documentation, output schema clarity, and error handling guidance. Most tools lack descriptions of what they return and when to use them vs. alternatives. Parameters are minimally described (e.g., 'The assignment ID' with no format/constraint info). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Error responses appear to return raw exceptions rather than actionable recovery guidance. Naming is verb-first and generally clear, but composition issues exist: solve_assignment and generate_document both produce content but serve different purposes without clear distinction in descriptions.
Check if the submission window is currently open for an assignment. Returns open status, current submission status, time remaining, and whether action buttons are available on the page.
Classify an assignment type using AI (document, programming, handwritten, etc).
Download an attachment file for an assignment.
Generate a formatted DOCX or PDF submission document for the assignment.
Get full details of a specific assignment by its ID.
Check the submission status of an assignment.
Output schemas not documented. Tools like list_assignments, get_assignment, solve_assignment return complex objects but descriptions do not specify field names, types, or structure. LLMs cannot plan downstream calls or extract data reliably.
No tool annotations despite clear risk levels. submit_assignment is IRREVERSIBLE but lacks destructiveHint. classify_assignment and get_submission_status are READ_ONLY but lack readOnlyHint. Agents cannot distinguish safe from dangerous operations.
Parameter descriptions are minimal and lack constraints. 'The assignment ID' does not specify format, length, or pattern. 'Output format, "docx" or "pdf"' should be an enum constraint, not free-form string. No min/max for numeric params.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
List all visible assignments from the LMS dashboard.
Log in to the LMS. Credentials from env vars if omitted.
Log out from the LMS.
Generate an AI solution for the assignment.
Submit an uploaded assignment on the LMS.
Upload a submission file to the LMS.
Error handling returns raw exceptions ('Error: {e}') instead of actionable recovery guidance. No categorization of retryable vs. fatal errors. Agents cannot determine next steps when a call fails.
Credentials (username, password) exposed as optional tool parameters in login(). Even with env var fallback, LLMs may pass credentials explicitly, leaking them into logs and traces.