@charlie.act7/canvas-mcp-server 1.1.2 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.es.md +47 -27
  2. package/README.md +48 -28
  3. package/package.json +1 -1
package/README.es.md CHANGED
@@ -3,13 +3,26 @@
3
3
  [![npm version](https://img.shields.io/npm/v/@charlie.act7/canvas-mcp-server)](https://www.npmjs.com/package/@charlie.act7/canvas-mcp-server)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
 
6
- **¡Lleva tu aula virtual de Canvas al siguiente nivel con Inteligencia Artificial!** 🚀
6
+ ¡Lleva tu aula virtual de Canvas al siguiente nivel con Inteligencia Artificial! 🚀
7
7
 
8
- Este proyecto es un servidor de **Model Context Protocol (MCP)** para **Canvas LMS**. En palabras sencillas, funciona como un "traductor" o puente que permite a asistentes de Inteligencia Artificial (como Claude Desktop, Claude Code, Cursor, etc.) comprender y realizar acciones en tus cursos de Canvas mediante instrucciones en lenguaje natural.
8
+ Este proyecto es un servidor de **Model Context Protocol (MCP)** para **Canvas LMS**. Funciona como un puente que permite a asistentes de Inteligencia Artificial (como Claude Desktop, Claude Code, Cursor, etc.) consultar y administrar tus cursos de Canvas mediante instrucciones en lenguaje natural.
9
9
 
10
10
  ---
11
11
 
12
- ## 🔍 ¿Cómo funciona?
12
+ ## Tabla de Contenidos
13
+ - [¿Cómo funciona?](#cómo-funciona)
14
+ - [Ejemplos de Uso](#ejemplos-de-uso)
15
+ - [Guía de Instalación](#guía-de-instalación)
16
+ - [Paso 1: Obtener credenciales de Canvas](#paso-1-obtener-credenciales-de-canvas)
17
+ - [Paso 2: Configurar tu Cliente de IA](#paso-2-configurar-tu-cliente-de-ia)
18
+ - [Configuración por Consola (CLI)](#configuración-por-consola-cli)
19
+ - [Herramientas y Recursos Soportados](#herramientas-y-recursos-soportados)
20
+ - [Desarrollo Local](#desarrollo-local)
21
+ - [Licencia](#licencia)
22
+
23
+ ---
24
+
25
+ ## ¿Cómo funciona?
13
26
 
14
27
  Cuando utilizas este servidor, la comunicación fluye de la siguiente manera:
15
28
 
@@ -17,46 +30,49 @@ Cuando utilizas este servidor, la comunicación fluye de la siguiente manera:
17
30
  graph LR
18
31
  User([Usuario]) -->|Instrucción en Lenguaje Natural| AI["Asistente de IA (Claude)"]
19
32
  AI -->|Petición MCP| MCP["Canvas MCP Server"]
20
- MCP -->|API REST (HTTPS)| Canvas["Canvas LMS"]
33
+ MCP -->|API REST - HTTPS| Canvas["Canvas LMS"]
21
34
  Canvas -->|Respuesta| MCP
22
35
  MCP -->|Datos procesados| AI
23
36
  AI -->|Respuesta amigable| User
24
37
  ```
25
38
 
26
- 1. **Tú le pides algo a Claude** (por ejemplo: *"Crea una tarea para el próximo viernes"*).
27
- 2. **Claude detecta la intención** y se comunica con el **Canvas MCP Server** enviándole los parámetros necesarios.
39
+ 1. **Tú le pides algo al asistente** (por ejemplo: *"Crea una tarea para el próximo viernes"*).
40
+ 2. **El asistente detecta la intención** y se comunica con el **Canvas MCP Server** enviándole los parámetros necesarios.
28
41
  3. **El servidor realiza la llamada segura** a la API de Canvas.
29
42
  4. **Canvas procesa la acción** y devuelve el resultado.
30
- 5. **Claude te confirma el éxito de la operación** en lenguaje natural.
43
+ 5. **El asistente te confirma el éxito de la operación** en lenguaje natural.
31
44
 
32
45
  ---
33
46
 
34
- ## 💡 ¿Qué puedes pedirle a tu Asistente?
47
+ ## Ejemplos de Uso
35
48
 
36
- ¡Cualquier tarea administrativa o de consulta que harías manualmente en Canvas! Aquí tienes algunos ejemplos de lo que puedes pedirle:
49
+ Aquí tienes algunos ejemplos de consultas y acciones reales que puedes pedirle a tu asistente:
37
50
 
38
- ### 📖 Para Consultar Información
39
- * 💬 *"¿Qué cursos tengo activos este semestre?"*
40
- * 💬 *"Muéstrame las entregas pendientes de calificar para la Tarea 2 en Biología."*
41
- * 💬 *"¿Cuáles son los estudiantes del Grupo B de Química?"*
42
- * 💬 *"¿Qué cuestionarios o exámenes tenemos programados para esta semana?"*
51
+ > [!TIP]
52
+ > **Ahorro de Tokens y Eficiencia:** Siempre que sea posible, especifica el ID o la URL directa de Canvas (por ejemplo, `https://[tu_institucion].instructure.com/courses/[codigo_curso]/assignments/[codigo_actividad]`) en tus instrucciones. Esto evita que la IA tenga que buscar y escanear todos tus recursos, lo que resulta en respuestas mucho más rápidas y un ahorro significativo de tokens.
43
53
 
44
- ### ✍️ Para Administrar y Crear Contenido
45
- * 💬 *"Crea una nueva tarea llamada 'Ensayo final de Historia' con fecha de entrega para el próximo viernes."*
46
- * 💬 *"Publica un anuncio en el curso de Matemáticas avisando que la clase de mañana será virtual."*
47
- * 💬 *"Crea un nuevo módulo llamado 'Semana 5: Introducción a React' en mi curso."*
54
+ ### 📖 Para Consultar Información y Auditar Cursos
55
+ * 💬 *"¿Qué cursos tengo activos este semestre? Verifica si existen múltiples paralelos o secciones."*
56
+ * 💬 *"Muéstrame las entregas pendientes de calificar para la actividad 'Ensayo 1: Introducción a la Sociología' en Sociología 101."*
57
+ * 💬 *"¿Cuáles son los estudiantes registrados en el Grupo A de la clase de Química?"*
58
+ * 💬 *"Verifica si la tarea 'Propuesta de Proyecto' tiene una rúbrica activa asociada. Si es así, obtén sus criterios."*
48
59
 
49
- ### 💯 Para Calificar y Dar Retroalimentación
50
- * 💬 *"Califica el ensayo de María con un 90/100 y agrégale un comentario que diga: 'Excelente análisis crítico, continúa así'."*
51
- * 💬 *"Genera un reporte de las notas actuales de los alumnos del curso de Física."*
60
+ ### ✍️ Para Administrar y Crear Contenido Académico
61
+ * 💬 *"Crea un nuevo módulo llamado 'Semana 1: Fundamentos' en mi curso."*
62
+ * 💬 *"Agrega un Subencabezado 'LECTURAS OBLIGATORIAS' dentro del módulo 'Semana 1' y enlaza la página del sílabo."*
63
+ * 💬 *"En mi curso de Negocios, crea una tarea llamada 'Estudio de Caso 1: Análisis de Mercado'. Agrega una tabla de instrucciones con columnas para Criterios, Requisitos y Puntaje."*
64
+
65
+ ### 💯 Gestión de Calificaciones y Asistencia
66
+ * 💬 *"Para la tarea 'Estudio de Caso 1', busca a todos los estudiantes que no hayan entregado. Ponles un 0 de nota y agrégales el comentario: 'Actividad no entregada. Si tienes una justificación válida, por favor comunícate con el docente.'"*
67
+ * 💬 *"Califica la entrega de Juan en 'Ensayo 1' con un 90 basado en la rúbrica, y agrega un comentario: '¡Excelente trabajo! El análisis está muy bien estructurado, aunque podrías profundizar un poco más en las conclusiones. ¡Sigue así!'"*
52
68
 
53
69
  ---
54
70
 
55
- ## 🛠️ Guía de Instalación Paso a Paso
71
+ ## Guía de Instalación
56
72
 
57
73
  Para conectar tu asistente de IA a Canvas, necesitas configurar **dos cosas**: tus credenciales de Canvas y el cliente de IA (como Claude).
58
74
 
59
- ### Paso 1: Obtener tus credenciales de Canvas LMS
75
+ ### Paso 1: Obtener credenciales de Canvas
60
76
  Para que el servidor pueda actuar en tu nombre, necesita permiso:
61
77
  1. Inicia sesión en tu cuenta de **Canvas LMS**.
62
78
  2. Dirígete a **Cuenta (Account)** ➡️ **Configuración (Settings)** en el menú lateral.
@@ -105,7 +121,7 @@ Luego, configura tus credenciales de forma interactiva:
105
121
 
106
122
  ---
107
123
 
108
- ## 💻 Configuración Interactiva por Consola (CLI)
124
+ ## Configuración por Consola (CLI)
109
125
  Si prefieres configurar las credenciales de manera local e interactiva en tu terminal para desarrollo, puedes ejecutar:
110
126
  ```bash
111
127
  npx @charlie.act7/canvas-mcp-server config
@@ -114,8 +130,12 @@ Esto te pedirá el dominio y tu API token paso a paso, guardándolos de forma se
114
130
 
115
131
  ---
116
132
 
133
+ ## Herramientas y Recursos Soportados
134
+
117
135
  <details>
118
- <summary>🛠️ <b>Ver Lista Detallada de Herramientas Soportadas (Técnico)</b></summary>
136
+ <summary><b>Ver Lista Detallada de Herramientas y Recursos Soportados (Técnico)</b></summary>
137
+
138
+ ### Lista de Herramientas
119
139
 
120
140
  El servidor expone internamente las siguientes herramientas organizadas por categorías:
121
141
 
@@ -144,7 +164,7 @@ Para clientes compatibles con recursos directos:
144
164
 
145
165
  ---
146
166
 
147
- ## 🛠️ Desarrollo Local (Para Programadores)
167
+ ## Desarrollo Local
148
168
 
149
169
  Si deseas clonar este repositorio y hacer modificaciones:
150
170
 
@@ -169,5 +189,5 @@ Si deseas clonar este repositorio y hacer modificaciones:
169
189
 
170
190
  ---
171
191
 
172
- ## 📄 Licencia
192
+ ## Licencia
173
193
  Este proyecto está bajo la licencia MIT. Creado por [Charlie Cárdenas Toledo](https://github.com/charlie-act7).
package/README.md CHANGED
@@ -3,13 +3,26 @@
3
3
  [![npm version](https://img.shields.io/npm/v/@charlie.act7/canvas-mcp-server)](https://www.npmjs.com/package/@charlie.act7/canvas-mcp-server)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
 
6
- **Bring AI to your Canvas Virtual Classroom!** 🚀
6
+ Bring AI to your Canvas Virtual Classroom! 🚀
7
7
 
8
- This project is a **Model Context Protocol (MCP)** server for **Canvas LMS**. In simple terms, it acts as a "translator" or bridge that allows AI assistants (like Claude Desktop, Claude Code, Cursor, etc.) to understand and perform actions in your Canvas courses using natural language.
8
+ This project is a **Model Context Protocol (MCP)** server for **Canvas LMS**. It acts as a bridge that allows AI assistants (like Claude Desktop, Claude Code, Cursor, etc.) to query and manage your Canvas courses using natural language.
9
9
 
10
10
  ---
11
11
 
12
- ## 🔍 How It Works
12
+ ## Table of Contents
13
+ - [How It Works](#how-it-works)
14
+ - [Use Cases & Examples](#use-cases--examples)
15
+ - [Setup Guide](#setup-guide)
16
+ - [Step 1: Obtain Canvas Credentials](#step-1-obtain-canvas-credentials)
17
+ - [Step 2: Connect to your AI Client](#step-2-connect-to-your-ai-client)
18
+ - [CLI Configuration](#cli-configuration)
19
+ - [Supported Tools & Resources](#supported-tools--resources)
20
+ - [Local Development](#local-development)
21
+ - [License](#license)
22
+
23
+ ---
24
+
25
+ ## How It Works
13
26
 
14
27
  When you interact with the server, communication flows as follows:
15
28
 
@@ -17,46 +30,49 @@ When you interact with the server, communication flows as follows:
17
30
  graph LR
18
31
  User([User]) -->|Natural Language Instruction| AI["AI Assistant (e.g., Claude)"]
19
32
  AI -->|MCP Request| MCP["Canvas MCP Server"]
20
- MCP -->|REST API (HTTPS)| Canvas["Canvas LMS"]
33
+ MCP -->|REST API - HTTPS| Canvas["Canvas LMS"]
21
34
  Canvas -->|Response| MCP
22
35
  MCP -->|Processed Data| AI
23
36
  AI -->|Friendly Answer| User
24
37
  ```
25
38
 
26
- 1. **You ask Claude for something** (e.g., *"Create an assignment due next Friday"*).
27
- 2. **Claude detects your intent** and communicates with the **Canvas MCP Server**, sending the required parameters.
39
+ 1. **You ask the AI** (e.g., *"Create an assignment due next Friday"*).
40
+ 2. **The AI detects your intent** and communicates with the **Canvas MCP Server**, sending the required parameters.
28
41
  3. **The server makes a secure call** to the official Canvas API.
29
- 4. **Canvas processes the action** and returns the result.
30
- 5. **Claude confirms the success of the action** back to you in plain, natural language.
42
+ 4. **Canvas processes the action** and returns the response.
43
+ 5. **The AI confirms the success of the action** back to you in plain, natural language.
31
44
 
32
45
  ---
33
46
 
34
- ## 💡 What Can You Ask Your Assistant?
47
+ ## Use Cases & Examples
35
48
 
36
- Anything you would normally do manually in Canvas! Here are some everyday examples:
49
+ Here are some realistic, everyday prompts you can use with your AI assistant:
37
50
 
38
- ### 📖 Querying Information
39
- * 💬 *"What active courses do I have this semester?"*
40
- * 💬 *"Show me the ungraded submissions for Assignment 2 in Biology."*
41
- * 💬 *"Who is in Group B of my Chemistry class?"*
42
- * 💬 *"What quizzes or exams are scheduled for this week?"*
51
+ > [!TIP]
52
+ > **Token Saving & Efficiency:** Whenever possible, specify the Canvas ID or the direct Canvas URL (e.g., `https://[your_institution].instructure.com/courses/[course_id]/assignments/[assignment_id]`) in your prompts. This prevents the AI from scanning all your courses/resources, leading to faster responses and substantial token savings.
43
53
 
44
- ### ✍️ Creating and Managing Content
45
- * 💬 *"Create a new assignment named 'History Term Paper' due next Friday."*
46
- * 💬 *"Post an announcement in my Math course letting everyone know tomorrow's lecture is online."*
47
- * 💬 *"Create a new module named 'Week 5: Introduction to React' in my course."*
54
+ ### 📖 Course Auditing & Querying
55
+ * 💬 *"What active courses do I have this semester? Check if there are multiple active sections/parallels."*
56
+ * 💬 *"Show me all ungraded submissions for 'Essay 1: Introduction to Sociology' in Sociology 101."*
57
+ * 💬 *"Who is in Student Group A for the Chemistry class?"*
58
+ * 💬 *"Does the assignment 'Project Proposal' have an active rubric associated? If so, retrieve its criteria."*
48
59
 
49
- ### 💯 Grading & Giving Feedback
50
- * 💬 *"Grade Maria's essay with a 90/100 and add a comment saying: 'Excellent critical analysis, keep it up!'"*
51
- * 💬 *"Give me a summary of current student grades in the Physics course."*
60
+ ### ✍️ Creating & Organizing Course Content
61
+ * 💬 *"Create a new module named 'Week 1: Foundations' in my course."*
62
+ * 💬 *"Add a SubHeader 'REQUIRED READINGS' inside the 'Week 1' module, and link the syllabus page to it."*
63
+ * 💬 *"In my Business course, create an assignment called 'Case Study 1: Market Analysis'. Add an instructions table with columns for Criteria, Requirements, and Points."*
64
+
65
+ ### 💯 Grading & Absence Management
66
+ * 💬 *"For assignment 'Case Study 1', find all students who haven't submitted their work. Assign them a grade of 0 and add the comment: 'Activity not submitted. Please contact the instructor if you have a valid excuse.'"*
67
+ * 💬 *"Grade John's submission for 'Essay 1' with a 90 based on the rubric, and add a comment: 'Great job! The analysis is well-structured, though you could expand more on the conclusion. Keep it up!'"*
52
68
 
53
69
  ---
54
70
 
55
- ## 🛠️ Step-by-Step Setup Guide
71
+ ## Setup Guide
56
72
 
57
73
  To connect your AI assistant to Canvas, you need to configure **two things**: your Canvas credentials and your AI client (like Claude).
58
74
 
59
- ### Step 1: Obtain your Canvas credentials
75
+ ### Step 1: Obtain Canvas Credentials
60
76
  To let the server act on your behalf, it needs permission:
61
77
  1. Log in to your **Canvas LMS** account.
62
78
  2. Go to **Account** ➡️ **Settings** in the sidebar menu.
@@ -105,7 +121,7 @@ Then, configure your credentials interactively:
105
121
 
106
122
  ---
107
123
 
108
- ## 💻 Interactive Console Configuration (CLI)
124
+ ## CLI Configuration
109
125
  If you prefer to configure your credentials locally for development, run:
110
126
  ```bash
111
127
  npx @charlie.act7/canvas-mcp-server config
@@ -114,8 +130,12 @@ This will guide you step-by-step to input your domain and API token, storing the
114
130
 
115
131
  ---
116
132
 
133
+ ## Supported Tools & Resources
134
+
117
135
  <details>
118
- <summary>🛠️ <b>View Detailed List of Supported Tools (Technical)</b></summary>
136
+ <summary><b>View Detailed List of Supported Tools & Resources (Technical)</b></summary>
137
+
138
+ ### Tools List
119
139
 
120
140
  The server exposes the following tools organized by category:
121
141
 
@@ -144,7 +164,7 @@ For clients supporting direct resources:
144
164
 
145
165
  ---
146
166
 
147
- ## 🛠️ Local Development (For Developers)
167
+ ## Local Development
148
168
 
149
169
  To clone this repository and modify the code:
150
170
 
@@ -169,5 +189,5 @@ To clone this repository and modify the code:
169
189
 
170
190
  ---
171
191
 
172
- ## 📄 License
192
+ ## License
173
193
  This project is licensed under the MIT License. Created by [Charlie Cárdenas Toledo](https://github.com/charlie-act7).
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.1.2",
6
+ "version": "1.1.8",
7
7
  "description": "MCP Server for Canvas LMS - Use AI to interact with your courses, assignments, and grades.",
8
8
  "main": "dist/index.js",
9
9
  "bin": {