mcp-canvas-utem
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CANVAS_EOL | No | Fin de línea de las notas nuevas (por defecto, el del sistema). | |
| CANVAS_SUBDIR | No | Carpeta de Canvas dentro del vault. | Canvas |
| CANVAS_BASE_URL | No | Instancia de Canvas; también es la allowlist de origen. | https://utem.instructure.com |
| CANVAS_PAGE_SIZE | No | Tamaño de página de la API. | 100 |
| CANVAS_TAGS_FILE | No | Mapa course_code → tag temático. | <vault>/<subdir>/vault-tags.json |
| CANVAS_VAULT_DIR | No | Raíz del vault. Sin esto no se escribe nada, solo se lee. | |
| CANVAS_OUTPUT_DIR | No | Destino de canvas_download_pdf y de las exportaciones. | <vault>/../output/pdf |
| CANVAS_COOKIE_FILE | No | Archivo con la cookie de sesión. | %LOCALAPPDATA%\canvas-utem-mcp\canvas_session |
| CANVAS_TERM_FOLDER | No | Agrupa los cursos en 'Segundo semestre 2026' según el semestre. | 1 |
| CANVAS_TIMEOUT_SEC | No | Timeout de las llamadas a la API. | 30 |
| CANVAS_VAULT_WRITE | No | Interruptor general de la escritura. | 1 |
| CANVAS_COOKIE_HEADER | No | Cookie por entorno; tiene prioridad sobre el archivo. | |
| CANVAS_VAULT_DRY_RUN | No | Simula siempre, sin tocar el disco. | 0 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| canvas_test_connectionA | Comprueba la sesión de Canvas con la cookie local. No escribe en el vault. |
| canvas_list_coursesC | Lista los cursos activos y deja una nota de curso por cada uno en el vault, más el índice del semestre. |
| canvas_list_active_tasksC | Lista tareas publicadas aún no enviadas y no bloqueadas del semestre más reciente, y escribe sus notas en el vault. |
| canvas_list_course_assignmentsC | Lista todas las tareas de un curso con estado de envío y escribe sus notas en el vault. |
| canvas_course_inventoryC | Cuenta módulos, páginas, tareas, archivos, anuncios y discusiones, y actualiza la nota de curso con esos conteos. |
| canvas_course_updatesC | Lista anuncios, archivos y módulos de un curso y escribe sus notas en el vault. |
| canvas_sync_courseC | Sincroniza un curso completo al vault: curso, archivos, tareas, páginas, módulos, anuncios y discusiones. |
| canvas_sync_all_coursesC | Sincroniza al vault todos los cursos de un semestre y actualiza el índice. |
| canvas_download_course_filesC | Descarga los archivos de un curso a la carpeta Descargas del vault y actualiza sus notas. |
| canvas_download_pdfC | Descarga un PDF verificado del curso a la carpeta de salida y deja su nota en el vault. |
| canvas_export_course_sourcesC | Guarda las instrucciones originales, páginas, módulos, enlaces y adjuntos de un curso como JSON en la carpeta de salida. |
| canvas_vault_statusB | Muestra dónde escribe el servidor, qué arquetipos maneja y qué carpetas de curso detecta en el vault. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
There is real overlap: canvas_sync_course is effectively a superset of canvas_list_course_assignments, canvas_course_updates, canvas_download_course_files, and canvas_course_inventory, so an agent must infer whether to run the full sync or the incremental partial tools. Descriptions do clarify the distinction (partial notes vs full sync, no-write vs write), which keeps it from being worse, but the boundaries are fuzzy.
All tools share the canvas_ prefix and snake_case, and most follow verb_noun (list_courses, sync_course, download_pdf). A few deviate into noun phrasing (canvas_course_inventory, canvas_course_updates, canvas_vault_status), which is a minor inconsistency but still readable.
Twelve tools is a well-scoped size for a Canvas-to-vault integration. A few partial-list tools feel like they could be folded into the sync tools, so it is slightly heavy rather than perfectly lean.
Coverage is strong for the sync-to-vault purpose: connection check, course/assignment/task listing, inventory, updates, full sync, downloads, raw source export, and vault status. Minor gaps exist around per-assignment detail or submission/grading views, but core lifecycle is covered.