Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CANVAS_BASE_URLNoCanvas instance URL (defaults to https://fhict.instructure.com)https://fhict.instructure.com
CANVAS_API_TOKENYesYour Canvas API token

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list-coursesA

List all active courses for the authenticated user. Returns course name, ID, course code, and term for each course.

post-announcementB

Post an announcement to a specific course

list-studentsB

Get a complete list of all students enrolled in a specific course

list-assignmentsA

Get a list of all assignments in a course with submission status for students

get-assignmentA

Fetch metadata for a single assignment (due date, points, rubric, submission types, etc).

create-assignmentB

Create a new assignment in a course. All fields are optional except courseId.

update-assignmentB

Update an assignment. All fields are optional except courseId and assignmentId.

delete-assignmentA

Delete (archive) an assignment from a course.

list-assignment-groupsA

List all assignment groups (buckets) in a course.

create-assignment-groupB

Create a new assignment group (bucket) in a course. All fields optional except courseId.

bulk-update-assignment-datesA

Bulk update due/unlock/lock dates for assignments in a course.

list-modulesA

Return all modules in a course (optionally inline items).

list-module-itemsA

Given a module ID, list its items (pages, quizzes, files, etc).

toggle-module-publishA

Publish/unpublish a module (toggles the current published state).

create-moduleA

Create a new module in a course.

update-moduleC

Update an existing module's name, position, prerequisites, sequential progress, or published state.

delete-moduleA

Delete a module from a course. This is permanent and removes all module items.

get-module-itemA

Get details for a single module item.

create-module-itemA

Add a new item to a module. Type must be one of: File, Page, Discussion, Assignment, Quiz, SubHeader, ExternalUrl, ExternalTool.

update-module-itemA

Update an existing module item's title, position, indent, external URL, published state, completion requirement, or move it to another module.

delete-module-itemA

Remove an item from a module.

generate-styleguideA

Generate and save a Canvas styleguide page for a course with design standards, accessibility guidelines, and Canvas-specific formatting best practices. Creates the page at the given URL slug (default: canvas-styleguide).

get-styleguideA

Fetch the Canvas styleguide page for a course. Returns the page title, last-updated timestamp, and full HTML body.

list-pagesA

List all pages in a course. Returns title, URL slug, page ID, and published status for each page.

get-page-contentA

Get the full content of a page by URL slug. Returns title, URL slug, page ID, published status, last-updated timestamp, and HTML body.

update-page-contentA

Update or create a page with new content, replacing the entire body. If no body/title/editingRoles is provided, nothing is written and guidance is returned (set showStyleguidePreview to also inline the styleguide). For targeted edits to existing content, use patch-page-content instead.

list-page-revisionsA

List all revisions for a page.

revert-page-revisionA

Revert a page to a previous revision.

patch-page-contentA

Fetch a page's current HTML body and return it alongside edit instructions for the model to apply. Does not write to Canvas — follow up with apply-page-changes to persist the result. Optionally includes the course styleguide for formatting reference. For full replacement, use update-page-content instead.

apply-page-changesA

Write revised HTML content to a Canvas page. Accepts the full new body as newContent and saves it. Intended as the second step after patch-page-content.

list-sectionsA

List all sections in a course. Returns section name, ID, SIS ID, and optional date ranges. Set includeStudentCount to include enrollment totals per section.

list-section-submissionsA

Get all student submissions for a specific assignment filtered by section

list-assignment-submissionsB

Fetch every student's submission status & comments for an assignment.

grade-submissionC

Write back a score, grade, rubric points, or comment for a student's submission.

post-submission-commentA

Attach targeted feedback as a comment on a student's submission.

get-submission-documentsA

Retrieve a student's submission with attachment metadata and optional file downloads. Returns submission details, file information, and optionally the actual file content.

get-submission-file-infoA

Get detailed information about a specific file attached to a submission, including download URLs and metadata.

download-submission-fileA

Download the actual content of a file attached to a submission. Returns file content as base64 for binary files or as text for text files.

list-rubricsA

List all rubrics in a course. Returns rubric title, ID, and description for each rubric.

get-rubric-statisticsA

Get statistics for rubric assessments on an assignment

list-rubric-assessmentsB

List all rubric assessments for an assignment.

attach-rubric-to-assignmentB

Attach a rubric to an assignment.

list-quizzesB

Get a list of all quizzes in a course

get-quizA

Fetch metadata for a single quiz

create-quizB

Create a new quiz in a course.

update-quizC

Update an existing quiz in a course.

delete-quizB

Delete a quiz from a course.

list-quiz-questionsA

Get a list of all questions in a quiz

get-quiz-questionB

Fetch a single question from a quiz

create-quiz-questionA

Create a new question in a quiz.

update-quiz-questionC

Update an existing question in a quiz.

delete-quiz-questionB

Delete a question from a quiz.

list-quiz-question-groupsA

Get a list of all question groups in a quiz

get-quiz-question-groupA

Fetch a single question group from a quiz

create-quiz-question-groupA

Create a new question group in a quiz.

update-quiz-question-groupA

Update an existing question group in a quiz.

delete-quiz-question-groupA

Delete a question group from a quiz.

list-eportfoliosA

List all ePortfolios belonging to a user. Returns id, name, public flag, workflow state, and timestamps.

get-eportfolioA

Get details for a single ePortfolio by ID.

get-eportfolio-pagesA

List all pages in an ePortfolio. Returns id, position, name, content, and timestamps for each page.

Prompts

Interactive templates invoked by user choice

NameDescription
analyze-rubric-statisticsAnalyze rubric statistics for formative assignments in a course

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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

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