MCP Hub
Back to servers

Canvas MCP Server

Connects Claude Desktop to Canvas LMS to monitor academic activities like assignments, announcements, and upcoming deadlines. It enables users to track courses and pending tasks through a unified interface using the Canvas REST API.

glama
Updated
Mar 17, 2026

Canvas MCP Server

MCP Server que conecta Claude Desktop con Canvas LMS, permitiendo monitorear tareas, entregas, anuncios y pendientes académicos directamente desde Claude.

Tools disponibles

ToolDescripción
coursesMaterias activas del semestre
assignments(course_id)Tareas con fecha límite
announcements(course_id)Anuncios de profesores
upcomingTodo lo que vence pronto (vista unificada)
todoPendientes sin entregar

Requisitos

  • Python 3.12+
  • Token de API de Canvas LMS
  • Docker y Docker Compose (opcional, para deploy)

Instalación local

# Clonar el repositorio
git clone https://github.com/tu-usuario/canvas-mcp.git
cd canvas-mcp

# Crear entorno virtual e instalar dependencias
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

# Configurar variables de entorno
cp .env.example .env
# Editar .env con tu token de Canvas y configuración

Configuración

Edita el archivo .env con tus datos:

CANVAS_BASE_URL=https://tu-instancia-canvas.edu
CANVAS_TOKEN=tu_token_de_canvas
MCP_HOST=127.0.0.1
MCP_PORT=8000
MCP_SECRET=tu_secreto_para_autenticar

Obtener el token de Canvas

  1. Inicia sesión en tu Canvas LMS
  2. Ve a CuentaConfiguración
  3. En la sección Tokens de acceso aprobados, clic en + Nuevo token de acceso
  4. Copia el token generado y pégalo en CANVAS_TOKEN

Uso

Ejecutar localmente

source .venv/bin/activate
python main.py

El server arranca en http://localhost:8000/sse.

Ejecutar con Docker

docker compose up -d

Para ver los logs:

docker compose logs -f

Para detener:

docker compose down

Conectar con Claude Desktop

Agrega esto a tu claude_desktop_config.json:

Local:

{
  "mcpServers": {
    "canvas": {
      "type": "sse",
      "url": "http://localhost:8000/sse"
    }
  }
}

Remoto (con tunnel o VPS):

{
  "mcpServers": {
    "canvas": {
      "type": "sse",
      "url": "https://tu-dominio.com/sse",
      "headers": {
        "Authorization": "Bearer TU_MCP_SECRET"
      }
    }
  }
}

La ubicación del archivo de configuración:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Deploy en VPS

# En el servidor
git clone https://github.com/tu-usuario/canvas-mcp.git
cd canvas-mcp
cp .env.example .env
# Editar .env con los valores reales
docker compose up -d

Stack

  • Python + FastMCP + httpx + python-dotenv
  • Transporte: SSE (Server-Sent Events)
  • Canvas API: REST v1 con Bearer Token

Licencia

MIT

Reviews

No reviews yet

Sign in to write a review