Skip to main content
Glama
cwon-z

icampus-mcp

by cwon-z

list_tasks

Read-only

Get a consolidated to-do list of pending assignments, quizzes, and lectures from iCampus and Canvas, sorted by due date. Filter by course, type, or due date window.

Instructions

Things to do across courses, soonest first: the iCampus remaining list merged with Canvas assignment/quiz submission status and lecture completion. Items with no due date come last.

Args:
    course: course ID, code (CSE1001) or part of the name. Omit for all courses.
    kind: only this kind of item.
    due_within_days: items due in the next N days (items without a due date are always included).
    past_days: also include items whose due date passed in the last N days (overdue/late window).
    include_done: also include submitted/completed items.
    limit: maximum items returned; `total` shows how many matched when truncated.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNo
limitNo
courseNo
past_daysNo
include_doneNo
due_within_daysNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

The description goes well beyond the readOnlyHint annotation by disclosing sorting order ('soonest first', 'Items with no due date come last'), aggregation behavior, the overdue/late window via past_days, inclusion semantics for include_done, and truncation behavior via limit and total. These are meaningful behavioral details not present in the annotations.

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

Conciseness5/5

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

The description is front-loaded with the core purpose and sorting behavior, followed by a compact Args list. Every line adds necessary semantic value, and there is no filler or repetition of schema defaults.

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 six-parameter list tool with no output schema, the description covers all parameters, sorting, filtering, and truncation semantics. It could add a sentence about the general return shape, but the mention of `total` and the list-oriented nature make it sufficiently complete for correct invocation.

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

Parameters5/5

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

Schema description coverage is 0%, so the description carries the full burden, and it succeeds. Every parameter is explained with practical meaning: course accepts ID/code/name, due_within_days always includes no-due-date items, past_days defines the overdue window, include_done covers submitted/completed items, and limit explains total when truncated.

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

Purpose5/5

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

The description opens with a specific, informative summary: 'Things to do across courses, soonest first' and names the exact sources (iCampus remaining list merged with Canvas assignment/quiz submission status and lecture completion). This clearly identifies the resource and behavior, and it is easy to distinguish from siblings like list_announcements, list_lectures, and get_grades.

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?

The intended use is implied by the summary and parameters, but the description never explicitly states when to prefer this tool over siblings or when not to use it. There is no exclusion guidance, such as 'for course metadata use list_courses' or 'for lecture-specific content use list_lectures.'

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