MoodleMCP 1.0
v1.0.0
Primeira versão estável do MoodleMCP: o painel, o servidor MCP alojado e o plugin local_mcpconnector.
Protocolo e autenticação
- Endpoint MCP por organização no seu próprio subdomínio, sobre Streamable HTTP em modo sem estado: as credenciais são verificadas em cada pedido e uma revogação produz efeito na chamada seguinte.
- Duas vias de autenticação: OAuth «Iniciar sessão com o seu Moodle»
(descoberta padrão e vinculação do token ao recurso, RFC 8707) para
ChatGPT e Claude, e chaves MCP portadoras (
mcpk_…, apenas o seu hash é armazenado) para Cursor, VS Code, Claude Code, scripts e CI.
Ferramentas
- 13 ferramentas selecionadas para os fluxos habituais e 3
meta-ferramentas de passagem (
moodle_find_tools,moodle_tool_schema,moodle_run_tool) que dão acesso às restantes 742 funções do catálogo de serviços web do Moodle. - Cada chamada executa-se com o token Moodle do utilizador da chave e passa pelo seu controlo de papéis; as chaves admitem restrições adicionais — apenas leitura, ferramentas permitidas, cursos permitidos e validade.
- Envio de ficheiros por URL com
local_mcpconnector_create_resourceelocal_mcpconnector_create_scorm, maismoodle_request_file_uploadpara transferências temporárias assinadas (30 minutos, até 512 MiB).
Plugin local_mcpconnector
- Instalação com chave de licença + segredo do painel; cada pedido plugin↔painel é assinado com HMAC-SHA256 com uma janela de ±5 minutos.
- Atribuição de utilizadores por papel a partir da administração do Moodle, com envio da chave por email e revogação centralizada.
- Compatível com Moodle 4.2 – 5.2.
Painel
- Chat com IA integrado (Anthropic, OpenAI ou Google) com o mesmo catálogo de ferramentas, aprovação explícita de escritas e contagem por créditos.
- Vista de utilização por chave, ferramenta e origem; o detalhe das chamadas é eliminado ao fim de 90 dias, os agregados diários são conservados.
- Painel e documentação em seis idiomas: espanhol, inglês, francês, alemão, neerlandês e português.
Segurança e limites
- Tokens Moodle cifrados em repouso com AES-256-GCM; ligações ao Moodle fixadas contra SSRF, com tempo limite por pedido e limite de tamanho de resposta em streaming.
- Limites de débito por chave e por IP, e escritas serializadas por chave através de uma fila.