Canvas LMS MCP – Local Edition
Related Servers
Alternatives to Canvas LMS MCP – Local Edition
- AlicenseBqualityBmaintenanceSelf-hosted Canvas LMS MCP server for every device: the same 209 student tools, protected by a password-gated OAuth 2.1 login over an ngrok tunnel, with automatic failover between multiple computers.8237808 npm2MIT
Related Servers
- AlicenseCqualityCmaintenanceLocal-first MCP server for Canvas LMS. Stdio transport, no third-party broker, token stays in ~/.canvas.env. Exposes courses, assignments, modules, announcements, grades, planner items, upcoming events, todo list, and bulk file dump as MCP tools.1040 PyPI4MIT
- AlicenseNot gradedqualityBmaintenanceA local MCP server that exposes Canvas LMS courses, assignments, grading, discussions, modules, pages, files, messaging, and peer reviews to an AI assistant through about 100 Markdown-returning tools, with preview-then-confirm behavior for any write operations.MIT
- AlicenseNot gradedqualityBmaintenanceA read-only Model Context Protocol server that lets AI assistants ask plain-language questions about a student's Canvas LMS data — courses, deadlines, assignments, quizzes, grade breakdowns, files, announcements, discussions, and inbox messages. Every tool issues GET requests only, so nothing can be submitted, posted, deleted, or marked as read.13 npm119MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Canvas LMS with automatic OAuth authentication. Enables interaction with courses, assignments, grades, modules, discussions, quizzes, files, calendar, messaging, and more without manual API token management.3,290 npm1MIT
- AlicenseBqualityAmaintenanceMCP server for Canvas LMS enabling parent observers and students to access courses, assignments, grades, and more. Supports multiple authentication methods including token, OAuth, and a convenient fetchproxy fallback.19883 npm1MIT
- AlicenseBqualityDmaintenanceTypeScript MCP server for Canvas LMS that exposes Canvas API workflows for courses, assignments, submissions, modules, pages, discussions, announcements, files, users, enrollments, conversations, calendar, and utility endpoints.405 npmISC
TDQS
Scored across 237 tools
Descriptions are unusually diligent about cross-referencing alternatives (e.g. "use list_missing_submissions instead", "get_rubric_assessment returns the same data plus..."), which rescues many pairs. But at 237 tools there is real overlap: daily_briefing vs get_week_ahead vs semester_snapshot vs course_health_check, get_activity_stream vs get_all_unread vs diff_since_last_check, get_outcome_rollup vs get_my_outcome_results, and a long tail of mark_* and list_upcoming/list_todo/list_planner variants that an agent could easily misselect.
The dominant pattern is snake_case verb_noun (list_courses, get_assignment, submit_assignment_file, mark_entry_read), applied consistently with no camelCase mixing. There is a noticeable minority of noun-first composite names (daily_briefing, assignment_brief, semester_snapshot, course_health_check, grade_impact_ranking, whoami, grep_all_courses), which is a minor deviation rather than a breakdown.
237 tools is far beyond what an agent can select from reliably; the server itself ships search_tools to help find things "among the 200+ available", which is an admission the surface is unmanageable. Even granting Canvas's broad domain, many tools are narrow conveniences (get_todo_count, get_storage_quota, mark_conversation_unread, dismiss_global_announcement) that inflate the surface rather than earn a slot.
Coverage across courses, assignments, submissions, grading, quizzes, discussions, files, modules, planner, calendar, groups, outcomes, peer review and export is close to exhaustive for a student-facing Canvas client, and raw_canvas_request provides an escape hatch for anything missed. Gaps are deliberate or platform-limited (quiz taking is explicitly never supported, ePortfolio editing is not possible via API, no instructor grading writes).