Canvas LMS MCP server — read courses, assignments, submissions, rubrics, quizzes; grade and comment from any AI agent
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
claude mcp add canvas-lms-mcp -- npx -y canvas-lms-mcp{
"mcpServers": {
"canvas-lms-mcp": {
"command": "npx",
"args": ["-y", "canvas-lms-mcp"]
}
}
}Resumen de MCP Servers
# Canvas LMS MCP Server > The TypeScript MCP server for Canvas LMS. [](https://github.com/bruchris/canvas-lms-mcp/actions/workflows/ci.yml) [](https://www.npmjs.com/package/canvas-lms-mcp) [](https://opensource.org/licenses/MIT) [](https://nodejs.org) [](https://www.npmjs.com/package/canvas-lms-mcp) [](https://registry.modelcontextprotocol.io/v0/servers/io.github.bruchris%2Fcanvas-lms-mcp) MCP server for [Canvas LMS](https://www.instructure.com/canvas). Read courses, assignments, submissions, rubrics, quizzes; grade, comment, manage course content, and handle Canvas admin workflows from any AI agent. 148 tools across Canvas courses, assignments, submissions, gradebook history, rubrics, quizzes, New Quizzes (LTI), files, users, groups, enrollments, discussions, modules, pages, calendar, conversations, peer reviews, accounts, analytics, outcomes, grading standards, grade projection, link audit, accessibility audit, content exports, quiz accommodations, student workflows, student search, dashboard, instructor attention workflows, and health checks. Three deployment modes: stdio, HTTP, and library import. ## One-click install (Claude Desktop) 1. **[Download `canvas-lms-mcp.mcpb`](https://github.com/bruchris/canvas-lms-mcp/releases/latest/download/canvas-lms-mcp.mcpb)** from the latest release. 2. Double-click the file (or drag it into Claude Desktop's Extensions settings). 3. When prompted, paste your Canvas API token and Canvas API base URL (e.g. `https://school.instructure.com/api/v1`). Teachers and staff handling student data can also flip **FERPA mode — pseudonymize students** on in the same dialog ([what it does](#ferpa-mode-student-pseudonymization)). No terminal, no Node.js install, no config-file editing — Claude Desktop bundles the runtime and handles config for you. The same `.mcpb` works in Claude Code and MCP for Windows. Prefer the terminal? Use the [Quick Start](#quick-start) below. ## Comparison | | canvas-lms-mcp | [vishalsachdev/canvas-mcp](https://github.com/vishalsachdev/canvas-mcp) | [DMontgomery40/mcp-canvas-lms](https://github.com/DMontgomery40/mcp-canvas-lms) | |---|---|---|---| | Language | TypeScript | Python | TypeScript | | Tools | 148 | 80+ | 54 | | License | [](https://github.com/bruchris/canvas-lms-mcp/blob/main/LICENSE) | [](https://github.com/vishalsachdev/canvas-mcp/blob/main/LICENSE) | [](https://github.com/DMontgomery40/mcp-canvas-lms/blob/main/LICENSE) | | Last commit | [](https://github.com/bruchris/canvas-lms-mcp) | [](https://github.com/vishalsachdev/canvas-mcp) | [](https://github.com/DMontgomery40/mcp-canvas-lms) | ## Quick Start ### 1. Get a Canvas API Token 1. Log in to your Canvas instance 2. Go to **Account > Settings** 3. Scroll to **Approved Integrations** and click **+ New Access Token** 4. Give it a name (e.g., "MCP Server") and click **Generate Token** 5. Copy the token immediately -- you won't see it again ### 2. Run the Setup Wizard ```bash npx canvas-lms-mcp init ``` The wizard detects your installed AI clients (Claude Desktop, Cursor, VS Code, Windsurf, Codex, Continue, Claude Code), prompts for your Canvas token and base URL, validates the credentials against your Canvas instance, and writes the config for every client you select. `add-mcp` is also supported as a generic alternative: `npx add-mcp canvas-lms-mcp`. For clients not yet supported by the wizard, or if you prefer editing config files by hand, see [docs/manual-setup.md](./docs/manual-setup.md). ## Agent Skills Install reusable Canvas workflows into Claude Code, Cursor, GitHub Copilot, Cline, and 40+ other AI agents: ```bash npx skills add bruchris/canvas-lms-mcp ``` | Skill | Description | |-------|-------------| | `canvas-at-risk-students` | Surface students with missing assignments or declining grades and send targeted outreach | | `canvas-gradebook-audit` | Inspect the full grade-change audit trail — who changed what grade, when, and by how much | | `canvas-outcome-tracker` | Track learning outcome mastery and class-wide proficiency for accreditation and program review | Skills are markdown workflow files (no extra dependencies). They work with the MCP server you already have installed. See the [`skills/` directory](./skills/) for the full list. ## Example Prompts Once configured, try these prompts with your AI client: - "List all my active courses" - "Show me the assignments for course 12345" - "What's the average grade on the midterm exam?" - "Grade Alice's essay submission with a B+ and add feedback" - "Show me the rubric for the final project" - "What discussions are happening in my Biology course?" - "List all upcoming calendar events for course 12345" - "Send a message to student 67890 about their missing assignment" ## Tool Inventory ### All Registered Tools (148) | Category | Tools | |----------|-------| | Health | `health_check` | | Courses | `list_courses`, `get_course`, `get_syllabus`, `create_course`, `update_course` | | Assignments | `list_assignments`, `get_assignment`, `list_assignment_groups`, `create_assignment`, `update_assignment`, `delete_assignment` | | Assignment Overrides | `list_assignment_overrides`, `create_assignment_override`, `set_student_assignment_dates` | | Submissions | `list_submissions`, `get_submission`, `grade_submission`, `comment_on_submission` | | Submissions Awaiting Grading | `list_submissions_awaiting_grading` | | Submission Files | `list_course_submission_files` | | Rubrics | `list_rubrics`, `get_rubric`, `get_rubric_assessment`, `submit_rubric_assessment`, `create_rubric` | | Quizzes | `list_quizzes`, `get_quiz`, `list_quiz_submissions`, `list_quiz_questions`, `get_quiz_submission_answers`, `score_quiz_question`, `get_quiz_submission_events` | | Quiz Question Responses | `get_quiz_question_responses` | | Quiz Accommodations | `list_student_quiz_accommodations`, `set_student_quiz_accommodation` | | New Quizzes (LTI) | `create_new_quiz`, `update_new_quiz`, `delete_new_quiz`, `list_new_quiz_items`, `get_new_quiz_item`, `create_new_quiz_item`, `update_new_quiz_item`, `delete_new_quiz_item` | | New Quiz Accommodations | `list_student_new_quiz_accommodations`, `set_student_new_quiz_accommodation` | | Files | `list_files`, `list_folders`, `get_file`, `upload_file`, `download_file`, `delete_file`, `find_duplicate_files` | | Gradebook History | `list_gradebook_history_days`, `get_gradebook_history_day`, `list_gradebook_history_submissions`, `get_gradebook_history_feed` | | Grade Explanation | `explain_grade` | | Grading Policy | `explain_grading_policy` | | Grade Projection | `project_grade` | | Grading Standards | `list_grading_standards`, `create_grading_standard`, `apply_grading_standard_to_course` | | Users | `list_students`, `get_user`, `get_profile`, `search_users`, `list_course_users` | | Groups | `list_groups`, `list_group_members` | | Enrollments | `list_enrollments`, `list_course_enrollments`, `enroll_user`, `remove_enrollment` | | Discussions | `list_discussions`, `get_discussion`, `list_announcements`, `post_discussion_entry`, `create_discussion`, `update_discussion`, `delete_discussion` | | Modules | `list_modules`, `get_module`, `list_module_items`, `get_course_structure`, `view_course_structure`, `create_module`, `update_module`, `create_module_item` | | Pages | `list_pages`, `get_page`, `create_page`, `update_page`, `delete_page` | | Calendar | `list_calendar_events`, `create_calendar_event`, `update_calendar_event` | | Conversations | `list_conversations`, `get_conversation`, `get_conversation_unread_count`, `send_conversation` | | Peer Reviews | `list_peer_reviews`, `get_submission_peer_reviews`, `create_peer_review`, `delete_peer_review` | | Accounts | `get_account`, `list_accounts`, `list_sub_accounts`, `list_account_courses`, `list_account_users`, `get_account_reports`, `list_account_notifications`, `view_account_notifications` | | Analytics | `search_course_content`, `get_course_analytics`, `get_student_analytics`, `get_course_activity_stream`, `get_assignment_analytics` | | Outcomes | `get_root_outcome_group`, `list_outcome_groups`, `list_outcome_group_links`, `get_outcome_group`, `list_outcome_group_outcomes`, `list_outcome_group_subgroups`, `get_outcome`, `get_outcome_alignments`, `get_outcome_results`, `get_outcome_rollups`, `get_outcome_contributing_scores`, `get_outcome_mastery_distribution` | | Content Exports | `list_content_exports`, `get_content_export`, `create_content_export` | | Course Setup | `check_course_setup` | | Link Audit | `audit_course_links` | | Accessibility Audit | `audit_course_accessibility` | | Student | `get_my_courses`, `get_my_grades`, `get_my_submissions`, `get_my_upcoming_assignments`, `get_my_submission_feedback` | | Student Search | `find_student_across_courses` | | Dashboard | `get_dashboard_cards`, `get_todo_items`, `get_upcoming_events`, `get_missing_submissions` | | Attention | `list_submission_comments_needing_attention`, `list_students_needing_attention` | | FERPA (conditional) | `resolve_pseudonym` — registered only when `CANVAS_PSEUDONYMIZE_STUDENTS=true` | 106 tools are read
Lo que la gente pregunta sobre canvas-lms-mcp
¿Qué es bruchris/canvas-lms-mcp?
+
bruchris/canvas-lms-mcp es mcp servers para el ecosistema de Claude AI. Canvas LMS MCP server — read courses, assignments, submissions, rubrics, quizzes; grade and comment from any AI agent Tiene 4 estrellas en GitHub y se actualizó por última vez today.
¿Cómo se instala canvas-lms-mcp?
+
Puedes instalar canvas-lms-mcp clonando el repositorio (https://github.com/bruchris/canvas-lms-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar bruchris/canvas-lms-mcp?
+
Nuestro agente de seguridad ha analizado bruchris/canvas-lms-mcp y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene bruchris/canvas-lms-mcp?
+
bruchris/canvas-lms-mcp es mantenido por bruchris. La última actividad registrada en GitHub es de today, con 1 issues abiertos.
¿Hay alternativas a canvas-lms-mcp?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega canvas-lms-mcp en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/bruchris-canvas-lms-mcp)<a href="https://claudewave.com/repo/bruchris-canvas-lms-mcp"><img src="https://claudewave.com/api/badge/bruchris-canvas-lms-mcp" alt="Featured on ClaudeWave: bruchris/canvas-lms-mcp" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!