Skip to main content
Glama
salvadoracuna

canvas-mcp

canvas-mcp

Un servidor MCP que expone datos de Canvas LMS (cursos, tareas, anuncios) a cualquier cliente compatible con MCP (Claude Desktop, Claude Code, etc.).

Este repositorio no incluye credenciales. No hay ningún token de Canvas ni dirección de correo electrónico en él. Tú proporcionas tu propio token en un archivo local .env que está en git-ignored y nunca sale de tu máquina. Consulta Dónde va tu token.

Requisitos previos

  • uv (gestor de paquetes de Python)

  • Una cuenta de Canvas LMS con un token de API

Related MCP server: canvas-mcp

Configuración

1. Generar un token de API de Canvas

  1. Inicia sesión en el sitio de Canvas de tu institución (por ejemplo https://canvas.fen.uchile.cl)

  2. Ve a Cuenta → Configuración → Integraciones aprobadas

  3. Haz clic en + Nuevo token de acceso, asígnale un nombre y copia el token.

2. Configurar el entorno

Dónde va tu token: en un archivo llamado exactamente .env, en la raíz de esta carpeta de proyecto (justo al lado de main.py). Ese archivo está listado en .gitignore, por lo que git nunca lo confirmará ni lo enviará.

Copia la plantilla:

cp .env.example .env

Luego abre .env y completa los espacios en blanco:

# Your Canvas instance URL -- change this to your school's Canvas address
CANVAS_URL=https://canvas.fen.uchile.cl

# Paste the token from step 1 here
CANVAS_API_TOKEN=

# Optional second account (use account="udd" in the tools). Leave blank if unused.
CANVAS_UDD_URL=
CANVAS_UDD_TOKEN=

Solo se requieren CANVAS_URL y CANVAS_API_TOKEN. El par CANVAS_UDD_* es para una segunda cuenta de Canvas opcional; deja ambos en blanco si solo tienes una.

Nunca confirmes .env, nunca pegues tu token en un chat y nunca lo pongas en un archivo que se comparta. Otorga acceso completo a tu cuenta de Canvas. Si se filtra, elimina el token en Canvas (Cuenta -> Configuración -> Integraciones aprobadas) y genera uno nuevo.

3. Instalar dependencias

uv sync

4. Ejecutar el servidor manualmente (prueba opcional)

uv run python main.py

El servidor se comunica a través de stdio, por lo que no imprimirá nada hasta que un cliente MCP se conecte.

Conexión con Claude Desktop

Agrega lo siguiente a tu archivo de configuración de Claude Desktop:

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

{
  "mcpServers": {
    "canvas": {
      "command": "uv",
      "args": ["run", "--project", "/absolute/path/to/canvas-mcp", "python", "main.py"]
    }
  }
}

Reemplaza /absolute/path/to/canvas-mcp con la ruta real a esta carpeta. Usa barras diagonales / incluso en Windows.

No se coloca ningún token en este archivo. Se lee desde tu .env (consulta Dónde va tu token) -- python-dotenv lo carga automáticamente.

Conexión con Claude Code

Agrega el servidor MCP en la configuración de Claude Code o ejecuta:

claude mcp add canvas -- uv run --project /absolute/path/to/canvas-mcp python main.py

Herramientas disponibles

Herramienta

Descripción

get_courses

Lista todos los cursos activos en los que estás inscrito

get_assignments(days_ahead=30)

Lista las próximas tareas ordenadas por fecha de entrega

get_announcements

Lista los anuncios recientes por curso

Estructura del proyecto

canvas-mcp/
├── main.py          # MCP server
├── .env             # Your token lives here (git-ignored, never pushed)
├── .env.example     # Template
├── pyproject.toml   # Project metadata & dependencies
└── uv.lock          # Locked dependency versions
Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • MCP adapter for the Paxaver school community platform. Streamable HTTP, OAuth 2.1, capability auth.

  • MCP server for the Inistate platform: module discovery, entry management, and activity submission.

View all MCP Connectors

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/salvadoracuna/canvas-mcp'

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