Skip to main content
Glama

Study material

study_material
Read-onlyIdempotent

Retrieve lesson materials, attachments, external links, and publisher resources by subject or date from Somtoday; omit arguments to list subjects with available study content.

Instructions

Studiemateriaal per subject: lesson material from the study planner (by date), year attachments by folder (file links), external links, and methods/publisher links (book fund). Without arguments: the subjects that have material, plus personal learning products when the school allows it. vak = name, abbreviation or uuid; all=true fetches every subject. Every item lists bijlagen (fileUrl, readable with download_attachment) and externeMaterialen; empty means the teacher attached nothing (lesmateriaal=true is only a flag, there is no separate material call).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
allNoFetch material for every subject.
vakNoSubject name, abbreviation or uuid.
leerlingIdNoNumeric leerling id. Required when more than one child is linked.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: no arguments returns subjects that have material plus personal learning products when the school allows it, empty collections mean the teacher attached nothing, and lesmateriaal=true is only a flag with no separate material call. This is valuable context that annotations do not provide.

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

Conciseness3/5

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

The description is front-loaded and does not waste many words, but it is dense and mixes Dutch terms with English in a long parenthetical structure. Some sentences pack multiple behaviors together, reducing readability. It is appropriately sized but could be structured more cleanly.

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?

There is no output schema, so the description must carry return-shape context. It does this adequately by explaining that every item lists bijlagen with fileUrl and externeMaterialen, and that empty means nothing attached. It could be more explicit about the overall response shape for subject lists, but it is sufficient for a read-only retrieval tool.

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?

Schema description coverage is 100%, so the baseline is 3. The description still adds meaning by explaining that vak accepts a name, abbreviation, or uuid, that all=true fetches every subject, and what happens when no arguments are supplied. It does not discuss leerlingId, but the schema already documents its conditional requirement clearly.

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 resource and scope: study material per subject, including lesson material by date, year attachments by folder, external links, and method/publisher links. It distinguishes itself from file-fetching by mentioning that bijlagen fileUrl is readable with download_attachment. The mixed Dutch/English phrasing ('Studiemateriaal', 'lesmateriaal') adds minor opacity but the purpose is still clear.

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 explains the no-argument default, the vak usage, and all=true, which helps an agent invoke it correctly. However, it does not explicitly say when to use this tool versus siblings such as lessons or homework, beyond noting that file URLs should be opened with download_attachment. Usage is implied rather than fully guided.

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