Skip to main content
Glama

read_course_material

Retrieve course overviews, module content, topics, or PDF/text materials from Ufora to review assigned readings and study resources locally.

Instructions

Read a Course Overview, module body, topic, or extractable PDF/text material.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
courseYes
materialYes
max_charsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.4/5.0
Behavior2/5

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

No annotations exist, so the description carries the full disclosure burden, and it provides almost nothing: no mention of required enrollment/permissions, whether reads are side-effect-free, or truncation behavior (the max_chars default implies truncation but that lives in the schema, not the description). What gets returned and whether access is scoped to the caller's own courses is entirely unaddressed.

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?

A single front-loaded sentence with no filler. It is efficiently written, though its brevity is partly a symptom of under-specification rather than disciplined concision.

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

Completeness2/5

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

For a 3-parameter tool with no annotations, no output schema, and 0% parameter coverage, the description is far too thin. It should at minimum explain identifier formats, truncation via max_chars, and how it differs from the many overlapping sibling getters.

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

Parameters2/5

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

Schema description coverage is 0%, so all three parameters are undocumented. The description's list of material types loosely hints at what 'material' might accept, but it never explains the identifier format for 'course' or 'material', nor the meaning/units of max_chars. Compensation for the coverage gap is minimal.

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

Purpose3/5

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

The verb 'Read' plus an enumeration of resource types (Course Overview, module body, topic, PDF/text) gives a rough sense of the operation. However, this overlaps heavily with siblings like get_course_overview and get_course_content, and the description never clarifies how read_course_material differs from them. An agent cannot confidently pick this over the alternatives.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no alternatives named. With siblings such as get_course_content and get_course_overview in the set, the absence of any routing hint is a real gap for a read tool.

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