Canvas MCP Server

50 tools. 24 can modify or destroy data without limits.

4 destructive tools with no built-in limits. Policy required.

Last updated:

24 can modify or destroy data
26 read-only
50 tools total

Community server · catalogue entry verified 12/06/2026

How to control Canvas MCP Server ↓

What Canvas MCP Server exposes to your agents

Read (26) Write / Execute (20) Destructive / Financial (4)
Critical Risk

The most dangerous Canvas MCP Server tools

24 of Canvas MCP Server's 50 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Canvas MCP Server

PolicyLayer is an MCP gateway — it sits between your AI agents and Canvas MCP Server, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "delete-assignment": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "revert-page-revision": {
    "limits": [
      {
        "counter": "revert-page-revision_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "download-submission-file": {
    "limits": [
      {
        "counter": "download-submission-file_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Canvas MCP Server — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON CANVAS →

Free to start. No card required.

All 50 Canvas MCP Server tools

WRITE 20 tools
Write revert-page-revision Revert a page to a previous revision. Write apply-page-changes 🎨 STEP 2: Apply styleguide-compliant LLM-generated page modifications. Use this after patch-page-content show Write attach-rubric-to-assignment Attach a rubric to an assignment. Write bulk-update-assignment-dates Bulk update due/unlock/lock dates for assignments in a course. Write create-assignment Create a new assignment in a course. All fields are optional except courseId. Write create-assignment-group Create a new assignment group (bucket) in a course. All fields optional except courseId. Write create-quiz Create a new quiz in a course. Write create-quiz-question Create a new question in a quiz. Write create-quiz-question-group Create a new question group in a quiz. Write generate-styleguide 🎨 FOUNDATION TOOL: Generate and save a comprehensive Canvas styleguide page that serves as the formatting fou Write grade-submission Write back a score, grade, rubric points, or comment for a student Write patch-page-content 🎨 STYLEGUIDE-COMPLIANT SMART EDITING: Make targeted changes to existing page content using LLM assistance whi Write post-announcement Post an announcement to a specific course Write post-submission-comment Attach targeted feedback as a comment on a student Write toggle-module-publish Publish/unpublish a module (toggles the current published state). Write update-assignment Update an assignment. All fields are optional except courseId and assignmentId. Write update-page-content 🎨 STYLEGUIDE-AWARE FULL REPLACEMENT: Update or create a page with completely new content that automatically f Write update-quiz Update an existing quiz in a course. Write update-quiz-question Update an existing question in a quiz. Write update-quiz-question-group Update an existing question group in a quiz.
READ 26 tools
Read download-submission-file Download the actual content of a file attached to a submission. Returns file content as base64 for binary file Read get-assignment Fetch metadata for a single assignment (due date, points, rubric, submission types, etc). Read get-page-content Get the content of a specific page by URL slug. 🎨 IMPORTANT: Always reference the course styleguide (use get- Read get-quiz Fetch metadata for a single quiz Read get-quiz-question Fetch a single question from a quiz Read get-quiz-question-group Fetch a single question group from a quiz Read get-rubric-statistics Get statistics for rubric assessments on an assignment Read get-styleguide 📋 ESSENTIAL: Fetch the Canvas styleguide for a course to reference during page creation or editing. This is C Read get-submission-documents Retrieve a student Read get-submission-file-info Get detailed information about a specific file attached to a submission, including download URLs and metadata. Read list-assignment-groups List all assignment groups (buckets) in a course. Read list-assignment-submissions Fetch every student Read list-assignments Get a list of all assignments in a course with submission status for students Read list-courses List all courses for the authenticated user Read list-module-items Given a module ID, list its items (pages, quizzes, files, etc). Read list-modules Return all modules in a course (optionally inline items). Read list-page-revisions List all revisions for a page. Read list-pages List all pages in a course (by URL slug). 📋 TIP: Check if a Read list-quiz-question-groups Get a list of all question groups in a quiz Read list-quiz-questions Get a list of all questions in a quiz Read list-quizzes Get a list of all quizzes in a course Read list-rubric-assessments List all rubric assessments for an assignment. Read list-rubrics List all rubrics for a specific course Read list-section-submissions Get all student submissions for a specific assignment filtered by section Read list-sections Get a list of all sections in a course Read list-students Get a complete list of all students enrolled in a specific course

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Canvas MCP Server

Can an AI agent delete data through the Canvas MCP Server MCP server? +

Yes. The Canvas MCP Server server exposes 4 destructive tools including delete-assignment, delete-quiz, delete-quiz-question. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Canvas MCP Server? +

The Canvas MCP Server server has 20 write tools including revert-page-revision, apply-page-changes, attach-rubric-to-assignment. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Canvas MCP Server.

How many tools does the Canvas MCP Server MCP server expose? +

50 tools across 3 categories: Destructive, Read, Write. 26 are read-only. 24 can modify, create, or delete data.

How do I enforce a policy on Canvas MCP Server? +

Register the Canvas MCP Server MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Canvas MCP Server tool call.

Deterministic rules across all 50 Canvas MCP Server tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

50 Canvas MCP Server tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.