Quick fixes for the most common problems with Canvas MCP.
Problem: The CLI command isn’t available after installation.
Solution:
# Make sure you installed with the editable flag
uv pip install -e .
# Or reinstall
pip uninstall canvas-mcp
uv pip install -e .
# Verify it worked
canvas-mcp-server --help
Problem: Package not installed correctly.
Solution:
# Navigate to the canvas-mcp directory
cd /path/to/canvas-mcp
# Install in editable mode
uv pip install -e .
Problem: Canvas API token is invalid or expired.
Solution:
.env file with the new tokenProblem: Wrong URL format in .env.
Solution: Your Canvas API URL should look like:
CANVAS_API_URL=https://canvas.illinois.edu
NOT:
https://canvas.illinois.edu/ (no trailing slash)https://canvas.illinois.edu/api/v1 (don’t include /api/v1)canvas.illinois.edu (must include https://)Test with:
canvas-mcp-server --test
Problem: Your institution restricts student API access.
Solution: Contact your Canvas administrator or IT help desk:
Hi, I'm trying to use the Canvas API to track my assignments
and grades. Could you help me create an API access token or
enable API access for my account?
Most institutions will enable this for legitimate educational purposes.
Problem: Making too many API requests too quickly.
Good news: Canvas MCP now automatically handles rate limiting!
What happens:
If it still fails:
Problem: Canvas MCP tools aren’t available in Claude.
Solution:
~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"canvas-api": {
"command": "canvas-mcp-server"
}
}
}
canvas-mcp-server and check for errorsProblem: Seeing old information.
Solution:
Canvas MCP caches some data for performance. The cache TTL is set in your .env:
CACHE_TTL=300 # 5 minutes (default)
To see fresh data immediately:
This is working correctly! If you have anonymization enabled:
ENABLE_DATA_ANONYMIZATION=true
This is for FERPA compliance. Student data is anonymized before reaching Claude.
To disable (only if you don’t need FERPA compliance):
ENABLE_DATA_ANONYMIZATION=false
Then restart Claude Desktop.
Problem: Not all data is showing up.
Possible causes:
Problem: Grading or analyzing large datasets takes too long.
Solution: Use the code execution API for bulk operations:
Instead of:
Show me all 90 student submissions and grade them
Use:
Use the bulk grading code API to grade all submissions for Assignment 5
This is 99.7% more efficient for large datasets!
Problem: Too much data in context.
Solution:
Example:
Show me students who haven't submitted Assignment 3 in CS 101
Instead of:
Show me all students and all their submissions
Problem: canvas-mcp-server works manually but not through Claude.
Solution:
which canvas-mcp-server
{
"mcpServers": {
"canvas-api": {
"command": "/full/path/to/canvas-mcp-server"
}
}
}
.env
.env is in the canvas-mcp directoryCANVAS_API_TOKEN and CANVAS_API_URL as system environment variables.env:
DEBUG=true
LOG_API_REQUESTS=true
canvas-mcp-server --test
Check the logs: Run the server manually to see error messages
canvas-mcp-server --testRun through this list:
.env file exists and has CANVAS_API_TOKEN and CANVAS_API_URLcanvas-mcp-server --test succeedsIf all these pass and it still doesn’t work, open an issue!