Skip to main content
Glama

My grades

get_my_grades
Read-only

Retrieves grades on returned Google Classroom work by class, including teacher comments, with optional course filtering; aggregates graded work and weighted percentages when categories are used.

Instructions

Grades on returned work for each class, with the comment the teacher left on the work. Google Classroom has no overall grade, so this adds up graded work only, and adds a weighted percent when the class uses grading categories with weights. Pass course_ids to limit it, or leave empty for all active classes. Use this when the user asks 'How am I doing in my classes?' or 'What grades have I gotten back?'

Input Schema

NameRequiredDescriptionDefault
course_idsNoClassroom course IDs to check. Leave empty for all active classes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.5

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description's job is to add context beyond safety. It does that well: it discloses that there is no overall grade, that the number is an aggregation of graded work only, and that weighting applies only when grading categories with weights exist. It omits return shape and any rate-limit or pagination behavior, keeping it below 5.

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?

Front-loaded with the core purpose, then the aggregation caveat, then parameter guidance, then trigger examples. Every sentence carries information; the only mild cost is length across four sentences, but nothing is redundant with the schema beyond the empty-parameter restatement.

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?

With no output schema, the description must convey what comes back, and it does: per-class grades, teacher comments, and a weighted percent when applicable. Combined with a single optional parameter and clear annotations, an agent has enough to call it correctly; only the exact response structure and error/edge behavior are unstated.

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 description coverage is 100% and the schema already says 'Classroom course IDs to check. Leave empty for all active classes.' The description restates the same empty-means-all-active-classes behavior without adding format, limits, or validation details, so baseline 3 applies.

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?

States a specific resource and scope: 'Grades on returned work for each class, with the comment the teacher left.' It also explains the derived semantics (no overall grade in Classroom, so it sums graded work and computes a weighted percent when categories have weights), which distinguishes it from siblings like get_assignments or get_assignment_details.

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?

Gives explicit trigger phrasing ('How am I doing in my classes?', 'What grades have I gotten back?') and explains the parameter branch: pass course_ids to limit, leave empty for all active classes. It does not say when to prefer a sibling such as get_target_grade or get_assignment_details instead, so it stops short of a 5.

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