Skip to main content
Glama
Fireiscoolsolo

Canvas LMS MCP – Remote Edition

Get User In Course

get_user_in_course
Read-onlyIdempotent

Retrieve a user's profile in a Canvas course, including name, role, section, and avatar. Use it after listing course users to view one person's details; read-only and privacy-limited.

Instructions

Get one person's profile within a course: name, role, section and avatar. Read-only. Get user_id from list_course_users. Your institution's privacy settings may limit what is returned.

Input Schema

NameRequiredDescriptionDefault
user_idNoDefaults to 'self'
course_idYesCanvas course ID, a numeric string such as "12345". Get it from list_courses.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.3
    • changedInput schema / properties / course_id / description
      Previous value: -"Canvas course ID"New value: +"Canvas course ID, a numeric string such as \"12345\". Get it from list_courses."
  2. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds real value beyond them by flagging that institutional privacy settings can truncate the returned data. It does not explain failure behavior when the user is not enrolled in the course, which would be the remaining behavioral 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?

Three short sentences, front-loaded with the returned fields, then the safety note and the sourcing hint. Nothing is redundant except the restatement of read-only, which is harmless.

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 correctly shoulders the burden by listing the returned fields, and the parameter count is small enough that nothing is missing on the input side. Only the behavior for a user who isn't in the course is left 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 coverage is 100%, so both parameters are already documented, including the 'self' default for user_id and the numeric-string course ID format. The description only adds the provenance hint (user_id from list_course_users), so the baseline 3 applies.

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 a specific verb and resource ('Get one person's profile within a course') and enumerates exactly what fields come back: name, role, section, avatar. Scoping to a single person within a course distinguishes it from the list-style sibling, though it never explicitly contrasts with get_my_profile even though user_id defaults to 'self'.

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?

'Get user_id from list_course_users' gives the concrete prerequisite workflow, and the privacy caveat warns of partial results. There is no explicit when-not-to-use or alternative named (e.g. use get_my_profile for yourself), so it stops short of full routing guidance.

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