get_students
Retrieve enrolled student lists from configured 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. It queries the Moodle API with core_enrol_get_enrolled_users, filters users with 'student' role, maps to Student fields, and returns JSON stringified list.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:129-136 (registration)Registration of the 'get_students' tool in the ListToolsRequestSchema handler, including name, description, and input schema.name: 'get_students', description: 'Obtiene la lista de estudiantes inscritos en el curso configurado', inputSchema: { type: 'object', properties: {}, required: [], }, },
- src/index.ts:131-135 (schema)Input schema for 'get_students' tool: an empty object with no required properties.inputSchema: { type: 'object', properties: {}, required: [], },
- src/index.ts:243-244 (registration)Dispatch/registration of 'get_students' tool call in the switch statement of CallToolRequestSchema handler.case 'get_students': return await this.getStudents();
- src/index.ts:31-37 (schema)TypeScript interface defining the Student data structure used in the getStudents handler output.interface Student { id: number; username: string; firstname: string; lastname: string; email: string; }