Skip to main content
Glama

List course documents

list_course_documents
Read-onlyIdempotent

List the documents of one course (use list_schools_courses to find the course id), optionally filtered by name, season or year, or get the course's document counts by type.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "courseId": "<courseId>"
    },
    "name": "list_course_documents"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
skipNo
yearNo
limitNo
countsNotrue returns counts by document type instead of a list
seasonNo
courseIdYesCourse id

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so safety is covered. The description adds the meaningful behavioral fact that counts=true swaps a list for per-type counts, but says nothing about pagination behavior or result volume, which matters for a listing call.

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?

A single sentence that front-loads the core action, then the prerequisite lookup, then the optional filters, then the alternate mode. No filler and nothing buried.

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

Completeness3/5

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

For a 7-parameter listing tool with no output schema and sparse schema descriptions, the definition covers purpose and filters adequately but leaves pagination semantics (skip, default limit of 20, max 50) unaddressed. That omission is the main thing an agent needs in order to call it without silently truncating results.

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

Parameters3/5

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

Schema description coverage is only 29%, and the description compensates for just part of that: it explains name, season, year as filters and reinforces the counts switch. It says nothing about skip/limit, so an agent could easily miss that limit defaults to 20 with a max of 50 and that results are paginated.

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?

The description states a specific verb and resource with an explicit scope: documents belonging to one course, with an alternate counts mode. That scope distinguishes it from broad siblings like list_my_documents or search_library, though it never names those alternatives to contrast against.

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?

It gives a concrete prerequisite workflow by pointing to list_schools_courses for obtaining the courseId, and frames name/season/year as optional filters. It stops short of saying when to prefer this over find_documents or list_my_documents, so no exclusions are stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources