Skip to main content
Glama
cabrt

Canvas MCP Server

by cabrt

get_full_course_context

Retrieve all course information in one request: syllabus, assignments, announcements, discussions, modules, files, and grades.

Instructions

Get EVERYTHING for a course in one call: details, syllabus, assignments, announcements, discussions, modules, files, and grades.

Args: course_id: Canvas course ID

Returns: {course, assignments, announcements, discussions, modules, files, grades}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
course_idYes
Behavior3/5

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

No annotations provided. Description discloses the return structure with keys like {course, assignments, ...}. However, it omits potential behavioral traits such as performance impact, permission requirements, or error handling for missing data.

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?

Highly concise with no wasted words. Structured Args/Returns section aids parsing. Every sentence adds value.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a single-parameter bulk retrieval tool, but lacks details on potential pagination, error handling, or behavior when sub-resources are empty. Could benefit from noting that this is a heavy composite call.

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

Parameters2/5

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

Single parameter course_id is described as 'Canvas course ID', which adds minimal meaning beyond the schema property name. Schema coverage is 0%, so the description does not compensate with additional context like formatting or constraints.

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?

Description clearly states it retrieves 'everything for a course in one call' and enumerates the specific components (details, syllabus, etc.). It distinguishes itself from sibling tools like get_course and get_assignments by being a comprehensive bulk endpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage is for fetching all course data at once, but no explicit when-to-use or when-to-avoid guidance. Sibling tools are listed but not referenced as alternatives for targeted queries.

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/cabrt/canvas-mcp'

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