- Home
- MCP servers
- Canvas Academic
Canvas Academic
- python
6
GitHub Stars
python
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"akshsgaur-cmucanvasmcpserver": {
"command": "python",
"args": [
"/path/to/your/canvas-mcp-server/src/canvas_server.py"
],
"env": {
"CANVAS_API_TOKEN": "your_token_here"
}
}
}
}You can run Canvas Academic Assistant as an MCP server on your computer to query and manage Canvas data directly from Claude Desktop. This setup lets you ask questions about your courses, assignments, grades, and calendar, and get responses without logging into Canvas each time.
How to use
Set up the MCP server and connect it to Claude Desktop. Once connected, you can ask Claude natural questions about your Canvas data and receive answers that come from your own Canvas account.
Practical usage patterns you can try include: getting a list of all active courses, viewing upcoming assignments and deadlines, checking current grades across courses, pulling recent announcements, and inspecting calendar events for planned study sessions or exams.
How to install
Prerequisites: you need a Canvas account, Claude Desktop installed on your computer, and Python 3.10 or newer.
Step 1. Prepare your Canvas API token and environment.
# Step 1: Create and activate a Python virtual environment (example for Unix-like shells)
python3 -m venv venv
source venv/bin/activate
# Step 2: Install required Python packages
pip install mcp httpx python-dotenv pydantic
Additional configuration and setup
The server is designed to run locally and connect to Claude Desktop through a stdio MCP configuration. You will point Claude Desktop to the local Python process that runs the server.
Configure your Canvas API token in the environment when you start the server. The token is kept locally and is not sent to external services.
Configuration snippet (stdio MCP)
{
"mcpServers": {
"Canvas Academic Assistant": {
"command": "/path/to/your/canvas-mcp-server/venv/bin/python",
"args": [
"/path/to/your/canvas-mcp-server/src/canvas_server.py"
],
"env": {
"CANVAS_API_TOKEN": "your_token_here"
},
"enabled": true,
"autostart": true
}
}
}
Troubleshooting and tips
If the MCP server cannot connect, verify that Python is correctly installed, the virtual environment is active, and the Canvas API token remains valid.
If you see no data, confirm you are enrolled in active courses and that your Canvas account has the necessary permissions.
Security and data access
Your Canvas token stays on your computer. No data is sent to external servers. All communication happens locally between Claude Desktop and your Canvas instance.
What you can access
You can access enrolled courses, assignment details and due dates, grades and submissions, course announcements, calendar events, and recent Canvas activity. You have the same permissions as you would when using Canvas directly.
Available tools
view_active_courses
Fetch and display all active courses you are enrolled in, including course details and enrollment information.
list_assignments
Retrieve upcoming assignments, due dates, and detailed information for selected courses.
grade_monitor
Show current grades across all courses and track submission statuses for assignments.
calendar_events
Access Canvas calendar events and upcoming due dates for planning.
announcements
Fetch recent announcements from your courses and display them for quick updates.
recent_activity
Show recent activity within Canvas to help you stay informed about course changes.