Skip to main content
Glama

setup

Initialize a Canvas installation by registering your school's URL and course URL, optionally setting token and course folder paths.

Instructions

Set this install up, one step per call. Relay the answer to the instructor.

Call with no arguments to see where things stand. Pass canvas_url to register a SCHOOL — that writes the config with an empty token and reports the file to paste one into; pass token as well only if the instructor prefers that, since the token then stays in this conversation's record. Pass course_url to register a COURSE, optionally overriding the proposed slug and course_dir.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNo
tokenNo
canvas_urlNo
course_dirNo
course_urlNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly: it discloses that canvas_url 'writes the config with an empty token and reports the file', warns that passing token means it 'stays in this conversation's record', and notes optional overrides. These side effects and privacy implications go well beyond the input schema.

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?

The description is compact but information-dense, front-loaded with the main purpose and then organized into clear call modes. Every sentence adds value, and the line breaks improve readability without padding.

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?

Given the tool's multi-mode setup workflow, it covers the main invocation paths, side effects, and safety notes. The output schema exists to document return values, so not describing them is acceptable. It could add a bit more about expected sequence or error behavior, but it is largely complete.

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

Parameters5/5

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

Schema coverage is 0%, yet the description assigns meaningful roles to all five parameters: canvas_url registers a school, token is an optional credential with a privacy caveat, course_url registers a course, and slug/course_dir are optional overrides. It fully compensates for the bare schema.

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 description opens with a clear directive 'Set this install up, one step per call' and then details distinct actions: checking status with no args, registering a SCHOOL via canvas_url, and registering a COURSE via course_url. This specific verb+resource framing distinguishes it from sibling content/course 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?

It gives explicit invocation scenarios: call with no arguments to inspect state, pass canvas_url to register a school, pass token only if the instructor prefers, and pass course_url for a course. It lacks an explicit 'do not use when' statement or named alternative, but the conditional token guidance and one-step-per-call constraint provide solid usage direction.

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/Canvas-LMS-MCP/canvas-teacher-mcp'

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