Skip to main content
Glama
chrischall
by chrischall

ic_list_assignments

Read-only

Retrieve a student's assignment list from Infinite Campus, with optional filters for date range, missing assignments, and a specific course.

Instructions

List a student's assignments. The IC endpoint returns the full term history (~hundreds of items); date and missing filters are applied client-side. For a single course, pass courseId (the sectionID from ic_get_schedule).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viewNoResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full" returns Infinite Campus's payload untouched. No field projection: this server has no verified record of which Infinite Campus fields matter, and inventing one would risk dropping a field a caller needs.
sinceNoYYYY-MM-DD; filters dueDate >= since (client-side)
untilNoYYYY-MM-DD; filters dueDate <= until (client-side)
courseIdNosectionID (optional, from ic_get_schedule). The endpoint supports server-side filtering by sectionID only.
districtYes
studentIdYes
missingOnlyNoOnly return assignments flagged missing by the teacher

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.0.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Addedv2.8.3

TDQS

A4.4/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, so no contradiction. The description adds useful behavioral context beyond that: the endpoint returns the full term history (~hundreds of items) and that since/until/missingOnly filtering is client-side. This is exactly the kind of behavior that affects invocation choices.

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?

Three tightly-written sentences with no filler. The first sentence states the core purpose, the second surfaces the key behavioral caveat, and the third gives the cross-tool parameter pointer. Everything earns its place.

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 read-only tool with no output schema and seven parameters, the description covers the main purpose, data volume, client-side filtering behavior, and the non-obvious courseId mapping. It does not detail the response shape or error conditions, but the schema's view parameter already says much about the response, so this is a minor gap.

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 71% schema description coverage, the description still adds meaning beyond the schema: it explains that filters are applied client-side and identifies courseId as the sectionID from ic_get_schedule. However, district and studentId remain only minimally explained as required fields.

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 'List a student's assignments,' a specific verb and resource. It also differentiates itself from the many sibling list tools by naming the resource type and mentioning courseId, which is enough to distinguish it from ic_list_assessments, ic_list_grades, and other list tools.

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

Usage Guidelines4/5

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

The description gives clear context: pass courseId to narrow to a single course, and warns that date/missing filters are applied client-side, so the caller can expect a large payload. It does not explicitly name alternatives or conditions to avoid this tool, but the usage context is unambiguous.

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