MCP.so
Sign In
Servers

Canvas MCP Server

@defsolmcp

A Model Context Protocol (MCP) server for interacting with the Canvas LMS API

Overview

What is Canvas MCP Server?

Canvas MCP Server is a Model Context Protocol (MCP) server that integrates with the Canvas LMS API. It provides tools for managing courses, users, content, assessments, and quizzes in Canvas.

How to use Canvas MCP Server?

Clone the repository, install dependencies (npm install), create a .env file with your Canvas API token and URL, then build (npm run build) and start (npm start). To use with Claude for Desktop or Anything LLM, add a JSON configuration pointing to the built index.js file.

Key features of Canvas MCP Server

  • Secure authentication with Canvas API tokens
  • Course management: retrieve, list, and update courses
  • User management: view, enroll, and message users
  • Content management: pages, modules, and module items
  • Assessment management: assignments, grading, and announcements
  • Quiz management: create, update, and grade quizzes

Use cases of Canvas MCP Server

  • Automate course setup and content management
  • Retrieve and update student grades and submissions
  • Create and manage quizzes with questions
  • Send messages and announcements to course members
  • Enroll or remove users from courses

FAQ from Canvas MCP Server

What are the prerequisites for running Canvas MCP Server?

Node.js 16 or higher, a Canvas LMS instance, and a Canvas API token with appropriate permissions.

How do I set up authentication?

Place your Canvas API token and API URL in the .env file as CANVAS_API_TOKEN and CANVAS_API_URL.

Can I use Canvas MCP Server with Claude for Desktop?

Yes, add an mcpServers entry to your Claude for Desktop configuration with the command node and the path to the built index.js.

Can I use Canvas MCP Server with Anything LLM?

Yes, navigate to Settings > MCP in Anything LLM and add a new MCP server with the same command and path as for Claude for Desktop.

How can I run the server in development mode?

Use the command npm run dev instead of npm start for hot‑reloading during development.

Tags

More from Other