MCP server for Lamakū, the University of Hawaiʻi's D2L Brightspace LMS — read course data and author announcements, content, assignments, grade items and discussions, with a FERPA guard on student identities
25 tools with consistent verb-noun naming (list_, get_, create_, set_). All have descriptions (avg 45 chars, baseline 194). Input schemas present with typed parameters. However, descriptions are terse and lack LLM-optimized guidance on WHEN to use each tool or what happens next. Output schemas undocumented. Write operations lack confirmation/dry-run patterns. No error recovery guidance. Parameter descriptions are minimal (avg 20 chars, baseline 72). Missing pagination details for list operations. confirmToken pattern suggests confirmation flow exists but is not formally documented in tool definitions.
Create an announcement in a course
Create an assignment in a course
Create a checklist in a course
Create a content module in a course
Create a content page within a module
Create a discussion forum in a course
Create a grade item in a course
Output schemas undocumented. Tool descriptions state what is returned (e.g., 'Get details about a specific course') but do not specify the response structure, field names, or types. LLMs cannot plan downstream tool calls or extract required IDs without knowing response shape.
Descriptions are terse (avg 45 chars vs baseline 194). Lack guidance on WHEN to use each tool, prerequisites, or what happens next. E.g., 'List assignments in a course' does not explain whether this returns only active assignments, includes drafts, or requires instructor role.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Create a page in a course
Create a quiz in a course
Get details about a specific announcement
Get details about a specific assignment
Get details about a specific content item
Get details about a specific course
Get details about a specific discussion forum
Get details about a specific grade item
Import content into a course
List announcements in a course
List assignments in a course
List calendar events for a course
List content modules in a course
List courses the user is enrolled in
List discussion forums in a course
List grade items in a course
Set visibility of course items
Upload media files to a course
Parameter descriptions are minimal (avg 20 chars). 'Course ID' and 'Assignment ID' lack context on format, range, or how to obtain them. No guidance on whether IDs are numeric, alphanumeric, or opaque. Baseline is 72 chars per parameter.
Write operations (create_*, upload_*, import_*, set_visibility) require confirmToken but lack documented error recovery. No guidance on what happens if confirmation fails, how to retry, or what invalid tokens return. Agents cannot self-correct.
List operations (list_courses, list_assignments, etc.) lack pagination parameters (limit, offset, page_size, cursor). No indication of result caps or whether large result sets are truncated. Agents cannot fetch all items or control response size.