Skip to main content
Glama

Fiveable for AP Teachers

Update class

update_class
DestructiveIdempotent

Renames a class, changes its subject, or sets an AP Calculus class's course (AB or BC). Returns the previous values for reversal through a subsequent class update.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
classIdYesClass id from list_classes.
subjectSlugNo
courseVariantNoAP Calculus only: ap-calc-ab or ap-calc-bc.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNoReadable tool result text for clients that consume structured output.
statusYesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds the reversal mechanism (previous values returned for a subsequent update), which is genuinely useful, but says nothing about whether omitted fields are preserved, permission requirements, or side effects on enrolled students.

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?

Two tight sentences, front-loaded with the operations before the return-value note. Every clause carries information, though the reversal sentence could arguably be trimmed since an output schema exists.

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 low-complexity, four-parameter mutation tool with annotations and an output schema, this covers the operations, the conditional course field, and the reversal path. The main remaining gap is partial-update semantics (what happens to unspecified fields), which an agent would otherwise have to assume.

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 only 50% schema description coverage (name and subjectSlug undocumented in the schema), the description compensates by mapping each parameter to its effect: name → rename, subjectSlug → subject change, courseVariant → AB/BC course. It also covers the AP-Calculus-only restriction on courseVariant. It adds no format or constraint detail for the string fields.

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 gives a specific verb ('renames', 'changes', 'sets') tied to the class resource and enumerates the exact mutable fields (name, subject, AP Calculus course variant). It is clearly distinct from siblings like create_classes or archive_class, though it never explicitly contrasts itself with them.

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 states the concrete conditions under which each capability applies, including the important constraint that courseVariant only makes sense for AP Calculus, and hints that the returned previous values enable reversal via a follow-up call. It stops short of naming alternatives or stating when not to use it.

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.