Ferramentas disponíveis
Porque não há uma ferramenta por função do Moodle
O Moodle expõe centenas de funções de serviço web por papel. Listar uma ferramenta MCP para cada uma quebraria a importação de ferramentas em alguns clientes e degradaria a qualidade das respostas noutros, por isso a superfície exposta está desacoplada do catálogo invocável.
Um assistente vê cerca de quinze ferramentas, por maior que seja o catálogo do seu Moodle, e alcança o resto a pedido.
O conjunto selecionado
As tarefas mais comuns estão expostas como ferramentas de primeira linha, filtradas pelos papéis da chave:
| Ferramenta | O que responde |
|---|---|
| core_webservice_get_site_info | Nome do site, versão, quem é o utilizador |
| core_enrol_get_users_courses | Em que cursos alguém está inscrito |
| core_course_get_courses_by_field | Procurar um curso por id, nome curto… |
| core_course_get_contents | Secções, atividades e recursos de um curso |
| core_enrol_get_enrolled_users | Participantes de um curso |
| gradereport_user_get_grade_items | Notas de alguém num curso |
| core_calendar_get_calendar_events | Próximos eventos e prazos |
| mod_assign_get_assignments | Trabalhos nos cursos |
| mod_forum_get_forum_discussions | Discussões num fórum |
| core_message_get_messages | Mensagens de um utilizador |
| core_group_get_course_groups | Grupos de um curso |
| core_user_get_users_by_field | Procurar um utilizador por id, email, nome de utilizador |
| moodle_request_file_upload | Obter um URL temporário de envio — veja enviar ficheiros |
A passagem
Três metaferramentas alcançam o resto do catálogo sem o listar:
- moodle_find_tools(pesquisa) — procura por palavra-chave em todo o catálogo permitido pelos papéis. Devolve até 25 resultados, para que a exploração nunca inunde o contexto do assistente.
- moodle_tool_schema(nome) — obtém o esquema de entrada de uma ferramenta.
- moodle_run_tool(nome, argumentos) — executa qualquer ferramenta permitida pelos papéis.
Na prática o assistente procura, lê o esquema e faz a chamada — é por isso que consegue fazer coisas que não constam da tabela acima sem que configure nada.
O que o plugin acrescenta
Para além das funções do próprio Moodle, o local_mcpconnector traz as suas próprias funções externas para tarefas que os serviços web do núcleo não cobrem: criar testes, atividades SCORM e H5P, recursos de ficheiro, importar perguntas, atribuir medalhas e fazer cópias de segurança ou restaurar cursos. Aparecem no catálogo como qualquer outra ferramenta e respeitam o mesmo controlo de papéis.
O catálogo completo
Todas as ferramentas alcançadas através da passagem — o resto das funções próprias do Moodle mais as do plugin — aparecem com uma breve descrição no catálogo completo de ferramentas.
Limites que se aplicam sempre
- Papéis — uma ferramenta que os papéis da chave não permitam não é listada nem executável.
- Restrições da chave — apenas leitura, ferramentas permitidas e cursos permitidos são aplicados no servidor em cada chamada, incluindo através da passagem. Veja chaves e permissões.
- Aprovação no chat — no chat do painel só as ferramentas de exploração de leitura correm sem supervisão; tudo o que possa alterar o Moodle pergunta primeiro.
Estas verificações correm no servidor, por isso um assistente não as consegue negociar.