get_students
Retrieve enrolled student lists from Moodle courses to manage class rosters and track participation.
Instructions
Obtiene la lista de estudiantes inscritos en el curso configurado
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:283-311 (handler)The handler function that implements the get_students tool logic: calls Moodle's core_enrol_get_enrolled_users API, filters users with student role, maps to student details, and returns formatted JSON response.private async getStudents() { console.error('[API] Requesting enrolled users'); const response = await this.axiosInstance.get('', { params: { wsfunction: 'core_enrol_get_enrolled_users', courseid: MOODLE_COURSE_ID, }, }); const students = response.data .filter((user: any) => user.roles.some((role: any) => role.shortname === 'student')) .map((student: any) => ({ id: student.id, username: student.username, firstname: student.firstname, lastname: student.lastname, email: student.email, })); return { content: [ { type: 'text', text: JSON.stringify(students, null, 2), }, ], }; }
- src/index.ts:128-136 (registration)Tool registration in the ListTools response: defines name, description, and empty input schema (no parameters required).{ name: 'get_students', description: 'Obtiene la lista de estudiantes inscritos en el curso configurado', inputSchema: { type: 'object', properties: {}, required: [], }, },
- src/index.ts:243-244 (registration)Dispatch case in CallToolRequest handler that routes 'get_students' calls to the getStudents() method.case 'get_students': return await this.getStudents();
- src/index.ts:31-37 (schema)Type definition for Student used in the getStudents handler output.interface Student { id: number; username: string; firstname: string; lastname: string; email: string; }