Best for
- Students who want to interact with Canvas through an AI assistant
- Instructors looking to automate course management and grading
- Administrators needing account-level oversight and reporting
The Canvas MCP Server offers extensive Canvas LMS integration with multiple deployment options and transport modes. It covers a wide range of functionality from student to admin, and is actively maintained. However, it is an independent project without official support, so users must manage tokens carefully and be aware of security risks.
Strongest · Setup experience 10/20 Weakest · Reliability 6/20
Static review · not runListed 2026-08-07
Read the FMRS scoring method →Runtime:Node.js · Docker
CANVAS_API_TOKEN
Canvas API access token, generated in Canvas under Account → Settings → Approved Integrations → + New Access Token.
CANVAS_DOMAIN
Your Canvas domain, e.g. your_school.instructure.com.
MCP_TRANSPORT
Transport mode: stdio or streamable-http; stdio is the default.
MCP_HTTP_HOST
Host for streamable-http mode, defaults to 127.0.0.1.
MCP_HTTP_PORT
Port for streamable-http mode, defaults to 3000.
MCP_HTTP_PATH
HTTP endpoint path, defaults to /mcp.
MCP_HTTP_STATEFUL
Enables stateful HTTP sessions.
MCP_HTTP_JSON_RESPONSE
Enables JSON responses over HTTP.
MCP_HTTP_ALLOWED_ORIGINS
Allowed CORS origins list.
CANVAS_TIMEOUT
API request timeout; increase it if you hit timeouts.
LOG_LEVEL
Log verbosity; set to debug for debug logging.
{
"mcpServers": {
"canvas-mcp-server": {
"command": "npx",
"args": [
"-y",
"canvas-mcp-server"
],
"env": {
"CANVAS_API_TOKEN": "your_token_here",
"CANVAS_DOMAIN": "your_school.instructure.com"
}
}
}
}
Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.
{
"servers": {
"canvas-mcp-server": {
"command": "npx",
"args": [
"-y",
"canvas-mcp-server"
],
"env": {
"CANVAS_API_TOKEN": "your_token_here",
"CANVAS_DOMAIN": "your_school.instructure.com"
}
}
}
}
Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).
claude mcp add canvas-mcp-server -e CANVAS_API_TOKEN=your_token_here -e CANVAS_DOMAIN=your_school.instructure.com -- npx -y canvas-mcp-server
Run it in a terminal; replace any <…> placeholders with your own values first.
Confirm that canvas_health_check and canvas_list_courses appear in the client's tool list, then run canvas_health_check to prove the Canvas API connection works.
Once connected, you can ask your AI assistant things like:
No matching tools
Listed from the project's documentation, not tested by this site.
The Canvas MCP Server is a Model Context Protocol (MCP) server for interacting with the Canvas LMS API, offering over 50 tools covering courses, assignments, enrollments, grades, and account-level management. It supports stdio and streamable-http transports and can be deployed via npx, npm, or Docker. It is designed for students, instructors, and administrators. This server is independent and not affiliated with or endorsed by Instructure.
Manage your Hevy workout data from AI assistants via MCP.
Firecrawl's official MCP server for web search, scraping, and structured extraction for AI agents
One binary. One grammar. Evidence from the biomedical sources you already trust.
Encrypted, fully offline long-term memory for AI agents
Source revision c0646ba10ac2 Data synced 2026-10-12 Read the FMRS scoring method