What Can Canvas MCP Do for You?
Think of this as having an AI study buddy that knows everything about your Canvas courses:
🎯 Track Assignments
"What's due this week?" - Get a complete view of deadlines across all courses.
📊 Monitor Grades
"What's my current grade?" - Stay on top of your academic performance.
👥 Manage Peer Reviews
"What peer reviews do I need?" - Never miss a review deadline.
📖 Access Content
"Show me the syllabus" - Quick access to pages and announcements.
Prerequisites
- Python 3.10+ installed on your computer
- Claude Desktop - Download from claude.ai
- Canvas Account at your university/institution
Installation
1. Clone the Repository
git clone https://github.com/vishalsachdev/canvas-mcp.git
cd canvas-mcp
2. Install Dependencies
# Create and activate virtual environment
python3 -m venv .venv
. .venv/bin/activate
# Install Canvas MCP
pip install -e .
3. Get Your Canvas API Token
- Log in to your Canvas account
- Go to Account → Settings
- Scroll down to Approved Integrations
- Click + New Access Token
- Give it a purpose (e.g., "Claude AI Assistant")
- Click Generate Token
- Copy the token immediately - you won't see it again!
Some institutions restrict API token creation for students. If you can't create a token, contact your institution's Canvas administrator.
Configuration
4. Configure Canvas MCP
# Copy the template
cp env.template .env
# Edit the .env file
Your .env file should look like this:
# Canvas API Configuration
CANVAS_API_TOKEN=your_token_here
CANVAS_API_URL=https://canvas.youruniversity.edu/api/v1
# Privacy Settings (students don't need anonymization)
ENABLE_DATA_ANONYMIZATION=false
Replace https://canvas.youruniversity.edu/api/v1 with your actual Canvas URL (including the /api/v1 suffix).
5. Configure Claude Desktop
Add Canvas MCP to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"canvas-api": {
"command": "/path/to/canvas-mcp/.venv/bin/canvas-mcp-server"
}
}
}
6. Test Your Setup
canvas-mcp-server --test
You should see: ✓ API connection successful!
7. Restart Claude Desktop
Close and reopen Claude Desktop. You should see the 🔨 hammer icon when you start a conversation.
How to Use Canvas MCP
Quick Start Prompts
Try these with Claude:
Assignment Tracking
- "What assignments do I have due this week?"
- "What's coming up in the next 3 days?"
- "Show me my Canvas TODO list"
Grade Monitoring
- "What are my current grades in all my courses?"
- "Show me my grades"
- "How am I doing in BADM 350?"
Submission Status
- "Have I submitted all my assignments?"
- "What haven't I turned in yet?"
- "Show me my submission status for CSCI 101"
Peer Reviews
- "What peer reviews do I need to complete?"
- "Show me my pending peer reviews"
Course Content
- "Show me the syllabus for BADM 350"
- "What are the recent announcements?"
- "What are the active discussions in HIST 202?"
Available Student Tools
Personal Organization
get_my_upcoming_assignments- View assignments due soonget_my_todo_items- Your Canvas TODO listget_my_submission_status- Check what you've submitted
Academic Performance
get_my_course_grades- Current grades across all courses
Peer Review Management
get_my_peer_reviews_todo- Peer reviews you need to complete
Course Content (Shared Tools)
list_courses- See all your enrolled coursesget_course_details- View syllabus and course infolist_pages- Access course pagesget_page_content- Read page contentlist_announcements- See course announcementslist_discussion_topics- View discussion forums
Privacy & Security
Your Data Stays Private
- Local only: Everything runs on your computer
- Your data only: Tools access only YOUR Canvas data (not other students')
- No external servers: No data sent anywhere except Canvas (via official API)
- Canvas API security: Uses the same security as Canvas mobile app
Best Practices
- Keep your API token secret - Don't share it or commit it to version control
- Use a strong token purpose - Name it clearly so you can revoke it later if needed
- Revoke if compromised - If you accidentally share your token, revoke it in Canvas settings
Example Workflows
🌅 Morning Check-In
Ask: "Good morning! What do I need to focus on today?"
📅 Weekly Planning
Ask: "Help me plan my week"
📝 Before a Big Assignment
Ask: "I have a paper due Friday in ENGL 101. What do I need to know?"
Troubleshooting
"Connection failed" or "Authentication error"
- Check your Canvas API token is correct in
.env - Verify your Canvas URL is correct (should match your browser's Canvas URL)
- Make sure your token hasn't expired
"No tools appearing in Claude"
- Restart Claude Desktop completely (Quit → Reopen)
- Check
canvas-mcp-server --testruns successfully - Verify your
claude_desktop_config.jsonis correct
"No assignments/courses showing up"
- Make sure you're enrolled in courses for the current term
- Check if assignments have due dates set
- Verify your Canvas account has the appropriate permissions
Need More Help?
Open an issue on GitHub for additional support.
Ready to Get Started?
Follow the installation guide above and start using Canvas MCP today!
Quick Start Guide