Skip to main content
Glama

get_quiz_grade

Retrieve a student's quiz grade by providing their student ID and the quiz ID to access assessment results from Moodle.

Instructions

Obtiene la calificación de un estudiante en un quiz específico

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
studentIdYesID del estudiante
quizIdYesID del quiz

Implementation Reference

  • The core handler function for the 'get_quiz_grade' tool. Validates input (studentId, quizId), calls Moodle API 'mod_quiz_get_user_best_grade', formats response with hasGrade and grade or 'No calificado', handles errors.
    private async getQuizGrade(args: any) { if (!args.studentId || !args.quizId) { throw new McpError( ErrorCode.InvalidParams, 'Student ID and Quiz ID are required' ); } console.error(`[API] Requesting quiz grade for student ${args.studentId} on quiz ${args.quizId}`); try { const response = await this.axiosInstance.get('', { params: { wsfunction: 'mod_quiz_get_user_best_grade', quizid: args.quizId, userid: args.studentId, }, }); // Procesamos la respuesta const result = { quizId: args.quizId, studentId: args.studentId, hasGrade: response.data.hasgrade, grade: response.data.hasgrade ? response.data.grade : 'No calificado', }; return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; } catch (error) { console.error('[Error]', error); if (axios.isAxiosError(error)) { return { content: [ { type: 'text', text: `Error al obtener la calificación del quiz: ${ error.response?.data?.message || error.message }`, }, ], isError: true, }; } throw error; } }
  • src/index.ts:217-234 (registration)
    Tool registration in ListToolsRequestHandler, defines name, description, and inputSchema for get_quiz_grade requiring studentId (number) and quizId (number).
    { name: 'get_quiz_grade', description: 'Obtiene la calificación de un estudiante en un quiz específico', inputSchema: { type: 'object', properties: { studentId: { type: 'number', description: 'ID del estudiante', }, quizId: { type: 'number', description: 'ID del quiz', }, }, required: ['studentId', 'quizId'], }, },
  • src/index.ts:255-256 (registration)
    Dispatch case in CallToolRequestHandler switch that routes 'get_quiz_grade' calls to the getQuizGrade handler method.
    case 'get_quiz_grade': return await this.getQuizGrade(request.params.arguments);
  • Input schema definition for the get_quiz_grade tool, specifying object with required number properties studentId and quizId.
    inputSchema: { type: 'object', properties: { studentId: { type: 'number', description: 'ID del estudiante', }, quizId: { type: 'number', description: 'ID del quiz', }, }, required: ['studentId', 'quizId'], },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/peancor/moodle-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server