Skip to main content
Glama

canvas_page

Read-onlyIdempotent

Read a Canvas course wiki page in full from a course_id and page_url, returning its title, body text, and links for course content review.

Instructions

Read a course wiki page in full (title and body as text with its links). Take page_url from a module item or from canvas_pages. For group pages use canvas_context_page.

Input Schema

NameRequiredDescriptionDefault
rawNotrue: Canvas's unmodified JSON (UTC times, HTML).
page_urlYesThe page_url of the page, from canvas_pages or a module item.
course_idYesCanvas course id, from canvas_courses.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), yet the description still adds useful behavior: the return is a full title and body rendered as text with links. It does not mention access restrictions on unpublished pages, which is the only notable 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 primary action, followed by parameter sourcing and then the sibling exclusion. No filler whatsoever.

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?

A read-only, three-parameter tool with no output schema is adequately covered: the description describes the returned content and where the required identifier comes from. Only the raw/JSON variant and page-visibility behavior go unexplained.

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 course_id and page_url are documented structurally, and the description's note about sourcing page_url largely restates the schema. No added detail on the raw flag or its JSON/HTML trade-off, so 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 ("Read a course wiki page") plus scope ("in full (title and body as text with its links)"), and explicitly separates itself from canvas_pages (the listing) and canvas_context_page (group pages). An agent can distinguish it from every sibling without opening a schema.

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?

Gives concrete routing: page_url comes from a module item or canvas_pages, and group pages must use canvas_context_page instead. That is a clear positive and negative condition, though it does not spell out that canvas_pages is the discovery step for unauthored case beyond the parenthetical.

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