Skip to main content
Glama
common_issues.md6.69 kB
# Common Issues and Solutions Quick fixes for the most common problems with Canvas MCP. ## Installation Issues ### "canvas-mcp-server: command not found" **Problem**: The CLI command isn't available after installation. **Solution**: ```bash # 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 ``` ### "No module named 'canvas_mcp'" **Problem**: Package not installed correctly. **Solution**: ```bash # Navigate to the canvas-mcp directory cd /path/to/canvas-mcp # Install in editable mode uv pip install -e . ``` ## Configuration Issues ### "Authentication failed" **Problem**: Canvas API token is invalid or expired. **Solution**: 1. Go to Canvas → Account → Settings 2. Scroll to "Approved Integrations" 3. Delete the old token if present 4. Create a new access token 5. Update your `.env` file with the new token 6. Restart Claude Desktop ### "Canvas API URL is invalid" **Problem**: Wrong URL format in `.env`. **Solution**: Your Canvas API URL should look like: ```bash 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: ```bash canvas-mcp-server --test ``` ### "Cannot create access token" (Students) **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. ## Runtime Issues ### "Rate limit exceeded (429 errors)" **Problem**: Making too many API requests too quickly. **Good news**: Canvas MCP now automatically handles rate limiting! **What happens**: - Canvas MCP detects rate limit errors - Automatically waits and retries (up to 3 times) - Shows progress: "⏳ Rate limited (429). Retrying in 4s..." **If it still fails**: - Wait a few minutes before trying again - For bulk operations, the code execution API is more efficient ### "Tool not showing up in Claude Desktop" **Problem**: Canvas MCP tools aren't available in Claude. **Solution**: 1. **Check Claude Desktop config** (`~/Library/Application Support/Claude/claude_desktop_config.json` on Mac): ```json { "mcpServers": { "canvas-api": { "command": "canvas-mcp-server" } } } ``` 2. **Restart Claude Desktop completely**: - Quit Claude Desktop (not just close the window) - Reopen it 3. **Check for errors**: - Look in Claude Desktop's developer console - Or run manually: `canvas-mcp-server` and check for errors ### "Data seems outdated" **Problem**: Seeing old information. **Solution**: Canvas MCP caches some data for performance. The cache TTL is set in your `.env`: ```bash CACHE_TTL=300 # 5 minutes (default) ``` To see fresh data immediately: - Restart the MCP server (restart Claude Desktop) - Or wait for cache to expire (default: 5 minutes) ## Data Issues ### "Student names showing as Student_xxxxxxxx" **This is working correctly!** If you have anonymization enabled: ```bash 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): ```bash ENABLE_DATA_ANONYMIZATION=false ``` Then restart Claude Desktop. ### "Missing some courses or assignments" **Problem**: Not all data is showing up. **Possible causes**: 1. **Canvas permissions**: Your API token might not have access to all courses - Solution: Check your Canvas role and permissions 2. **Archived courses**: Old courses might be archived - Solution: Unarchive in Canvas if needed 3. **Pagination issue**: Very large datasets might not load completely - Solution: Be more specific (e.g., "Show assignments in CS 101" instead of "Show all assignments") ## Performance Issues ### "Bulk operations are very slow" **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! ### "Claude seems to get confused with lots of data" **Problem**: Too much data in context. **Solution**: - Be specific about what you want - Use filters (course names, assignment IDs, date ranges) - For large operations, use code execution to keep data out of Claude's context Example: ``` Show me students who haven't submitted Assignment 3 in CS 101 ``` Instead of: ``` Show me all students and all their submissions ``` ## Integration Issues ### "Works in terminal but not in Claude Desktop" **Problem**: `canvas-mcp-server` works manually but not through Claude. **Solution**: 1. **Check the command path**: ```bash which canvas-mcp-server ``` 2. **Use full path in config** if needed: ```json { "mcpServers": { "canvas-api": { "command": "/full/path/to/canvas-mcp-server" } } } ``` 3. **Check environment variables**: Claude Desktop might not have access to your `.env` - Make sure `.env` is in the canvas-mcp directory - Or set `CANVAS_API_TOKEN` and `CANVAS_API_URL` as system environment variables ## Getting More Help 1. **Enable debug mode** in your `.env`: ```bash DEBUG=true LOG_API_REQUESTS=true ``` 2. **Test the connection**: ```bash canvas-mcp-server --test ``` 3. **Check the logs**: Run the server manually to see error messages 4. **Still stuck?** - [Open an issue](https://github.com/vishalsachdev/canvas-mcp/issues) - Include: - Error messages (redact your API token!) - Your Canvas instance type (e.g., "canvas.illinois.edu") - What you were trying to do - Output from `canvas-mcp-server --test` ## Quick Diagnostic Checklist Run through this list: - [ ] `.env` file exists and has `CANVAS_API_TOKEN` and `CANVAS_API_URL` - [ ] Canvas API token is valid (test in Canvas web UI) - [ ] `canvas-mcp-server --test` succeeds - [ ] Claude Desktop config includes canvas-mcp - [ ] Restarted Claude Desktop after config changes - [ ] Canvas API URL doesn't have trailing slash or /api/v1 If all these pass and it still doesn't work, [open an issue](https://github.com/vishalsachdev/canvas-mcp/issues)!

Latest Blog Posts

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/vishalsachdev/canvas-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server