V2.0 MCP Server with AI Intelligence is now available!See Changes
NotiNoti Docs

Claude Desktop Setup Guide

Quick Setup (Recommended)

Use our automated setup script to configure everything in one step:

curl -sSL https://raw.githubusercontent.com/Kuria-Mbatia/notioc-canvas-mcp-server/main/setup.sh | bash

The script will automatically download, install, configure, and set up the MCP server with Claude Desktop. You'll only need to provide your Canvas URL and API token when prompted.

Prerequisites

  • Claude Desktop application installed
  • Node.js 18+ installed on your computer
  • Canvas LMS access with ability to generate API tokens
  • Basic familiarity with terminal/command line

Manual Installation

If you prefer to set up manually or the automated script doesn't work for your system:

Step 1: Download the MCP Server

Option A: Clone from GitHub

git clone https://github.com/Kuria-Mbatia/notioc-canvas-mcp-server.git
cd notioc-canvas-mcp-server

Option B: Download ZIP

Download the ZIP file from our GitHub repository and extract it to a directory like /Users/yourusername/notioc-canvas-mcp-server

Step 2: Install Dependencies and Build

Navigate to the MCP server directory and install the required packages:

cd notioc-canvas-mcp-server
npm install
npm run build

Step 3: Get Your Canvas API Token

  1. Log into your Canvas LMS instance
  2. Go to AccountSettings
  3. Scroll down to the "Approved Integrations" section
  4. Click "+ New Access Token"
  5. Enter a purpose like "Kairo MCP Server"
  6. Click "Generate Token"
  7. Copy the generated token (you won't see it again!)

Important: Keep your API token secure and never share it!

Step 4: Configure Environment Variables

Create a configuration file with your Canvas details:

cp .env.example .env

Edit the .env file with your Canvas information:

CANVAS_BASE_URL=https://your-canvas-instance.instructure.com CANVAS_ACCESS_TOKEN=your-canvas-access-token-here LOG_LEVEL=info

Step 5: Configure Claude Desktop

Locate your Claude Desktop configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Add the MCP server configuration to your Claude config file:

{ "mcpServers": { "notioc-canvas": { "command": "node", "args": ["/absolute/path/to/notioc-canvas-mcp-server/dist/src/server.js"], "cwd": "/absolute/path/to/notioc-canvas-mcp-server", "env": { "CANVAS_BASE_URL": "https://your-canvas-instance.instructure.com", "CANVAS_ACCESS_TOKEN": "your-canvas-access-token-here", "LOG_LEVEL": "info" } } } }

Note: Replace /absolute/path/to/notioc-canvas-mcp-server with the actual full path to where you downloaded the MCP server. The cwd parameter sets the working directory for the server. Use forward slashes (/) even on Windows in the JSON configuration.

Step 6: Restart Claude Desktop

Close Claude Desktop completely and restart it. The MCP server should now be available and you'll see

"notioc-canvas" in the list of available tools when you start a new conversation.

Testing Your Setup

Start a new conversation with Claude and try these test commands:

Test Commands:

  • "What courses am I enrolled in on Canvas?"
  • "List my current Canvas courses"
  • "Show me upcoming assignments"
  • "What assignments do I have for [course name]?"
  • "Get the syllabus for [course name]"

Success Indicators: You should see Claude mentioning "notioc-canvas" tools in its responses and getting actual data from your Canvas courses.

Troubleshooting

MCP Server Not Recognized

  • Verify the path in your Claude config is correct and uses absolute paths
  • Ensure you've run npm run build and the dist/src/server.js file exists
  • Check that the JSON configuration is valid (use a JSON validator)
  • Restart Claude Desktop completely (force quit if necessary)
  • Make sure the cwd parameter points to the correct project directory

Authentication Issues

  • Verify your Canvas base URL is correct (no trailing slash)
  • Check that your API token is valid and hasn't expired
  • Ensure your Canvas instance is accessible from your network
  • Test your credentials by accessing Canvas API directly in browser: [your-canvas-url]/api/v1/courses

No Data Returned

  • Check that you're enrolled in active courses
  • Verify your API token has necessary permissions (course read access)
  • Look at Claude Desktop logs for error messages
  • Try different course enrollment states (current, completed, all)

Checking Logs

To see detailed logs for debugging:

  • macOS: ~/Library/Logs/Claude/
  • Windows: %APPDATA%\Claude\logs\
  • Set LOG_LEVEL=debug in your configuration for more verbose output

Path Issues

Common Path Examples:

macOS: /Users/johndoe/notioc-canvas-mcp-server/dist/src/server.js
Windows: C:/Users/johndoe/notioc-canvas-mcp-server/dist/src/server.js
Linux: /home/johndoe/notioc-canvas-mcp-server/dist/src/server.js

Advanced Configuration

Environment Variables

Additional configuration options:

# Required CANVAS_BASE_URL=https://your-canvas-instance.instructure.com CANVAS_ACCESS_TOKEN=your-token-here # Optional LOG_LEVEL=info # debug, info, warn, error REQUEST_TIMEOUT=30000 # Request timeout in milliseconds CACHE_TTL=300 # Cache time-to-live in seconds MAX_FILE_SIZE=10485760 # Max file size for reading (10MB)

Complete Configuration Example

Here's a complete Claude Desktop configuration file:

{ "mcpServers": { "notioc-canvas": { "command": "node", "args": ["/Users/johndoe/notioc-canvas-mcp-server/dist/src/server.js"], "cwd": "/Users/johndoe/notioc-canvas-mcp-server", "env": { "CANVAS_BASE_URL": "https://university.instructure.com", "CANVAS_ACCESS_TOKEN": "1234~abcdefghijklmnopqrstuvwxyz123456789", "LOG_LEVEL": "info", "REQUEST_TIMEOUT": "30000" } } } }

Available Features

Once configured, you can ask Claude to:

  • Course Management: List courses, get course details, view enrollments
  • Assignments: View assignments, check due dates, get submission details
  • Files & Content: Access course files, read PDFs and documents
  • Announcements: Get recent announcements and updates
  • Discussions: View discussion topics and responses
  • Grades: Check grades and feedback on assignments
  • Calendar: View upcoming events and deadlines

Usage Examples

Example Conversations:

  • "What assignments are due this week in my Psychology course?"
  • "Can you read the syllabus for my CS 101 course and tell me the grading policy?"
  • "Show me all announcements from my professors this month"
  • "What's my current grade in Mathematics and what assignments am I missing?"
  • "Help me organize my upcoming deadlines across all courses"

For more examples and detailed API documentation, visit our MCP Server documentation.

Setup Complete! You should now be able to ask Claude about your Canvas courses and get intelligent

responses based on your actual course data. Claude can help you stay organized, understand course

materials, and manage your academic workload more effectively.