Canvas MCP Server

Manages courses, assignments, enrollments, and grades within Canvas using the Canvas API.

Remote serverstreamable-httpTypeScript★ 101

What is the Canvas MCP Server?

Manages courses, assignments, enrollments, and grades within Canvas using the Canvas API.

What it actually does

This project is an independent MCP server for Canvas LMS APIs. It is not affiliated with, endorsed by, or maintained by Instructure or Canvas.

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
canvas_health_checkCheck API connectivity
canvas_list_coursesList all your courses
canvas_get_courseGet detailed course info
canvas_list_assignmentsList course assignments
canvas_get_assignmentGet assignment details
canvas_submit_assignmentSubmit assignment work
canvas_get_submissionCheck submission status
canvas_list_modulesList course modules
canvas_get_moduleGet module details
canvas_list_module_itemsList items in a module
canvas_mark_module_item_completeMark items complete
canvas_list_discussion_topicsList discussion topics
canvas_get_discussion_topicGet discussion details
canvas_post_to_discussionPost to discussions

How to install the Canvas MCP Server

{
  "mcpServers": {
    "canvas-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "canvas-mcp-server"
      ],
      "env": {
        "CANVAS_API_TOKEN": "YOUR_CANVAS_API_TOKEN",
        "CANVAS_DOMAIN": "your_school.instructure.com"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
CANVAS_API_TOKENDeclared in the maintainer’s client configuration.Check documentation
CANVAS_DOMAINDeclared in the maintainer’s client configuration.Check documentation

Example prompts to try

  • “Use Canvas to canvas health check.”
  • “Use Canvas to canvas list courses.”
  • “Use Canvas to canvas get course.”

Frequently asked questions

The tool returns error messages with `isError: true`. Check logs for details, ensure environment variables are set correctly, and validate types using TypeScript.