Skip to main content
Glama

remove_enrollment

Destructive

Remove, conclude, or deactivate a student enrollment in a Canvas course. Choose delete for permanent removal or conclude/deactivate for reversible actions.

Instructions

Remove or conclude an enrollment from a course. The 'delete' task is permanent; 'conclude' and 'deactivate' are reversible.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
course_idYesThe Canvas course ID
enrollment_idYesThe enrollment ID to remove
taskYesThe action to perform on the enrollment
Behavior4/5

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

Annotations provide destructiveHint=true and openWorldHint=true. The description adds critical behavioral detail: that 'delete' is permanent while 'conclude' and 'deactivate' are reversible. This goes beyond annotations and helps the agent understand consequences. No contradiction.

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?

The description is a single, clear sentence that front-loads the action ('Remove or conclude an enrollment') and immediately adds critical nuance about permanence. Every word 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?

Given no output schema and annotations covering destructiveness, the description adequately explains the tool's effect and task differences. It could mention what happens on success (e.g., enrollment state change), but for a removal tool it is sufficiently complete.

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?

Input schema describes all three parameters (course_id, enrollment_id, task) with descriptions and enum. Schema coverage is 100%, so parameters are fully documented. The description does not add further param details but is consistent. Baseline 3 is appropriate.

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 description clearly states the tool removes or concludes an enrollment. It distinguishes between 'delete' (permanent) and 'conclude/deactivate' (reversible), providing specific verb+resource and differentiating actions. Siblings like enroll_user and list_enrollments are complementary, so purpose is unambiguous.

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?

The description explains when to use each task action (permanent vs reversible), giving clear context. It does not explicitly state when not to use this tool or list alternatives, but the sibling set is limited to enrollment creation and listing, so usage is implied.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bruchris/canvas-lms-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server