Canvas MCP Server

by defsolmcp

Integrations

  • Used for environment variable management to store configuration settings like API tokens and URLs.

  • Provides tools for interacting with the Canvas LMS API, enabling course and user management, content creation, assessments, and quiz administration within a Canvas learning management system.

  • Used for cloning the repository during the installation process.

Servidor Canvas MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con la API de Canvas LMS. Este servidor proporciona herramientas para gestionar cursos, usuarios, contenido y evaluaciones en Canvas.

Características

  • Autenticación : autenticación segura con tokens de API de Canvas
  • Gestión de cursos : obtener información de los cursos, enumerarlos y actualizar su configuración
  • Gestión de usuarios : obtener información de usuarios, enumerar usuarios del curso, administrar inscripciones
  • Gestión de contenido : crear y administrar páginas, módulos y elementos de módulos
  • Gestión de evaluaciones : crear y administrar tareas, calificar entregas, crear anuncios
  • Gestión de cuestionarios : cree y administre cuestionarios, preguntas de cuestionarios y califique envíos de cuestionarios

Prerrequisitos

  • Node.js 16 o superior
  • Una instancia de Canvas LMS
  • Token de API de Canvas con permisos adecuados

Instalación

  1. Clonar el repositorio:
    git clone https://github.com/yourusername/canvas-mcp-server.git cd canvas-mcp-server
  2. Instalar dependencias:
    npm install
  3. Cree un archivo .env basado en el archivo .env.example :
    cp .env.example .env
  4. Edite el archivo .env con su token y URL de API de Canvas:
    CANVAS_API_TOKEN=your_canvas_api_token_here CANVAS_API_URL=https://your-institution.instructure.com/api/v1 MCP_SERVER_NAME=canvas-mcp
  5. Construir el proyecto:
    npm run build

Uso

Ejecución del servidor

npm start

Configuración con Claude para escritorio

Para utilizar este servidor MCP con Claude for Desktop, agregue lo siguiente a su archivo de configuración de Claude for Desktop:

{ "mcpServers": { "canvas-mcp": { "command": "node", "args": [ "/ABSOLUTE/PATH/TO/canvas-mcp-server/dist/index.js" ] } } }

Reemplace /ABSOLUTE/PATH/TO/ con la ruta real a su directorio canvas-mcp-server.

Configuración con Anything LLM

Para utilizar este servidor MCP con Anything LLM, agregue lo siguiente a su configuración de Anything LLM MCP:

  1. Vaya a Configuración > MCP en su interfaz de Anything LLM
  2. Agregue un nuevo servidor MCP con la siguiente configuración:
{ "name": "canvas-mcp", "command": "node", "args": [ "/ABSOLUTE/PATH/TO/canvas-mcp-server/dist/index.js" ] }

Reemplace /ABSOLUTE/PATH/TO/ con la ruta real a su directorio canvas-mcp-server.

Para obtener más información, consulte la documentación de Anything LLM MCP .

Herramientas disponibles

Gestión de cursos
  • get_course : Obtener información sobre un curso de Canvas
  • list_courses : Lista los cursos de Canvas para el usuario actual
  • update_course : Actualizar la configuración del curso de Canvas
  • get_course_modules : Obtener módulos para un curso de Canvas
  • get_course_assignments : Obtener tareas para un curso de Canvas
Gestión de usuarios
  • get_user : Obtener información sobre un usuario de Canvas
  • get_self : Obtener información sobre el usuario actual de Canvas
  • list_course_users : Lista de usuarios inscritos en un curso de Canvas
  • enroll_user : Inscribe a un usuario en un curso de Canvas
  • remove_enrollment : eliminar la inscripción de un usuario de un curso de Canvas
  • send_message : Envía un mensaje a un usuario de Canvas
Gestión de contenidos
  • get_course_pages : Obtener páginas para un curso de Canvas
  • get_page_content : Obtener el contenido de una página de Canvas
  • create_or_update_page : Crea o actualiza una página de Canvas
  • delete_page : Eliminar una página de Canvas
  • create_module : Crea un nuevo módulo en un curso de Canvas
  • add_module_item : Agregar un elemento a un módulo en un curso de Canvas
Gestión de la evaluación
  • create_assignment : Crea una nueva tarea en un curso de Canvas
  • update_assignment : Actualizar una tarea existente en un curso de Canvas
  • grade_submission : Califica la entrega de un estudiante para una tarea
  • get_submissions : Obtener las entregas de los estudiantes para una tarea
  • create_announcement : Crea un nuevo anuncio en un curso de Canvas
Gestión de cuestionarios
  • list_quizzes : Lista de cuestionarios en un curso de Canvas
  • get_quiz : Obtener detalles de un cuestionario específico
  • create_quiz : Crea un nuevo cuestionario en un curso de Canvas
  • update_quiz : Actualizar un cuestionario existente en un curso de Canvas
  • delete_quiz : eliminar un cuestionario de un curso de Canvas
  • get_quiz_questions : Obtener preguntas para un cuestionario específico
  • create_quiz_question : Crea una nueva pregunta para un cuestionario
  • update_quiz_question : Actualizar una pregunta de cuestionario existente
  • delete_quiz_question : Eliminar una pregunta de un cuestionario
  • get_quiz_submissions : Obtener envíos para un cuestionario específico
  • grade_quiz_submission : Calificar una entrega de cuestionario

Desarrollo

Estructura del proyecto

canvas-mcp-server/ ├── src/ │ ├── index.ts # Main entry point │ ├── auth/ # Authentication handling │ ├── api/ # Canvas API client │ │ └── client.ts # API client with pagination and rate limiting │ ├── tools/ # MCP tool implementations │ │ ├── courses.ts # Course-related tools │ │ ├── users.ts # User-related tools │ │ ├── content.ts # Content-related tools │ │ ├── assessments.ts # Assessment-related tools │ │ └── quizzes.ts # Quiz-related tools │ └── utils/ │ ├── logging.ts # Logging utilities │ └── error.ts # Error handling utilities ├── dist/ # Compiled JavaScript files ├── .env # Environment variables └── package.json # Project dependencies

Ejecutando en modo de desarrollo

npm run dev

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Expresiones de gratitud

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA interactuar con Canvas LMS a través de su API, proporcionando herramientas para administrar cursos, usuarios, contenido, evaluaciones y cuestionarios.

  1. Características
    1. Prerrequisitos
      1. Instalación
        1. Uso
          1. Ejecución del servidor
          2. Configuración con Claude para escritorio
          3. Configuración con Anything LLM
          4. Herramientas disponibles
        2. Desarrollo
          1. Estructura del proyecto
          2. Ejecutando en modo de desarrollo
        3. Licencia
          1. Expresiones de gratitud

            Related MCP Servers

            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server that enables interaction with the Canvas Learning Management System API, allowing users to manage courses, assignments, enrollments, and grades within Canvas.
              Last updated -
              31
              5
              JavaScript
            • -
              security
              A
              license
              -
              quality
              A set of tools enabling AI agents to interact with Canvas LMS, allowing users to find relevant resources, get course information, and navigate modules through natural language queries.
              Last updated -
              6
              Python
              MIT License
            • -
              security
              A
              license
              -
              quality
              Enables AI assistants like Claude to interact with Canvas LMS through the Canvas API, providing tools for managing courses, announcements, rubrics, assignments, and student data.
              Last updated -
              TypeScript
              MIT License
              • Apple
            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server that provides persistent task management capabilities for AI assistants, allowing them to create, update, and track tasks beyond their usual context limitations.
              Last updated -
              1
              TypeScript

            View all related MCP servers

            ID: yjguhhl6e2