Cover image
Try Now
2025-03-25

Un serveur MCP Claude Desktop pour contrôler l'API REST LMS REST Canvas

3 years

Works with Finder

1

Github Watches

0

Github Forks

0

Github Stars

Claude Canvas MCP

A Model Context Protocol (MCP) server that enables Claude to interact with Canvas LMS. This server provides tools for managing courses, announcements, assignments, students, and more through the Canvas API.

Features

  • List active courses and their details
  • Retrieve course modules, pages, and content
  • View assignments, quizzes, and discussions
  • Access student enrollment information
  • Post announcements and comments
  • View submission details and grades
  • Upload and download files
  • Manage rubrics and grades

Prerequisites

  • Node.js (v16 or higher)
  • A Canvas API token
  • Canvas instance URL (defaults to "http://canvas.docker/")
  • Claude Desktop application

Installation

  1. Clone this repository and install dependencies:
git clone https://github.com/johnnyrobot/claude-canvas-mcp.git
cd claude-canvas-mcp
npm install
  1. Build the TypeScript project:
npm run build
  1. Configure your environment variables:
# Copy the example environment file
cp .env.example .env

# Edit the .env file with your Canvas information
nano .env

Claude Desktop Integration

  1. Open Claude Desktop's configuration file:

MacOS:

code ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows:

code %AppData%\Claude\claude_desktop_config.json
  1. Add the Canvas MCP server configuration:
{
  "mcpServers": {
    "canvas": {
      "command": "node",
      "args": [
        "/path/to/claude-canvas-mcp/build/index.js"
      ],
      "env": {
        "CANVAS_API_TOKEN": "your_token_here",
        "CANVAS_DOMAIN": "http://canvas.docker/"
      }
    }
  }
}
  1. Restart Claude Desktop to apply changes

Available Tools

list-courses

Lists all active courses for the authenticated user

  • No required parameters
  • Returns course names, IDs, and term information

get-course

Gets detailed information about a specific course

  • Required parameters:
    • courseId: string

list-modules

Lists all modules in a course

  • Required parameters:
    • courseId: string

list-module-items

Lists all items in a module

  • Required parameters:
    • courseId: string
    • moduleId: string

list-assignments

Gets all assignments in a course

  • Required parameters:
    • courseId: string
  • Optional parameters:
    • includeContent: boolean (default: false)

get-assignment

Gets detailed information about an assignment

  • Required parameters:
    • courseId: string
    • assignmentId: string

list-students

Gets a complete list of students enrolled in a course

  • Required parameters:
    • courseId: string
  • Optional parameters:
    • includeEmail: boolean (default: false)

post-announcement

Posts an announcement to a specific course

  • Required parameters:
    • courseId: string
    • title: string
    • message: string

list-submissions

Gets all student submissions for an assignment

  • Required parameters:
    • courseId: string
    • assignmentId: string

get-submission

Gets a specific student's submission for an assignment

  • Required parameters:
    • courseId: string
    • assignmentId: string
    • studentId: string

post-submission-comment

Posts a comment on a student's submission

  • Required parameters:
    • courseId: string
    • assignmentId: string
    • studentId: string
    • comment: string

list-files

Lists files in a course

  • Required parameters:
    • courseId: string
  • Optional parameters:
    • folderId: string

upload-file

Uploads a file to a course

  • Required parameters:
    • courseId: string
    • fileName: string
    • fileContent: string
  • Optional parameters:
    • folderId: string

License

MIT License

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • Yasir Eryilmaz
  • AI scriptwriting assistant for short, engaging video content.

  • apappascs
  • Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.

  • ShrimpingIt
  • Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX

  • huahuayu
  • Une passerelle API unifiée pour intégrer plusieurs API d'explorateur de blockchain de type étherscan avec la prise en charge du protocole de contexte modèle (MCP) pour les assistants d'IA.

  • deemkeen
  • Contrôlez votre MBOT2 avec un combo d'alimentation: MQTT + MCP + LLM

  • jae-jae
  • MCP Server pour récupérer le contenu de la page Web à l'aide du navigateur sans tête du dramwright.

    Reviews

    5 (1)
    Avatar
    user_pkiGx0AN
    2025-04-16

    As a dedicated MCP user, Claude-Canvas-MCP by johnnyrobot has truly exceeded my expectations. The integration and functionality it provides are seamless and highly efficient for my projects. If you work in MCP environments, this tool is an invaluable asset. Highly recommend! Check it out on GitHub at the provided link.