Skip to main content
Glama

Instructors and TAs

get_course_people
Read-only

Retrieve a Canvas course's teachers and TAs, with roles and any visible email addresses, and filter by teacher or TA to find who teaches the course and how to contact them.

Instructions

The teachers and teaching assistants of one Canvas course, with their role and email address when Canvas shows it. Pass course_id as the Canvas course ID or as the course name. Set role to teacher or ta to show only one kind, or leave it out for both. Canvas hides some email addresses from students, and those people are listed without one. Example: "Who teaches my Canvas Networking course and how do I email them?"

Input Schema

NameRequiredDescriptionDefault
roleNoteacher, ta or all. Defaults to all.
course_idYesCanvas course ID, the number Canvas shows for the course, or the course name such as "Networking 1". Ask get_my_courses for the list of IDs and names.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.10

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only and open-world behavior, and the description adds genuinely new context: some emails are hidden from students, so people may appear without one. That is a real data-shape caveat not present in annotations or schema.

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?

Content is front-loaded with the resource and return shape, then filtering, then the email caveat, then an example. Every sentence is useful, though the example is slightly redundant with the earlier description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/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 supplies the return shape (role, email) and the null-email edge case, and it explains how to obtain a valid course_id. Nothing needed to call this correctly is missing.

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 enum and its 'all' default. The description restates that role can be teacher, ta, or omitted for both, adding little beyond the schema; the name-vs-ID hint also duplicates the schema text.

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 opening sentence names the exact resource (teachers and TAs of one Canvas course) and what is returned (role and email). It is clearly distinct from sibling tools like get_my_courses, which is only referenced as an ID source.

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?

It tells the agent how to supply course_id (ID or course name) and explicitly points to get_my_courses for the list of IDs and names, plus a concrete example question. It lacks a when-not-to-use / alternative-tool exclusion, which keeps it 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.