
A minimal Canvas LMS MCP (Machine Conversation Protocol) server for easy access to education data through your Canvas LMS instance.
概览
A minimal Canvas LMS MCP (Machine Conversation Protocol) server for easy access to education data through your Canvas LMS instance. This server provides a bridge between AI systems (like Cursor) and Canvas Learning Management System. - : List enrolled courses, get course details, syllabus, modules, and module items - : List and get assignments with optional submission status - : Get course pages by URL slug - : List your own submissions with grades and feedback - : List announcements across multiple courses - : List topics and view full discussion threads - : List calendar events with date filtering - : List planner items (assignments, announcements, etc.) - : Get enrollment data with grades - : List and get quizzes (classic quizzes only) - : List and get files - : Get course tabs, assignment groups, and favorite courses To install Canvas LMS Server for Claude Desktop automatically via Smithery: - Python 3.
README
以下为原文 README 节选,完整内容请查看原文。
Canvas LMS MCP Server
A minimal Canvas LMS MCP (Machine Conversation Protocol) server for easy access to education data through your Canvas LMS instance. This server provides a bridge between AI systems (like Cursor) and Canvas Learning Management System.
Features
- Courses: List enrolled courses, get course details, syllabus, modules, and module items
- Assignments: List and get assignments with optional submission status
- Pages: Get course pages by URL slug
- Submissions: List your own submissions with grades and feedback
- Announcements: List announcements across multiple courses
- Discussions: List topics and view full discussion threads
- Calendar: List calendar events with date filtering
- Planner: List planner items (assignments, announcements, etc.)
- Enrollments: Get enrollment data with grades
- Quizzes: List and get quizzes (classic quizzes only)
- Files: List and get files
- Navigation: Get course tabs, assignment groups, and favorite courses
Installation
Installing via Smithery
To install Canvas LMS Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ahnopologetic/canvas-lms-mcp --client claude
Prerequisites
- Python 3.13+
- Canvas LMS API token
uvpackage manager (recommended)
Installation Methods
Option 1: Install with uvx (Recommended)
The easiest way to install and run canvas-lms-mcp is using uvx:
uvx canvas-lms-mcp
This will run the server in an isolated environment without installing it permanently.
To install the tool permanently:
uv tool install canvas-lms-mcp
Option 2: Install from Source
-
Clone the repository:
git clone https://github.com/yourusername/canvas-lms-mcp.git cd canvas-lms-mcp -
Install with uv:
# Install uv if you don't have it yet curl -LsSf https://astral.sh/uv/install.sh | sh # Create a virtual environment and install dependencies uv venv uv pip install -e .Alternatively, use traditional methods:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -e .
Configuration
Set the following environment variables:
export CANVAS_API_TOKEN="your_canvas_api_token"
export CANVAS_BASE_URL="https://your-institution.instructure.com" # Default: https://canvas.instructure.com
You can get your Canvas API token from your Canvas account settings.
Running the Server
Start the server with uv:
uv run src/canvas_lms_mcp/main.py
If installed with uvx tool:
canvas-lms-mcp
安装
uvx canvas-lms-mcp配置
{
"mcpServers": {
"canvas": {
"command": "uvx",
"args": ["canvas-lms-mcp"],
"env": {
"CANVAS_API_TOKEN": "your_canvas_api_token",
"CANVAS_BASE_URL": "https://your-institution.instructure.com"
}
}
}
}