Canvas MCP
Read-only access to Canvas LMS study data, including user profile, courses, assignments, events, todo items, modules, pages, files, and submissions.
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., "@Canvas MCPlist my active 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 MCP
Read-only FastMCP server for Canvas LMS study data.
This project is configured for CIAM Canvas by default:
https://ciam.instructure.comConfiguration
Set these environment variables before starting the server:
export CANVAS_BASE_URL="https://ciam.instructure.com"
export CANVAS_API_TOKEN="your-canvas-token"Do not commit real Canvas tokens.
Related MCP server: litmos-mcp
Install
cd /Users/zihanwang/Documents/Codex/canvas-mcp
uv sync --extra devRun
cd /Users/zihanwang/Documents/Codex/canvas-mcp
uv run canvas-mcpThe server speaks MCP over stdio.
MCP Client Config
Use this shape in an MCP client config. Replace your-canvas-token with your token in your local config only.
{
"mcpServers": {
"canvas": {
"command": "uv",
"args": [
"--directory",
"/Users/zihanwang/Documents/Codex/canvas-mcp",
"run",
"canvas-mcp"
],
"env": {
"CANVAS_BASE_URL": "https://ciam.instructure.com",
"CANVAS_API_TOKEN": "your-canvas-token"
}
}
}
}Tools
canvas_self: current Canvas user.canvas_courses: visible courses, defaulting to active enrollments.canvas_course_assignments: assignments for a course.canvas_upcoming_events: upcoming calendar events.canvas_todo: todo items for the current user.canvas_course_modules: modules and module items for a course.canvas_course_pages: wiki pages for a course, with optional search.canvas_course_files: files for a course, with optional folder filtering.canvas_submissions: assignment submissions or visible course submissions.canvas_raw_get: read-only escape hatch for/api/v1/...Canvas paths.
Local Verification
cd /Users/zihanwang/Documents/Codex/canvas-mcp
uv run pytest -v
uv run python -c "from canvas_mcp.server import mcp; print(mcp.name)"Expected output from the smoke test:
Canvas LMSLive API Smoke Test
After setting CANVAS_API_TOKEN, this should return your Canvas user profile:
cd /Users/zihanwang/Documents/Codex/canvas-mcp
uv run python - <<'PY'
from canvas_mcp.client import CanvasClient, CanvasConfig
client = CanvasClient(CanvasConfig.from_env())
try:
print(client.get("users/self", paginate=False))
finally:
client.close()
PYMaintenance
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
- Flicense-qualityAmaintenanceRead-only MCP server that provides Claude Desktop with access to converted Canvas course exports, including Markdown files, reports, and search tools for local course content.
- AlicenseAqualityDmaintenanceRead-only MCP server for Litmos LMS that exposes user profiles, course results, and training completion data to AI clients.8MIT
- 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.249MIT
- Alicense-qualityDmaintenanceTypeScript 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.7ISC
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.
An MCP server for deep research or task groups
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/zihan1997/canvas-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server