Convertí Canvas LMS en una herramienta para agentes de IA
Un servidor MCP para administrar cursos, tareas, calificaciones, estudiantes y contenido mediante instrucciones en lenguaje natural
Convertí Canvas LMS en una herramienta para agentes de IA
Un servidor MCP para administrar cursos, tareas, calificaciones, estudiantes y contenido mediante instrucciones en lenguaje natural
Quienes trabajan con Canvas LMS conocen bien la rutina.
Crear una actividad, configurar fechas, revisar entregas, identificar estudiantes atrasados, publicar anuncios, organizar módulos y responder mensajes son operaciones sencillas por separado. El problema aparece cuando esas pequeñas acciones se acumulan durante todo el semestre.
Muchas requieren recorrer menús, abrir varias pantallas, buscar identificadores y repetir procesos casi idénticos en distintos cursos.
Me pregunté qué ocurriría si un docente pudiera expresar directamente lo que necesita:
Muéstrame las entregas pendientes de calificar en el curso de Programación.
Crea una actividad para el próximo viernes y agrégala al módulo de la semana cuatro.
Identifica a los estudiantes que no han ingresado recientemente.
Publica un anuncio recordando la fecha del examen.
Esa idea dio origen a Canvas LMS MCP Server, un proyecto que conecta Canvas con Claude Desktop, Claude Code, Cursor y otros agentes compatibles con Model Context Protocol.
Código fuente:
Paquete:
npm — @charlie.act7/canvas-mcp-server
Una interfaz conversacional para el aula virtual
El objetivo no es reemplazar Canvas ni construir otra plataforma educativa.
El servidor funciona como una capa de conexión entre un asistente de inteligencia artificial y la API de Canvas.
Cuando escribes una solicitud, el flujo es aproximadamente el siguiente:
Docente o administrador
↓
Asistente de IA
↓
Canvas LMS MCP Server
↓
API oficial de Canvas
↓
Curso, actividad o recurso solicitado
El agente interpreta la intención, selecciona la operación apropiada y prepara los parámetros. Después, el servidor realiza la petición correspondiente y devuelve el resultado en un formato que el asistente puede explicar con claridad.
En lugar de navegar manualmente por varias secciones, puedes iniciar ciertas tareas desde una conversación.
¿Para quién puede resultar útil?
El proyecto está pensado principalmente para personas que administran espacios educativos en Canvas:
- Docentes.
- Tutores.
- Coordinadores académicos.
- Diseñadores instruccionales.
- Administradores de cursos.
- Equipos de soporte tecnológico.
- Desarrolladores de automatizaciones educativas.
Un estudiante también puede aprovechar las funciones de consulta disponibles, siempre que su token y sus permisos de Canvas le concedan acceso.
El servidor no evita las reglas de autorización de la institución. Cada operación sigue limitada por los privilegios asociados a la cuenta utilizada.
Del comando general a una acción precisa
Una de las ventajas de integrar Canvas con un agente es que la petición puede comenzar de forma natural.
Por ejemplo:
Revisa el curso de Sociología y dime cuáles actividades
todavía tienen entregas sin calificar.
El asistente puede localizar el curso, consultar las actividades y recuperar los envíos correspondientes.
Sin embargo, cuando conoces el identificador o la dirección directa del recurso, conviene proporcionarlos:
Muestra las entregas pendientes de la actividad 4821
en el curso 105.
También puedes incluir una URL:
Revisa las entregas sin calificar de esta actividad:
https://universidad.instructure.com/courses/105/assignments/4821
Dar un ID o enlace específico reduce búsquedas innecesarias, acelera la ejecución y evita que el modelo tenga que inspeccionar numerosos elementos antes de encontrar el correcto.
Administración de cursos
El servidor permite consultar, crear y modificar cursos según los permisos disponibles en la cuenta.
Algunas instrucciones posibles son:
Lista mis cursos activos y separa las diferentes secciones.
Obtén el programa académico del curso de Física.
Actualiza la descripción del curso 850 con este contenido.
Esto puede ser útil para revisar rápidamente la estructura de una asignatura o preparar información antes de realizar modificaciones más específicas.
Módulos y organización del contenido
Los módulos suelen convertirse en la columna vertebral de un aula virtual.
Mediante el MCP puedes crear, actualizar o eliminar módulos y sus elementos. También es posible agregar páginas, actividades, encabezados y otros recursos.
Un ejemplo:
Crea un módulo llamado “Semana 1: Fundamentos”.
Dentro del módulo agrega:
1. Un encabezado llamado “Lecturas obligatorias”.
2. La página del sílabo.
3. La actividad de diagnóstico.
El agente transforma esa instrucción en varias operaciones coordinadas.
De esta manera, una estructura que normalmente exigiría diversos pasos en la interfaz puede describirse primero como un resultado esperado.
Creación de actividades
El servidor cubre el ciclo de vida de las tareas:
- Consulta.
- Creación.
- Actualización.
- Eliminación.
- Configuración de fechas.
- Organización por grupos.
- Revisión de entregas.
Podrías solicitar:
Crea una actividad llamada “Análisis de mercado”
en el curso de Administración.
Debe valer 20 puntos y cerrar el 14 de agosto a las 23:59.
También puedes modificar varias fechas:
Mueve siete días todas las fechas de entrega
del segundo módulo.
Para evitar cambios involuntarios, sigue siendo recomendable pedir al agente que primero muestre lo que pretende modificar, especialmente en operaciones masivas.
Calificación individual y por lotes
Una de las áreas que más tiempo consume es la revisión del trabajo estudiantil.
El servidor permite consultar entregas, recuperar comentarios y registrar calificaciones.
Ejemplo individual:
Califica con 90 la entrega de la estudiante 305
para la actividad 4821.
Agrega este comentario:
“El análisis está bien organizado. Revisa las conclusiones
y relaciona mejor los resultados con la hipótesis”.
También admite procesos múltiples:
Encuentra a quienes no entregaron la actividad 4821.
Antes de realizar cambios, muéstrame la lista.
Después de revisar el resultado:
Asigna cero a esas entregas y agrega el comentario:
“Actividad no presentada. Comunícate con el docente
si existe una justificación”.
La separación entre revisión y ejecución es importante. Una instrucción relacionada con notas puede afectar directamente el historial académico de varias personas.
Rúbricas como parte del flujo
Además de consultar rúbricas existentes, el MCP incluye operaciones para crearlas, modificarlas y asociarlas con actividades.
Por ejemplo:
Crea una rúbrica para el proyecto final con estos criterios:
- Investigación: 30 puntos.
- Metodología: 25 puntos.
- Análisis: 25 puntos.
- Presentación: 20 puntos.
Después:
Asocia la rúbrica con la actividad “Proyecto final”.
Esta capacidad permite preparar criterios de evaluación mediante una conversación, conservando la estructura formal que Canvas necesita.
Classic Quizzes y New Quizzes
Canvas mantiene dos sistemas distintos de cuestionarios, y el servidor contempla ambos.
Para Classic Quizzes es posible trabajar con:
- Cuestionarios.
- Preguntas.
- Grupos de preguntas.
- Fechas.
- Configuración general.
Para New Quizzes se incluyen acciones sobre cuestionarios y elementos mediante los endpoints LTI correspondientes.
Ejemplo:
Crea un cuestionario de práctica con cinco preguntas
sobre funciones cuadráticas.
No debe contar para la nota y los estudiantes
podrán intentarlo dos veces.
En solicitudes complejas conviene indicar explícitamente qué motor de cuestionarios deseas utilizar.
Estudiantes, matrículas y grupos
La integración también puede recuperar participantes, revisar sus notas y gestionar inscripciones cuando la cuenta tiene autorización.
Algunas solicitudes posibles:
Lista estudiantes y asistentes de docencia por separado.
Busca a María González dentro de la cuenta institucional.
Muestra las actividades pendientes del estudiante 726.
Agrega automáticamente a los estudiantes sin grupo
dentro de los equipos existentes.
Las acciones de matrícula deben utilizarse con especial cuidado, ya que pueden incorporar o retirar personas de un espacio académico.
Analítica y señales de participación
Canvas registra información que puede ayudar a detectar estudiantes con poca actividad.
El MCP permite consultar datos del curso, actividad reciente y métricas individuales.
Por ejemplo:
¿Quiénes no han participado durante los últimos siete días
en el curso 105?
Obtén las visitas y participaciones del estudiante 726.
Resume la actividad reciente del curso de Cálculo.
Estas señales no deberían utilizarse como una conclusión automática sobre el desempeño de una persona. Pueden servir como punto de partida para revisar la situación y ofrecer apoyo.
Una ausencia de actividad podría deberse a dificultades de conexión, problemas personales, errores de matrícula o acceso a contenidos por otras vías.
Comunicación sin salir del asistente
Canvas incluye bandeja de entrada, anuncios y discusiones.
El servidor puede consultar conversaciones, responder mensajes, publicar avisos y trabajar con temas de discusión.
Ejemplos:
¿Cuántos mensajes sin leer tengo?
Muestra mis diez conversaciones más recientes.
Envía un mensaje privado al estudiante 726
recordándole que la propuesta vence mañana.
Publica un anuncio en el curso 105 indicando
que la clase del viernes será virtual.
Antes de enviar comunicaciones a muchas personas, resulta conveniente solicitar una vista previa del texto y de los destinatarios.
Revisiones entre pares
El paquete incluye herramientas para consultar, asignar y eliminar revisiones entre compañeros.
Un posible flujo sería:
Lista las revisiones por pares de la actividad 4821.
Asigna al estudiante 305 la entrega del estudiante 726.
Esto puede ayudar cuando la distribución automática necesita ajustes o cuando un docente quiere comprobar cómo quedaron organizadas las parejas.
Archivos, carpetas y páginas
La gestión de materiales es otra parte importante del proyecto.
El servidor permite:
- Consultar archivos y directorios.
- Crear carpetas.
- Subir documentos.
- Actualizar metadatos.
- Eliminar recursos.
- Crear o editar páginas.
- Buscar contenido dentro de un curso.
Ejemplo:
Crea una carpeta llamada “Lecturas complementarias”
y sube el archivo bibliografia.pdf.
O:
Busca todas las páginas, tareas y discusiones
que mencionen “fotosíntesis”.
Esta última operación puede resultar útil para auditar contenido duplicado o localizar dónde se aborda un tema específico.
Calendario y horarios de atención
También es posible trabajar con grupos de citas y espacios de atención.
Un docente puede pedir:
Crea horarios de tutoría para el martes y jueves
de 15:00 a 17:00.
Después puede consultar participantes, reservas y próximos espacios disponibles.
Este tipo de función puede reducir el trabajo repetitivo asociado con la organización de asesorías o revisiones individuales.
Más de cien herramientas disponibles
La versión publicada del servidor reúne 111 herramientas organizadas en categorías como:
- Cursos.
- Módulos.
- Páginas.
- Archivos y carpetas.
- Actividades.
- Entregas.
- Calificaciones.
- Rúbricas.
- Cuestionarios.
- Estudiantes.
- Matrículas.
- Grupos.
- Discusiones.
- Anuncios.
- Mensajería.
- Calendario.
- Analítica.
- Revisiones por pares.
- Configuración y diagnóstico.
Esta amplitud permite cubrir procesos muy distintos, pero también hace importante redactar peticiones específicas.
Mientras más clara sea la instrucción, menor será la posibilidad de que el agente seleccione un curso, actividad o estudiante equivocado.
Instalación con npx
Puedes ejecutar el paquete sin instalarlo globalmente:
npx -y @charlie.act7/canvas-mcp-server
También puedes instalarlo como dependencia:
npm install @charlie.act7/canvas-mcp-server
El servidor necesita dos datos:
- El dominio de la institución.
- Un token personal de acceso a Canvas.
El dominio suele tener una forma parecida a:
universidad.instructure.com
Obtener un token de Canvas
Dentro de Canvas:
- Abre Cuenta.
- Ingresa a Configuración.
- Busca la sección Integraciones aprobadas.
- Selecciona Nuevo token de acceso.
- Escribe un propósito reconocible.
- Genera y copia el token.
Canvas normalmente muestra ese valor una sola vez. Debes guardarlo en un lugar seguro.
No publiques el token en GitHub, capturas de pantalla, archivos compartidos ni ejemplos de configuración reales.
Configuración en Claude Desktop
En Windows, abre:
%APPDATA%\Claude\claude_desktop_config.json
En macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Agrega:
{
"mcpServers": {
"canvas": {
"command": "npx",
"args": [
"-y",
"@charlie.act7/canvas-mcp-server"
],
"env": {
"CANVAS_API_TOKEN": "TU_TOKEN",
"CANVAS_API_DOMAIN": "universidad.instructure.com"
}
}
}
}
Guarda el archivo y reinicia completamente Claude Desktop.
Configuración mediante CLI
El paquete incluye un asistente interactivo:
npx @charlie.act7/canvas-mcp-server config
Este comando solicita el dominio y el token, y crea una configuración local para las siguientes ejecuciones.
Puede ser una alternativa más cómoda que definir manualmente variables de entorno durante el desarrollo.
Uso desde Claude Code
El proyecto también puede instalarse como plugin de Claude Code:
/plugin install canvas-lms@claude-community
Después puedes iniciar la configuración con:
/canvas-lms:config
Este camino permite preparar la conexión desde la propia terminal de Claude Code.
Servidor HTTP y documentación Swagger
El repositorio no se limita al transporte stdio utilizado habitualmente por MCP.
También puede iniciarse en modo HTTP:
npm run start:http
Al abrir:
http://localhost:3000
se muestra una interfaz Swagger para explorar los endpoints disponibles.
Este modo permite probar llamadas, revisar parámetros y conectar el proyecto con sistemas que trabajan mediante HTTP.
También abre la posibilidad de utilizarlo como backend para una acción personalizada de un GPT u otra aplicación capaz de consumir una especificación de API.
Seguridad: el agente actúa con tus permisos
El servidor utiliza la API oficial de Canvas y opera mediante el token proporcionado.
Eso significa que el agente puede hacer aquello que tu cuenta esté autorizada a realizar.
Si el token pertenece a un docente, podría tener acceso a notas, estudiantes, entregas y comunicaciones. Si pertenece a un administrador, el alcance podría ser todavía mayor.
Algunas recomendaciones esenciales:
- Crea un token dedicado para esta integración.
- No lo escribas directamente en conversaciones.
- Evita guardarlo dentro del repositorio.
- Revócalo cuando deje de ser necesario.
- Revisa las operaciones destructivas.
- Solicita una vista previa antes de cambios masivos.
- Confirma curso, actividad y destinatarios.
- Verifica las calificaciones antes de publicarlas.
- Utiliza el menor nivel de permisos posible.
La comodidad de una interfaz conversacional no elimina la necesidad de supervisión humana.
Prompts más seguros y eficientes
Una petición como esta es demasiado abierta:
Organiza mi curso.
Una instrucción más adecuada sería:
En el curso 105, crea un módulo llamado “Semana 3”.
Antes de modificar Canvas, enumera las acciones
que vas a realizar y espera mi confirmación.
Para una operación de evaluación:
Consulta las entregas sin calificar de la actividad 4821.
No registres notas todavía.
Devuélveme estudiante, fecha de entrega y estado.
Luego, una vez revisados los datos:
Califica únicamente a los estudiantes de esta lista.
Antes de enviar los cambios, presenta una tabla final.
Indicar el recurso, el alcance y el momento de confirmación mejora considerablemente el control.
Un ejemplo completo
Supongamos que necesitas preparar una nueva unidad.
Podrías comenzar así:
En el curso 105, crea un módulo llamado
“Unidad 4: Introducción a bases de datos”.
Después:
Crea una página titulada “Modelo relacional”
con una introducción breve y una lista de conceptos principales.
Luego:
Agrega la página al módulo y crea una actividad
llamada “Diseño de un esquema relacional”.
Debe valer 15 puntos y cerrar el próximo viernes.
Finalmente:
Crea una rúbrica con criterios de normalización,
claridad, relaciones y justificación.
Asóciala con la nueva actividad.
Lo importante no es ejecutar todo en un solo mensaje. Dividir el proceso permite revisar cada etapa y corregir errores antes de avanzar.
Automatización con responsabilidad
En educación, una acción técnicamente correcta no siempre es una decisión pedagógicamente apropiada.
Asignar ceros automáticamente, enviar recordatorios masivos o identificar estudiantes “inactivos” puede ahorrar tiempo, pero cada caso puede tener circunstancias particulares.
Por esa razón, el servidor debe entenderse como una herramienta de apoyo.
La inteligencia artificial puede localizar información, preparar cambios y ejecutar operaciones autorizadas. La responsabilidad final continúa en manos de la persona que administra el curso.
Proyecto abierto
Canvas LMS MCP Server está desarrollado con TypeScript y se distribuye bajo licencia MIT.
El repositorio está disponible para quienes quieran:
- Revisar la implementación.
- Probar nuevas instituciones.
- Reportar incompatibilidades.
- Agregar endpoints.
- Mejorar la documentación.
- Crear pruebas.
- Proponer medidas de seguridad.
- Compartir flujos educativos.
Código:
github.com/CharlieCardenasToledo/mcp-canvas-server
Paquete:
npmjs.com/package/@charlie.act7/canvas-mcp-server
Ejecución rápida:
npx -y @charlie.act7/canvas-mcp-server
Cierre
Canvas ya concentra gran parte de la actividad académica: materiales, evaluaciones, mensajes, estudiantes, fechas y seguimiento.
Este servidor permite que un agente de IA interactúe con esos recursos mediante MCP y la API oficial de la plataforma.
La propuesta es sencilla: reducir navegación repetitiva y convertir instrucciones concretas en operaciones verificables.
No se trata de delegar ciegamente un curso a un modelo.
Se trata de disponer de una nueva interfaz para consultar información, preparar contenido, organizar actividades y apoyar tareas administrativas, conservando la revisión humana en los momentos importantes.
Si trabajas con Canvas, prueba el paquete y comparte qué proceso te gustaría automatizar.
Los reportes, ideas y contribuciones pueden ayudar a convertirlo en una herramienta más útil para docentes, desarrolladores y comunidades educativas.
CanvasLMS #MCP #ModelContextProtocol #EdTech #ArtificialIntelligence #ClaudeCode #TypeScript #OpenSource #EducationTechnology
메타데이터
- post_id
- a8daf100c3a6
- slug
- convertí-canvas-lms-en-una-herramienta-para-agentes-de-ia-a8daf100c3a6
- url
- https://medium.com/@charlie.act7/convert%C3%AD-canvas-lms-en-una-herramienta-para-agentes-de-ia-a8daf100c3a6
- canonical_url
- https://medium.com/@charlie.act7/convert%C3%AD-canvas-lms-en-una-herramienta-para-agentes-de-ia-a8daf100c3a6
- author_url
- https://medium.com/@charlie.act7
- status
- ok
- fetched_at
- 2026-08-24 16:46:10