Skip to main content
Glama
jasonko
by jasonko

edit_student

Update existing student details such as name, SIS ID, or grade. Only submitted fields are changed; class enrollment is preserved.

Instructions

Update an existing student. Only provided fields change. Requires PS_ENABLE_WRITES.

Current values (name, SIS id, grade) are read from the edit form and preserved for any field you don't pass. Class enrollment is never touched — use add_class_students / remove_class_students / move_student_to_class.

Args: school_id: School ID student_id: Student ID (from list_students) first_name: New first name (optional) last_name: New last name (optional) student_sis_id: New SIS/external ID (optional) grade_id: New grade ID (optional; from list_grades)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
grade_idNo
last_nameNo
school_idYes
first_nameNo
student_idYes
student_sis_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden. It does so well: it states this is a partial update, that omitted fields are preserved, and that class enrollment is untouched. It doesn't state whether the operation is reversible, but it covers the key side effects an agent needs.

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?

Front-loaded with the core action and key constraint (provided fields only), then adds auth requirement, side-effect boundary, and parameter guidance. Each sentence earns its place.

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?

Covers purpose, partial-update semantics, required permission, and explicit exclusion of class enrollment. It does not describe the return value, but an output schema exists and the write action is straightforward.

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 has zero parameter descriptionscars, but the Description adds meaning: it identifies which params are new values (first_name, last_name, student_sis_id, grade_id), marks grade_id as sourced from list_grades, and clarifies that optional fields are only updated when provided. This compensates well for the schema's lack of documentation.

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

Purpose5/5

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

The first sentence states a specific action ('Update') on a specific resource ('an existing student') plus the settable fields (name, SIS ID, grade level). It is unmistakably distinct from add_student, edit_class, and read-only list/get siblings.

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

Usage Guidelines5/5

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

The description explicitly declares the write prerequisite (PS_ENABLE_WRITES), clarifies that only provided fields change, and explicitly routes class-enrollment changes to sibling tools (add_class_students, remove_class_students, move_student_to_class). An agent knows when to call this tool and when not to.

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