Skip to main content
Glama

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

Tool

Descripción

courses

Materias activas del semestre

assignments(course_id)

Tareas con fecha límite

announcements(course_id)

Anuncios de profesores

upcoming

Todo lo que vence pronto (vista unificada)

todo

Pendientes 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

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/The-greenpanter/canvas-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server