Skip to main content
Glama

Listar entregas dos alunos e grupos em uma tarefa

get_submissions
Read-onlyIdempotent

Lists individual and group submissions for a Moodle assignment or course, distinguishing class groups from effective project groups and aggregating member grading statuses.

Instructions

Lista as entregas individuais e coletivas (userid=0) de uma tarefa ou disciplina, diferenciando grupos gerais de turma de grupos efetivos do projeto (assignmentGroupId / assignmentGroupMembers sem professores), e separando o estado bruto da linha coletiva no Moodle (rawMoodleGradingStatus) do estado real agregado das avaliações dos integrantes (aggregatedGradingStatus: not_graded | partially_graded | fully_graded | inconsistent, commonGroupGrade e memberEvaluations).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_submissions"
  }
}

Input Schema

NameRequiredDescriptionDefault
groupIdNoFiltra entregas associadas a um grupo específico (groupid).
courseIdNoID da disciplina (opcional; resolvido automaticamente quando assignmentId é informado).
studentIdNoFiltra a entrega de um aluno específico pelo ID do usuário, resolvendo apenas o grupo efetivo do trabalho (nunca o grupo geral da turma).
assignmentIdNoID da tarefa (obtido via get_assignments).
onlySubmittedNoSe true (padrão), retorna apenas entregas efetivamente enviadas (status="submitted"), com arquivos/texto ou já avaliadas, omitindo registros vazios.
includeFeedbackNoSe true, carrega também a presença e o texto de comentários de feedback (gradingFeedbackComments) de cada integrante.
includePersonalDataNoSe true (padrão: false), inclui e-mails pessoais dos estudantes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.1

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish the safe read-only, idempotent, closed-world profile, so the description is free to spend its words on semantics — and it does: it separates the raw Moodle collective-row state (rawMoodleGradingStatus) from the aggregated member state (aggregatedGradingStatus with four enumerated values, commonGroupGrade, memberEvaluations) and clarifies that teachers are excluded from assignmentGroupMembers. That is real behavioral context an agent cannot get from the annotations; only the return shape/volume/pagination is left implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single dense sentence with essentially zero filler and the operation is front-loaded, but the second half piles up internal field names and jargon in one breath, making it harder to scan than a two- or three-sentence split would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter, zero-required listing tool with no output schema, the description carries the important missing piece — the shape and meaning of the grading status aggregation — which is exactly what an agent needs to interpret results. What remains missing is modest: guidance on choosing this tool over neighbouring submission/grading tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all seven parameters, including the groupId/studentId filtering semantics. The description reinforces the group model (general class group never used for studentId resolution, effective project group only) but adds no syntax, defaults, or interaction rules beyond what the schema states, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Lista' plus the specific resource 'entregas individuais e coletivas (userid=0) de uma tarefa ou disciplina' makes the operation unmistakable, and the note about differentiating general class groups from effective project groups adds precision. It stops short of naming a sibling tool (e.g. get_submission_content or get_assignment_grading_overview) to disambiguate, so it is clear but not sibling-differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use / when-not-to-use guidance and no named alternative, even though the sibling list contains closely adjacent tools (get_submission_content, get_assignment_grading_overview, get_assignments). The closest thing is the implicit scope 'de uma tarefa ou disciplina', which hints at assignmentId vs courseId usage but is never stated as guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.