MCP server for integrating with Moodle learning management system. Provides tools to retrieve user information, assignments, messages, quizzes, and courses from Moodle via its web service API.
Server has 5 tools with basic verb-noun naming (get_*, check_*), but critical quality gaps undermine usability. All tools lack parameter descriptions, the rubric requires every parameter to have a description explaining what it controls. Tool descriptions are present but generic and lack actionable context (e.g., 'Get assignmets whose deadline will be witin the designated date' has a typo and doesn't explain when to use it vs. other tools). No output schemas are documented, LLMs cannot plan downstream calls or extract structured data. Error handling is minimal: most tools return plain strings or raise generic exceptions without recovery guidance. The 'days' parameter in get_due_assignments and get_pending_quizzes lacks type constraints (min/max), allowing LLMs to pass absurd values. No tool declares what it returns or how to chain results. Security: MOODLE_TOKEN is injected via environment variable (good), but no audit logging or permission gates exist.
Get new messages from Moodle.
Get assignmets whose deadline will be witin the designated date by client from Moodle.
Get user's courses from Moodle.
Get user id from Moodle.
Get uncomleted quize from Moodle.
No parameter descriptions. The 'days' parameter in get_due_assignments and get_pending_quizzes lacks any description explaining its meaning, valid range, or default behavior. Rubric requires every parameter to have a description.
No output schemas documented. Tools return plain strings or integers without declaring structure. LLMs cannot infer what fields are present, breaking tool chaining and forcing manual parsing.
Generic, incomplete tool descriptions. 'Get assignmets whose deadline will be witin the designated date by client from Moodle' has a typo ('assignmets'), lacks context on when to use it, and doesn't explain what it returns. Descriptions under 50 chars or lacking actionable detail score 0-40.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
No input validation or error guidance. Tools return plain error strings ('課題情報の取得に失敗しました') without recovery hints. Rubric requires errors to tell the LLM what to do next.
Unbounded numeric parameters. 'days' parameter has no min/max constraints, allowing LLMs to pass negative or absurdly large values (e.g., 999999 days). Rubric requires numeric params to specify range.