👨‍🎓 Student Guide

Canvas MCP for Students

Your AI-powered study assistant that helps you track assignments, monitor grades, and stay organized throughout the semester.

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

  1. Log in to your Canvas account
  2. Go to AccountSettings
  3. Scroll down to Approved Integrations
  4. Click + New Access Token
  5. Give it a purpose (e.g., "Claude AI Assistant")
  6. Click Generate Token
  7. Copy the token immediately - you won't see it again!
💡 Note

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
⚠️ Important

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 soon
  • get_my_todo_items - Your Canvas TODO list
  • get_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 courses
  • get_course_details - View syllabus and course info
  • list_pages - Access course pages
  • get_page_content - Read page content
  • list_announcements - See course announcements
  • list_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?"

1 Check your upcoming assignments (next 24-48 hours)
2 Show any incomplete peer reviews
3 List recent announcements
4 Highlight your TODO items

📅 Weekly Planning

Ask: "Help me plan my week"

1 Show all assignments due in the next 7 days
2 Identify which courses need attention
3 Check peer review deadlines
4 Summarize your current grade status

📝 Before a Big Assignment

Ask: "I have a paper due Friday in ENGL 101. What do I need to know?"

1 Find the assignment details
2 Check if you've submitted
3 Show the rubric (if available)
4 Review peer review requirements (if applicable)

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 --test runs successfully
  • Verify your claude_desktop_config.json is 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