Servidor Canvas MCP
Este repositorio contiene una implementación de servidor del Protocolo de Control de Mensajes (MCP) para interactuar con la API del Sistema de Gestión de Aprendizaje Canvas. El servidor está diseñado para funcionar con Claude Desktop y, potencialmente, con otros clientes MCP.
Descripción general
El servidor Canvas MCP proporciona una interfaz local para la API de Canvas LMS, lo que le permite:
Listar y administrar cursos
Acceder a tareas y entregas
Ver anuncios
Recuperar programas de estudio y módulos del curso
Administrar usuarios e inscripciones
Generar resúmenes de cursos
Prerrequisitos
Python 3.x
Entorno virtual (venv)
Token de API de Canvas
URL de la API de Canvas (p. ej., https://canvas.illinois.edu/api/v1 )
Instalación
Clonar este repositorio:
Crear y activar un entorno virtual:
Instalar dependencias:
Configuración
1. Crear archivo de entorno
Cree un archivo .env en el directorio raíz con las siguientes variables:
Reemplace los valores con:
Tu token de API de Canvas ( Cómo obtener tu token de API de Canvas )
URL de la API de Canvas de tu universidad
2. Configurar el script de inicio
El script start_canvas_server.sh ya está configurado para:
Cargar variables de entorno desde el archivo
.envActivar el entorno virtual
Ejecute la implementación del servidor en caché
Hacer que el script de inicio sea ejecutable:
3. Configuración del escritorio de Claude
Instale Claude Desktop si aún no lo ha hecho.
Cree o edite el archivo de configuración de Claude Desktop:
Agregue la configuración del servidor Canvas MCP:
Reemplace /Users/YOUR_USERNAME/path/to/canvas-mcp con la ruta absoluta a donde clonó este repositorio.
Reinicie Claude Desktop para cargar la nueva configuración.
Herramientas disponibles
El servidor proporciona las siguientes herramientas para la interacción con Canvas LMS:
Gestión de cursos
list_courses: enumera todos los cursos para el usuario autenticadoget_course_details: Obtenga información detallada sobre un curso específicosummarize_course: Generar un resumen completo de un curso
Tareas
list_assignments: enumera todas las tareas de un cursoget_assignment_details: Obtenga información detallada sobre una tarea específicaget_assignment_description: Obtener la descripción completa de una tarea
Envíos
list_submissions: enumera todos los envíos para una tarea específica
Usuarios
list_users: Lista todos los usuarios inscritos en un curso
Recursos
list_announcements: Lista todos los anuncios de un cursoget_course_syllabus: Obtener el programa de estudios de un cursoget_course_modules: Obtener todos los módulos de un curso
Uso con Claude Desktop
Este servidor MCP está diseñado para funcionar sin problemas con Claude Desktop:
Claude Desktop iniciará automáticamente el servidor cuando sea necesario
Verás las herramientas de la API de Canvas en la interfaz de Claude Desktop (ícono de martillo 🔨)
Puedes pedirle a Claude que realice operaciones en Canvas como "Muéstrame mis cursos" u "Obtener el programa de estudios de mi curso de Biología".
Para realizar pruebas manuales, puede iniciar el servidor directamente:
Detalles técnicos
Implementación del servidor
El servidor utiliza:
fastmcp: una biblioteca de Python para crear servidores MCPhttpx: para solicitudes HTTP asincrónicas a la API de CanvasMecanismos de almacenamiento en caché para mejorar el rendimiento en las búsquedas de cursos
El archivo de implementación principal es canvas_server_cached.py , que proporciona:
Almacenamiento en caché eficiente de la información del curso
Manejo de paginación para solicitudes de API de Canvas
Manejo y reporte de errores
Compatibilidad con identificadores y códigos de cursos
Dependencias
El servidor requiere los siguientes paquetes de Python:
httpx: Para solicitudes HTTPfastmcp: Para la implementación del servidor MCPrequests: Para algunas operaciones HTTPOtras bibliotecas estándar para codificación y redes
Solución de problemas
Si encuentra problemas:
El servidor no se inicia
Verifique que su archivo
.envexista y contenga credenciales válidasVerifique la ruta del entorno virtual en
start_canvas_server.shAsegúrese de que todas las dependencias estén instaladas
Errores de autenticación
Verifique que su token de API de Canvas sea válido y no esté vencido
Comprueba que tienes los permisos necesarios en Canvas
Problemas de conexión
Asegúrese de que la URL de su API de Canvas sea correcta
Comprueba tu conexión a Internet
Verifique que su institución no haya restringido el acceso a la API
Depuración
Verifique los registros del servidor en la consola de Claude Desktop
Intente ejecutar el servidor manualmente para ver el resultado del error
Consideraciones de seguridad
Su token de API de Canvas le otorga acceso a su cuenta de Canvas
Nunca envíe su archivo
.enval control de versionesConsidere usar un token con permisos limitados si es posible
El servidor se ejecuta localmente en su máquina y no expone sus credenciales externamente.
Contribuyendo
¡Agradecemos sus contribuciones! Siéntase libre de:
Enviar problemas sobre errores o solicitudes de funciones
Crear solicitudes de extracción con mejoras
Comparta sus casos de uso y comentarios
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Creado por Vishal Sachdev
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Un servidor local que permite la interacción con la API del sistema de gestión de aprendizaje Canvas a través de Claude Desktop, lo que permite a los usuarios administrar cursos, acceder a tareas, ver anuncios y recuperar materiales del curso.
- Descripción general
- Prerrequisitos
- Instalación
- Configuración
- Herramientas disponibles
- Uso con Claude Desktop
- Detalles técnicos
- Solución de problemas
- Consideraciones de seguridad
- Contribuyendo
- Licencia
Related Resources
Related MCP Servers
- Asecurity-licenseAqualityA server that enables Claude Desktop users to access the Claude API directly, allowing them to bypass Professional Plan limitations and use advanced features like custom system prompts and conversation management.Last updated -120
- Asecurity-licenseAqualityA Model Context Protocol server that enables interaction with the Canvas Learning Management System API, allowing users to manage courses, assignments, enrollments, and grades within Canvas.Last updated -541558JavaScript
- -security-license-qualityA set of tools enabling AI agents to interact with Canvas LMS, allowing users to find relevant resources, get course information, and navigate modules through natural language queries.Last updated -8ISC License
- -security-license-qualityEnables AI assistants like Claude to interact with Canvas LMS through the Canvas API, providing tools for managing courses, announcements, rubrics, assignments, and student data.Last updated -MIT License