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
.envque 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
Inicia sesión en el sitio de Canvas de tu institución (por ejemplo
https://canvas.fen.uchile.cl)Ve a Cuenta → Configuración → Integraciones aprobadas
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 .envLuego 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 sync4. Ejecutar el servidor manualmente (prueba opcional)
uv run python main.pyEl 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-dotenvlo 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.pyHerramientas disponibles
Herramienta | Descripción |
| Lista todos los cursos activos en los que estás inscrito |
| Lista las próximas tareas ordenadas por fecha de entrega |
| 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 versionsMaintenance
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
- AlicenseAqualityAmaintenanceMCP server for Canvas LMS enabling parent observers and students to access courses, assignments, grades, and more. Supports multiple authentication methods including token, OAuth, and a convenient fetchproxy fallback.18165MIT
- AlicenseNot gradedqualityCmaintenanceEnables managing Canvas LMS courses, assignments, grades, modules, and more from MCP-compatible clients like Claude Desktop, Kiro, or Amazon Q Developer.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Canvas LMS with automatic OAuth authentication. Enables interaction with courses, assignments, grades, modules, discussions, quizzes, files, calendar, messaging, and more without manual API token management.339MIT
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server for Canvas LMS that exposes a user's courses, upcoming work, and assignments as callable tools.MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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