srivatbalaji/canvas-mcp-server
3.2
If you are the rightful owner of canvas-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP server is designed to integrate with BruinLearn (UCLA's Canvas) and Claude Desktop, providing seamless access to academic data.
Tools
6
Resources
0
Prompts
0
MCP server I built to be used with BruinLearn (UCLA's Canvas) and Claude Desktop.
Setup
-
Get your Canvas access token:
- Go to https://bruinlearn.ucla.edu/profile/settings
- Scroll to "Approved Integrations"
- Click "+ New Access Token"
- Copy the token immediately
-
Install and configure:
git clone https://github.com/srivatbalaji/canvas-mcp-server.git
cd canvas-mcp-server
npm install
echo "CANVAS_ACCESS_TOKEN=your_token_here" > .env
npm run build
- Configure Claude Desktop:
- Edit
~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) - Add this configuration:
- Edit
{
"mcpServers": {
"canvas": {
"command": "node",
"args": ["/absolute/path/to/canvas-mcp-server/build/index.js"],
"env": {
"CANVAS_ACCESS_TOKEN": "your_canvas_token_here"
}
}
}
}
- Restart Claude Desktop
Usage
Ask Claude about your academic data:
- "What assignments do I have due this week?"
- "Show me my current grades"
- "Which course needs attention?"
- "Find assignments with 'midterm' in the name"
Available Tools
get_courses
- List all enrolled coursesget_assignments
- Get assignments by courseget_upcoming_assignments
- Show upcoming deadlinesget_grades
- Retrieve grade informationget_course_progress
- Detailed course progresssearch_assignments
- Search assignments by keyword
Development
npm run dev # Development mode
npm run build # Build for production
npm start # Start the server