Skip to main content
Glama

canvas_read

Read-onlyIdempotent

Read Canvas LMS courses, assignments, submissions, modules, pages, and files through explicit operations, preserving pagination metadata and flagging incomplete results.

Instructions

Read a discovered operation with full Canvas fields, preserving pagination metadata.

Use explicit path values, e.g. {course_id: '101'}. Query arrays use keys like include[] and list values. One page is the default. A false complete flag means more data or an error; never treat it as a complete collection. Read-state mutations and unknown paths/queries are rejected by policy.

Input Schema

NameRequiredDescriptionDefault
pathNo
queryNo
max_pagesNo
operationYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.4

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/open-world, so the safety profile is covered. The description adds real behavior beyond that: one page is the default, pagination metadata is preserved, a false 'complete' flag signals more data or an error, and mutations/unknown paths are rejected by policy.

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-loads purpose in the first sentence, then packs syntax and pagination guidance into a few compact lines with no filler. A phrase like 'a false complete flag means more data or an error' is dense but earns its place.

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?

Output schema exists, so return values needn't be spelled out, and the description still covers the key non-obvious return signal (the 'complete' flag) and pagination. Combined with annotation coverage and path/query syntax guidance, an agent has what it needs to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description carries the burden well: it shows explicit path syntax ({course_id: '101'}), explains query array keys like include[] with list values, and notes one page is the default (mapping to max_pages). The 'operation' parameter is only indirectly explained as a discovered operation, leaving a small gap.

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 (read) plus the resource (a 'discovered operation'), tying it to canvas_discover and distinguishing it from fixed-resource siblings like canvas_courses. The abstraction 'discovered operation' is a bit generic, but an agent can tell this is the generic operation executor versus the dedicated endpoint tools.

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?

Provides clear context: it operates on operations surfaced by discovery, requires explicit path values, and rejects read-state mutations and unknown paths/queries. It doesn't explicitly name when to prefer canvas_courses or canvas_assignments over this generic reader, so it stops short of full when/when-not/alternatives coverage.

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