mcp-server-canvas-lms
Provides read-only access to Canvas LMS data, including courses, assignments, grades, submissions, syllabi, announcements, modules, pages, and files.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-canvas-lmsList my active Canvas courses."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Canvas LMS MCP Server
A minimal, student-focused, strictly read-only MCP server for Canvas LMS.
It gives MCP clients access to courses, assignments, grades, submissions, syllabi, announcements, modules, pages, and files without exposing any Canvas write operation.
Requirements
Node.js 20.19 or newer. Check with
node --version.A Canvas personal access token. In Canvas, go to
Account -> Settings -> Approved Integrations -> + New Access Token.Your institution's Canvas base URL, such as
https://canvas.example.edu. Do not include/api/v1.
A Canvas token has your Canvas permissions. Never commit it, share it, paste it into an issue, or place it in a project configuration that may be shared.
Some institutions disable personal access tokens. If the New Access Token option is unavailable, ask your Canvas administrator whether personal tokens are permitted.
Related MCP server: Canvas MCP
Quick start
The server is launched by an MCP client over standard input/output. Its primary command is:
npx -y mcp-server-canvas-lmsConfigure these two environment variables in your MCP client:
CANVAS_BASE_URL=https://canvas.example.eduCANVAS_API_TOKEN=replace-with-your-personal-token
Then restart or reconnect the client and try this first connection check:
List my active Canvas courses.
See the exact setup for Codex, Claude Desktop, Cursor, VS Code, or a generic stdio client.
Tools
The server exposes exactly eleven tools:
Tool | Reads |
| Active courses, terms, and current scores |
| Assignments for one or all active courses |
| Requirements, rubric, and submission summary |
| Course totals or assignment-level grades |
| The current user's submission, comments, and rubric assessment |
| A course syllabus as cleaned text |
| Recent course announcements |
| Modules and their items |
| A course page by its Canvas URL slug |
| Course files and folders |
| Text from a supported course file |
Every Canvas API request is structurally restricted to HTTP GET. There are
no mutation methods, so this server cannot submit assignments, send messages,
change grades, edit course content, or perform administrative actions.
Troubleshooting
nodeornpxis missing: Install Node.js 20.19 or newer, reopen the client, and confirmnode --versionandnpx --versionin a terminal.Personal tokens are disabled: If Canvas does not show
+ New Access Token, contact your institution's Canvas administrator. This server cannot bypass institutional policy restrictions.Invalid or expired token: Create a new personal access token, replace the configured value, and restart the client. Never post the token in an issue.
Base URL error: Use only the institution origin, for example
https://canvas.example.edu; remove/api/v1, course paths, and trailing account pages.Tools do not appear: Fully restart the client after editing its MCP configuration, then check the client's MCP server list or logs.
403response: Canvas authenticated the request but the user or institution denied that resource. Check enrollment and institutional policy; a more privileged token is not recommended.429response: Canvas is rate-limiting requests. Wait and try again; use narrower course queries or lower result limits where available.Institutional restrictions: Administrators may restrict personal tokens, API access, file downloads, or individual courses. Ask the institution's Canvas support team when browser access works but API access does not.
Project links
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP 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.18662MIT
- FlicenseBqualityCmaintenanceRead-only FastMCP server for Canvas LMS study data.10
- Alicense-qualityCmaintenanceA remote MCP server for querying Canvas LMS courses, assignments, and grades. Enables natural language interaction with Canvas data via MCP clients like Claude Desktop.47MIT
- Alicense-qualityDmaintenanceMCP 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.271MIT
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/javohir73/mcp-server-canvas-lms'
If you have feedback or need assistance with the MCP directory API, please join our Discord server