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:
- Install dependencies:
- Create a
.env
file based on the.env.example
file: - Edit the
.env
file with your Canvas API token and URL: - Build the project:
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.
模型上下文协议服务器使 AI 助手能够通过其 API 与 Canvas LMS 进行交互,提供用于管理课程、用户、内容、评估和测验的工具。
Related MCP Servers
- AsecurityFlicenseAqualityA 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 -545744JavaScript
- -securityFlicense-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 -6
- -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 -MIT 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 -4