Canvas MCP Server

Um servidor MCP para interagir com a API do Canvas LMS.

Documentação

Canvas MCP Server

Uma implementação de servidor Model Context Protocol (MCP) para a API do Canvas LMS. Este servidor fornece funcionalidades para interagir com o Canvas LMS programaticamente.

Recursos

  • Listar cursos do Canvas LMS com filtragem opcional por tipo de matrícula
  • Prompts de ajuda interativos para usar as ferramentas

Pré-requisitos

  • Node.js 18 ou posterior
  • Uma instância do Canvas LMS
  • Token de acesso à API do Canvas
  • Cursor (para integração com o cliente)

Configuração

  1. Clone este repositório
  2. Instale as dependências:
    npm install
    
  3. Configure as variáveis de ambiente:
    export CANVAS_BASE_URL="https://your-canvas-instance.com"
    export CANVAS_ACCESS_TOKEN="your-api-token"
    
  4. Compile o projeto:
    npm run build
    
  5. Inicie o servidor:
    npm start
    

Conectando com o Cursor

Para usar este servidor MCP com o Cursor:

  1. Abra as configurações do Cursor
  2. Navegue até a seção de configuração do MCP
  3. Adicione uma nova configuração de servidor:
    {
      "mcpServers": {
        "canvas": {
          "command": "npm",
          "args": [
            "start"
          ],
          "cwd": "/path/to/mcp-server-canvas"
        }
      }
    }
    
  4. Salve a configuração e reinicie o Cursor
  5. As ferramentas do Canvas estarão disponíveis no painel de ferramentas MCP do Cursor

Ferramentas Disponíveis

list_courses

Lista todos os cursos do Canvas LMS.

Parâmetros:

  • enrollment_type (opcional): Filtra cursos por tipo de matrícula (teacher, student, ta)

Exemplo de resposta:

{
  "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

Um prompt interativo que fornece ajuda sobre o uso da ferramenta list_courses.

Desenvolvimento

O servidor é construído usando TypeScript e o SDK do MCP. Para adicionar novos recursos:

  1. Adicione novos métodos de API à classe CanvasAPI
  2. Registre novas ferramentas usando server.tool()
  3. Registre prompts de ajuda usando server.prompt()
  4. Compile e teste suas alterações

Solução de Problemas

Se você encontrar problemas:

  1. Verifique se as variáveis de ambiente estão configuradas corretamente
  2. Confirme se o token da API do Canvas tem as permissões necessárias
  3. Verifique os logs do servidor MCP do Cursor para mensagens de erro
  4. Garanta que o caminho do servidor na configuração do Cursor está correto

Licença

MIT