Skip to main content
Glama

Overdue work

get_overdue
Read-only

Find overdue Moodle assignments and tasks from the past 45 days that still need action, including course names and due dates. Optionally limit results to specific courses.

Instructions

Answers 'is anything overdue?' Lists past due items from the last 45 days that still need action, with the course name and the date each was due. Input: course_ids, an optional array of course IDs to limit the list; leave it out to cover all current courses. Ask: 'Is anything overdue?'

Input Schema

NameRequiredDescriptionDefault
course_idsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.5

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the readOnly/openWorld profile, and the description adds substantive behavior beyond them: the 45-day lookback window, the 'still need action' filter, and the shape of what comes back (course name plus due date). It stops short of saying how results are ordered or what an empty answer looks like, but the added context is real.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the question it answers, then the return shape, then the parameter — a logical order with little waste. The only flaw is redundancy: 'is anything overdue?' appears at the start and again as a closing 'Ask:' line, which earns nothing the first sentence didn't.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-param read tool with no output schema, the definition supplies purpose, default scope, time window, and returned fields — enough to call it correctly and interpret results. Ranking/pagination behavior is unstated but unlikely to matter for this query shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% reported schema description coverage on the parameter itself, the description carries the burden and does so: course_ids is identified as an optional array that limits the list, and the default (omit it → all current courses) is spelled out. The schema's item description adds the get_my_courses pointer, which the prose doesn't repeat — minor, but the essential semantics are covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific question it answers ("is anything overdue?") and the resource it returns: past due items from the last 45 days that still need action, with course name and due date. That is concrete enough to separate it from get_upcoming_due_dates, but it never names or contrasts with the neighboring overdue/missing/todo tools, so sibling differentiation relies on inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It does give a usable when-to-use cue ("Ask: 'Is anything overdue?'") and a scoping rule (omit course_ids to cover all current courses). However, it gives no exclusions or alternatives — nothing tells the agent why to pick this over get_missing_work or get_todo, which likely overlap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.