AC

ahnopologetic/canvas-lms-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

7 stars 6 forks 质量 72 趋势 15MIT

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
  • uv package manager (recommended)

Installation Methods

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

  1. Clone the repository:

    git clone https://github.com/yourusername/canvas-lms-mcp.git
    cd canvas-lms-mcp
    
  2. 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
在 GitHub 查看完整 README

安装

uvx canvas-lms-mcp
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "canvas": { "command": "uvx", "args": ["canvas-lms-mcp"], "env": { "CANVAS_API_TOKEN": "your_canvas_api_token", "CANVAS_BASE_URL": "https://your-institution.instructure.com" } } } }