On-premise knowledge layer that makes a university's systems queryable by AI agents over MCP — no data extraction.
Four tools with basic verb-noun naming (get_*) and descriptions present, but significant gaps in schema completeness and parameter documentation. All tools are READ_ONLY, which is good for safety. However, parameter descriptions lack detail on format/constraints, and output schemas are not documented. No error handling guidance visible. Tool descriptions are adequate (50-100 chars) but could be more specific about when to use each tool vs. alternatives.
Look up an employee directory record by email address.
List the members of a department for org-chart construction.
Get all courses a student is enrolled in for the current term.
Get a student's recent assignment submissions across all courses.
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields without knowing what each tool returns.
Parameter descriptions lack format/constraint details. 'student' parameter accepts multiple formats (Canvas ID, sis_user_id, sis_login_id) but LLMs are not guided on which to prefer or how to construct qualified references.
No error handling guidance. Tools do not document what happens on invalid input (e.g., non-existent student ID, malformed email) or how LLMs should recover.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Tool descriptions do not explain when to use each tool vs. alternatives. E.g., when should an agent call get_student_courses vs. get_student_submissions? What is the use case for each?
days_back parameter in get_student_submissions has a default (7) but no min/max bounds documented. LLMs may pass unreasonable values (e.g., 10000 days).