Canvas MCP Server

Un servidor MCP para interactuar con la API de Canvas LMS.

Documentación

Servidor Canvas MCP

Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) para la API de Canvas LMS. Este servidor proporciona funcionalidad para interactuar con Canvas LMS de forma programática.

Características

  • Listar cursos de Canvas LMS con filtrado opcional por tipo de inscripción
  • Indicaciones de ayuda interactivas para usar las herramientas

Requisitos previos

  • Node.js 18 o posterior
  • Una instancia de Canvas LMS
  • Token de acceso a la API de Canvas
  • Cursor (para la integración con el cliente)

Configuración

  1. Clona este repositorio
  2. Instala las dependencias:
    npm install
    
  3. Configura las variables de entorno:
    export CANVAS_BASE_URL="https://your-canvas-instance.com"
    export CANVAS_ACCESS_TOKEN="your-api-token"
    
  4. Compila el proyecto:
    npm run build
    
  5. Inicia el servidor:
    npm start
    

Conexión con Cursor

Para usar este servidor MCP con Cursor:

  1. Abre la configuración de Cursor
  2. Navega a la sección de configuración de MCP
  3. Agrega una nueva configuración de servidor:
    {
      "mcpServers": {
        "canvas": {
          "command": "npm",
          "args": [
            "start"
          ],
          "cwd": "/path/to/mcp-server-canvas"
        }
      }
    }
    
  4. Guarda la configuración y reinicia Cursor
  5. Las herramientas de Canvas ahora estarán disponibles en el panel de herramientas MCP de Cursor

Herramientas disponibles

list_courses

Lista todos los cursos de Canvas LMS.

Parámetros:

  • enrollment_type (opcional): Filtra los cursos por tipo de inscripción (teacher, student, ta)

Ejemplo de respuesta:

{
  "content": [
    {
      "type": "text",
      "text": [
        {
          "id": 1234,
          "name": "Example Course",
          "code": "EX101",
          "state": "available",
          "startDate": "2024-01-01T00:00:00Z",
          "endDate": "2024-12-31T23:59:59Z"
        }
      ]
    }
  ]
}

list-courses-help

Una indicación interactiva que proporciona ayuda sobre el uso de la herramienta list_courses.

Desarrollo

El servidor está construido usando TypeScript y el SDK de MCP. Para agregar nuevas funciones:

  1. Agrega nuevos métodos de API a la clase CanvasAPI
  2. Registra nuevas herramientas usando server.tool()
  3. Registra indicaciones de ayuda usando server.prompt()
  4. Compila y prueba tus cambios

Solución de problemas

Si encuentras problemas:

  1. Verifica que las variables de entorno estén configuradas correctamente
  2. Confirma que tu token de API de Canvas tenga los permisos necesarios
  3. Revisa los registros del servidor MCP de Cursor para ver cualquier mensaje de error
  4. Asegúrate de que la ruta del servidor en la configuración de Cursor sea correcta

Licencia

MIT