Skip to main content
Glama
Fireiscoolsolo

Canvas LMS MCP – Remote Edition

List My Enrollments

list_my_enrollments
Read-onlyIdempotent

List your enrollments across all Canvas courses to view roles, sections, and current grade summaries. Filter by enrollment type or state; read-only.

Instructions

List your enrollments across all courses, with role (student, observer…), section and current grade summary. Read-only. Use list_courses for course details; use this when you need roles, sections or per-enrollment grades.

Input Schema

NameRequiredDescriptionDefault
typeNoOptional enrollment type filter, e.g. "StudentEnrollment".
limitNoMaximum number of items to return. Smaller is faster.
stateNoactive, invited, completed, inactive

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.1.3
    • changedInput schema / properties / limit / description
      Previous value: -"Max items to return"New value: +"Maximum number of items to return. Smaller is faster."
    • addedInput schema / properties / type / description
      Added value: +"Optional enrollment type filter, e.g. \"StudentEnrollment\"."
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so "Read-only" is largely redundant, but the description adds genuinely new information about what each record contains (role, section, grade summary) in the absence of an output schema. It does not mention pagination or the effect of the limit cap, which is the main remaining gap.

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 sentences, zero filler, with the capability stated first and the disambiguation second. Every clause carries either scope, return content, or sibling routing.

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?

No output schema exists, and the description compensates by naming the fields returned per enrollment, which is the key information an agent needs. With a fully documented, all-optional parameter set and full annotation coverage, the only shortfall is the absence of any note on result volume or limit behavior.

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%, so all three optional filters (type, state, limit) are already documented with examples and value lists. The description adds only an indirect hint via the "role (student, observer…)" phrasing, which loosely maps to the type filter, so the 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 verb and resource ("List your enrollments") plus the scope ("across all courses") and the returned facets (role, section, grade summary). It explicitly distinguishes itself from the sibling list_courses, so an agent can choose between them without opening either schema.

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?

Gives both sides of the routing decision: "Use list_courses for course details; use this when you need roles, sections or per-enrollment grades." The alternative and the selecting condition are named outright, leaving nothing to inference.

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

Deploy Server

Other Tools