Skip to main content
Glama

Fiveable for AP Teachers

Update student

update_student
DestructiveIdempotent

Fixes a student's name on a class roster (the old name is kept as an alias so past work still matches), or sets the email used for assignment notifications. Students with Fiveable accounts can be renamed but their email comes from their account.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoFull name as the teacher wants it shown.
emailNo
handleYesStudent handle from get_class, e.g. S-4f2a1c.
classIdYesClass id from list_classes.

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

A4/5.0
Behavior4/5

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

Annotations already declare destructive=true, idempotent=true, readOnly=false, openWorld=false. The description adds meaningful context beyond them: the old name is kept as an alias so past work still matches (qualifying the destructive hint), the email drives assignment notifications, and Fiveable accounts block email changes. It does not describe partial-failure or permission behavior.

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?

Two tightly written sentences, front-loaded with the rename behavior and the alias side-effect, then the email behavior and its account constraint. No filler.

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?

An output schema exists, so return values need not be explained. For a mutation tool whose annotations cover the safety profile, the description supplies the key behavioral facts (alias retention, notification-email purpose, Fiveable constraint) and is nearly complete; only edge cases like what happens when both name and email are omitted are unaddressed.

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 coverage is 75% and the schema itself documents name, handle, and classId. The description touches name and email semantics but adds little beyond the schema's own 'Full name as the teacher wants it shown' and handle/classId descriptions. Baseline 3 is appropriate.

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?

States specific verbs and resources ('Fixes a student's name on a class roster', 'sets the email used for assignment notifications'), making the update-vs-add/remove distinction clear against siblings like add_students and remove_students. It stops short of naming those siblings explicitly, so it lands at a strong 4 rather than a 5.

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?

Explains the two update contexts (rename vs. set notification email) and gives a clear conditional constraint: students with Fiveable accounts can be renamed but their email comes from the account. It never names an alternative tool for cases it does not cover, so it is clear context without explicit routing.

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.