Skip to main content
Glama

build_coding_assignment_page

Generate a Canvas assignment page for a coding task using a GitHub starter repo and assignment details, with optional direct publishing to Canvas.

Instructions

Build the Canvas page for a programming assignment whose starter repo is on GitHub.

assignment carries the content: code, title, gist, spec, restrictions, elaboration, test_items, and either prototype + params + returns (a function to write) or input + output + expected (a program reading stdin). Read the git-asmt-page skill before filling it — the field list and the section order are its subject.

Returns the rendered HTML; with publish_to_canvas it also creates the Canvas assignment.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
courseYes
due_atNo
pointsYes
assignmentYes
rubric_weightsNo
publish_to_canvasNo
Behavior4/5

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

No annotations are provided, so the description carries the burden of safety/side-effect disclosure. It explicitly states 'Returns the rendered HTML; with `publish_to_canvas` it also creates the Canvas assignment,' disclosing the conditional write behavior. It doesn't cover permissions/errors/rate limits, but for a build-and-optionally-publish tool this is meaningful transparency.

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 and front-loaded: purpose sentence first, then the assignment payload, then return/side-effect. Every sentence adds information, and the skill pointer prevents duplicating a lengthy field/section spec.

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?

For a tool with 6 params, nested objects, and no output schema or annotations, this is fairly complete: it explains the return value, the optional publishing side effect, the assignment payload's shape, and points to the `git-asmt-page` skill for ordering/field details. It could add semantics for rubric weights or due dates, but those are reasonably inferable from schema.

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?

Schema coverage is 0%, but the description compensates for the most complex parameter by enumerating `assignment`'s fields and its two modes (`prototype`/`params`/`returns` vs `input`/`output`/`expected`). It also explains `publish_to_canvas`'s effect. The remaining params (`course`, `points`, `due_at`, `rubric_weights`) are not described, but their names/schema types make them self-evident.

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 'Build the Canvas page for a programming assignment whose starter repo is on GitHub' — a specific verb, resource, and qualifying context. It distinguishes itself from siblings like build_notebook_assignment_page by scoping to Git-backed programming assignments, and mentions optional publishing to Canvas.

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 clear context: this is for programming assignments with starter repos on GitHub and instructs the agent to 'Read the `git-asmt-page` skill before filling it.' It does not explicitly name alternatives or when-not-to-use, but the GitHub-repo condition and skill reference provide adequate guidance.

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