Canvas MCP Server
@avarant
About Canvas MCP Server
an mcp server for interacting with canvas
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"canvas-mcp-server": {
"command": "uv",
"args": [
"pip",
"install",
"-r",
"requirements.txt",
"#",
"Assuming",
"a",
"requirements.txt",
"might",
"be",
"added",
"later"
]
}
}
}Tools
5Fetches the list of active courses for the current user.
Fetches the list of assignments for a specific course ID.
Fetches calendar events (assignments) for specified context codes (defaults to user).
Fetches upcoming calendar events (including assignments) for the user.
Fetches detailed information for a specific course ID.
Overview
What is Canvas MCP Server?
A Canvas Model Context Protocol (MCP) server implemented in Python that exposes Canvas API functionalities as MCP tools using the canvas-lms-sdk. It is intended for users who want to programmatically interact with their Canvas LMS instance via MCP-compatible clients.
How to use Canvas MCP Server?
Set the CANVAS_API_URL and CANVAS_API_KEY environment variables with your Canvas credentials, install dependencies using uv (or pip) from the required repositories, then run python main.py. The server will start and listen for MCP client connections.
Key features of Canvas MCP Server?
- Fetches active courses for the current user
- Retrieves assignments for a specific course ID
- Checks calendar due dates for specified context codes
- Lists upcoming calendar events and assignments
- Returns detailed information for a given course ID
Use cases of Canvas MCP Server?
- Get an overview of all currently active courses
- View assignments and due dates for a specific course
- Check upcoming assignment deadlines on a calendar
- Access detailed course information (e.g., syllabus, settings)
- Automate Canvas data retrieval through MCP workflows
FAQ from Canvas MCP Server
What are the prerequisites for running the server?
Python 3.8 or later, the uv package manager (or pip), and a Canvas API URL and API key from your institution.
How do I set up environment variables?
Export CANVAS_API_URL (e.g., https://<your-institution>.instructure.com) and CANVAS_API_KEY before running the server. For production, use a secure secret manager.
Which dependencies need to be installed?
The server requires canvas-lms-sdk (installed from a GitHub repository) and mcp-sdk. Install them via uv pip install or pip as shown in the README.
How do I start the server?
After setting environment variables and installing dependencies, run python main.py from the project directory.
What tools does the server currently provide?
Five tools: get_active_courses, get_assignments_for_course, get_calendar_due_dates, get_upcoming_assignments, and get_class_information.
Frequently asked questions
What are the prerequisites for running the server?
Python 3.8 or later, the `uv` package manager (or `pip`), and a Canvas API URL and API key from your institution.
How do I set up environment variables?
Export `CANVAS_API_URL` (e.g., `https://<your-institution>.instructure.com`) and `CANVAS_API_KEY` before running the server. For production, use a secure secret manager.
Which dependencies need to be installed?
The server requires `canvas-lms-sdk` (installed from a GitHub repository) and `mcp-sdk`. Install them via `uv pip install` or `pip` as shown in the README.
How do I start the server?
After setting environment variables and installing dependencies, run `python main.py` from the project directory.
What tools does the server currently provide?
Five tools: `get_active_courses`, `get_assignments_for_course`, `get_calendar_due_dates`, `get_upcoming_assignments`, and `get_class_information`.
Basic information
More Other MCP servers
Maestro
mobile-dev-incPainless E2E Automation for Mobile and Web
MaxKB
1Panel-dev🔥 MaxKB is an open-source platform for building enterprise-grade agents. 强大易用的开源企业级智能体平台。
MCP Registry
modelcontextprotocolA community driven registry service for Model Context Protocol (MCP) servers.
IDA Pro MCP
mrexodiaAI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.
Inbox Zero AI
elie222The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Comments