Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CANVAS_OP_ITEMYesCanvas credential item name or ID
CANVAS_BASE_URLYesCanvas HTTPS origin, such as https://school.instructure.com
CANVAS_OP_FIELDNoConcealed token field label; defaults to credentialcredential
CANVAS_OP_VAULTYes1Password vault name or ID
CANVAS_WRITE_POLICYNoPath to write policy file (optional, to enable content authoring)
CANVAS_KEYCHAIN_ACCOUNTNomacOS Keychain account label when not using OP_SERVICE_ACCOUNT_TOKEN
CANVAS_KEYCHAIN_SERVICENomacOS Keychain service label when not using OP_SERVICE_ACCOUNT_TOKEN
OP_SERVICE_ACCOUNT_TOKENNoService account token for 1Password CLI (alternative to Keychain)

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
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
canvas_get_current_userA

Read the authenticated Canvas user's profile. Read-only.

canvas_list_modulesA

List modules and module items for one Canvas course. Read-only.

canvas_read_apiB

Read one Canvas REST API v1 path with GET. Cannot make changes.

canvas_get_write_policyA

Show write-policy state and approved course IDs. Does not expose credentials.

canvas_write_pageA

Create or update exactly one Canvas page. Disabled by default. Requires a local per-course allowlist, exact user confirmation, and approval of this write action in the MCP client. This is not generic Canvas write access.

canvas_create_moduleA

Create exactly one Canvas module in an approved course. Disabled by default and requires explicit confirmation.

canvas_create_module_itemA

Add one existing Canvas content item or external URL to an existing module in an approved course. Disabled by default and requires explicit confirmation.

canvas_create_assignmentA

Create exactly one Canvas assignment in an approved course. Disabled by default and requires explicit confirmation.

canvas_create_discussionA

Create exactly one Canvas discussion in an approved course. Disabled by default and requires explicit confirmation.

canvas_create_classic_quizA

Create exactly one Canvas Classic Quiz in an approved course. New Quizzes are not supported by this tool. Disabled by default and requires explicit confirmation.

canvas_create_classic_quiz_questionA

Add one question to an existing Canvas Classic Quiz in an approved course. Disabled by default and requires explicit confirmation.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct Canvas resource and action: user info, module listing, generic API read, write policy, and specific create operations for pages, modules, module items, assignments, discussions, and quizzes. The quiz and quiz-question pair are clearly hierarchical, and the generic read tool is distinct from the specific list tool.

Naming Consistency4/5

All tools use the 'canvas_' prefix followed by a verb_noun pattern (get_user, list_modules, create_assignment, etc.). Minor deviations include 'read_api' instead of 'get_api' and 'write_page' instead of 'create_page', but the overall pattern is predictable and consistent.

Tool Count5/5

With 11 tools, the set is well-scoped for a Canvas LMS integration focused on reading course structure and creating content items. Each tool has a clear purpose, and the count falls comfortably in the ideal 3-15 range without feeling bloated.

Completeness3/5

The tool surface covers reading (user, modules, generic API), creation (pages, modules, module items, assignments, discussions, quizzes, quiz questions), and page updates, but lacks explicit update/delete operations for most created entities. The generic canvas_read_api provides a workaround for reads, but delete operations are entirely absent, leaving a noticeable lifecycle gap.

Maintenance

ActivityMaintained
ResponsivenessNo issues