MCP server for the KIT Campus portal: exam results, exam registrations, study progress and the public module catalogue.
Two tools with solid naming (verb_noun pattern), comprehensive parameter schemas with types and descriptions, and documented output structures. Tool descriptions are clear and actionable (150-250 chars). Parameters include proper constraints (enums, min/max bounds). Error handling delegates to _error() helper with context-aware messages. Main gaps: no batch operations, limited guidance on chaining between tools, and response_format parameter appears in both tools but could be abstracted. Schemas are well-formed JSON Schema with proper field typing.
Full detail for one module, including scheduled exam dates. No login needed. This is the tool for "when is the exam for module X" and "what lectures belong to module X" - the exam list carries concrete dates, times and rooms for upcoming terms.
Search the public KIT module catalogue (Modulhandbuch). No login needed. Use this to plan future semesters: find modules by title, identifier or credit range across every KIT degree programme.
response_format parameter duplicated across tools; should be abstracted to server-level configuration or a shared utility to reduce parameter noise and improve consistency
No batch operation for searching multiple modules or fetching multiple module details; agents calling these tools in loops waste tokens and latency
kit_get_module accepts 'module' parameter with three formats (identifier, GUID, URL) but does not document fallback behavior if one format fails or which format is preferred
Error messages reference external tools (search_modules, search_users) but those tools may not exist in the agent's context; error guidance should be self-contained
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Output schema documented in docstrings but not formally exposed in tool registration; LLMs cannot parse docstring examples to infer return structure