Integrations
Used for environment variable management to store configuration settings like API tokens and URLs.
Provides tools for interacting with the Canvas LMS API, enabling course and user management, content creation, assessments, and quiz administration within a Canvas learning management system.
Used for cloning the repository during the installation process.
Canvas MCP Server
A Model Context Protocol (MCP) server for interacting with the Canvas LMS API. This server provides tools for managing courses, users, content, and assessments in Canvas.
Features
- Authentication: Secure authentication with Canvas API tokens
- Course Management: Get course information, list courses, update course settings
- User Management: Get user information, list course users, manage enrollments
- Content Management: Create and manage pages, modules, and module items
- Assessment Management: Create and manage assignments, grade submissions, create announcements
- Quiz Management: Create and manage quizzes, quiz questions, and grade quiz submissions
Prerequisites
- Node.js 16 or higher
- A Canvas LMS instance
- Canvas API token with appropriate permissions
Installation
- Clone the repository:Copy
- Install dependencies:Copy
- Create a
.env
file based on the.env.example
file:Copy - Edit the
.env
file with your Canvas API token and URL:Copy - Build the project:Copy
Usage
Running the Server
Configuring with Claude for Desktop
To use this MCP server with Claude for Desktop, add the following to your Claude for Desktop configuration file:
Replace /ABSOLUTE/PATH/TO/
with the actual path to your canvas-mcp-server directory.
Configuring with Anything LLM
To use this MCP server with Anything LLM, add the following to your Anything LLM MCP configuration:
- Navigate to Settings > MCP in your Anything LLM interface
- Add a new MCP server with the following configuration:
Replace /ABSOLUTE/PATH/TO/
with the actual path to your canvas-mcp-server directory.
For more information, see the Anything LLM MCP documentation.
Available Tools
Course Management
get_course
: Get information about a Canvas courselist_courses
: List Canvas courses for the current userupdate_course
: Update Canvas course settingsget_course_modules
: Get modules for a Canvas courseget_course_assignments
: Get assignments for a Canvas course
User Management
get_user
: Get information about a Canvas userget_self
: Get information about the current Canvas userlist_course_users
: List users enrolled in a Canvas courseenroll_user
: Enroll a user in a Canvas courseremove_enrollment
: Remove a user enrollment from a Canvas coursesend_message
: Send a message to a Canvas user
Content Management
get_course_pages
: Get pages for a Canvas courseget_page_content
: Get content of a Canvas pagecreate_or_update_page
: Create or update a Canvas pagedelete_page
: Delete a Canvas pagecreate_module
: Create a new module in a Canvas courseadd_module_item
: Add an item to a module in a Canvas course
Assessment Management
create_assignment
: Create a new assignment in a Canvas courseupdate_assignment
: Update an existing assignment in a Canvas coursegrade_submission
: Grade a student submission for an assignmentget_submissions
: Get student submissions for an assignmentcreate_announcement
: Create a new announcement in a Canvas course
Quiz Management
list_quizzes
: List quizzes in a Canvas courseget_quiz
: Get details of a specific quizcreate_quiz
: Create a new quiz in a Canvas courseupdate_quiz
: Update an existing quiz in a Canvas coursedelete_quiz
: Delete a quiz from a Canvas courseget_quiz_questions
: Get questions for a specific quizcreate_quiz_question
: Create a new question for a quizupdate_quiz_question
: Update an existing quiz questiondelete_quiz_question
: Delete a question from a quizget_quiz_submissions
: Get submissions for a specific quizgrade_quiz_submission
: Grade a quiz submission
Development
Project Structure
Running in Development Mode
License
MIT
Acknowledgements
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A Model Context Protocol server that enables AI assistants to interact with Canvas LMS through its API, providing tools for managing courses, users, content, assessments, and quizzes.
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables interaction with the Canvas Learning Management System API, allowing users to manage courses, assignments, enrollments, and grades within Canvas.Last updated -315JavaScript
- -securityAlicense-qualityA set of tools enabling AI agents to interact with Canvas LMS, allowing users to find relevant resources, get course information, and navigate modules through natural language queries.Last updated -6PythonMIT License
- -securityAlicense-qualityEnables AI assistants like Claude to interact with Canvas LMS through the Canvas API, providing tools for managing courses, announcements, rubrics, assignments, and student data.Last updated -TypeScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that provides persistent task management capabilities for AI assistants, allowing them to create, update, and track tasks beyond their usual context limitations.Last updated -1TypeScript