create_planning_attendee
Assign a teacher to a meeting or planning event. Provide the teacher ID, event ID, event type (Meeting or Planning::Event), and optionally a role ID.
Instructions
Assign a teacher to a meeting or planning event.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| teacher_id | Yes | Unique identifier of the teacher. | |
| attendable_id | Yes | Unique identifier of the attendable. | |
| attendable_type | Yes | Type of the attendable (e.g., "Meeting" or "Planning::Event"). | |
| teacher_role_id | No | Unique identifier of the teacher role. |
Implementation Reference
- src/tools/planning_attendees.ts:24-32 (handler)The async handler that executes the create_planning_attendee tool logic: calls apiPost to POST to /planning/attendees, logs the response, and returns a formatted success message.
async (body) => { try { const record = await apiPost<EduframeRecord>("/planning/attendees", body); void logResponse("create_planning_attendee", body, record); return formatCreate(record, "planning attendee"); } catch (error) { return formatError(error); } }, - Input schema for create_planning_attendee: requires teacher_id (number), attendable_id (number), attendable_type (enum 'Meeting' | 'Planning::Event'), and optional teacher_role_id (number).
{ description: "Assign a teacher to a meeting or planning event.", annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false }, inputSchema: { teacher_id: z.number().int().describe("Unique identifier of the teacher."), attendable_id: z.number().int().describe("Unique identifier of the attendable."), attendable_type: planningAttendeeAttendableTypeEnum.describe( 'Type of the attendable (e.g., "Meeting" or "Planning::Event").', ), teacher_role_id: z.number().int().optional().describe("Unique identifier of the teacher role."), }, }, - src/tools/planning_attendees.ts:9-33 (registration)Registration of create_planning_attendee via server.registerTool within the registerPlanningAttendeeTools function.
export function registerPlanningAttendeeTools(server: McpServer): void { server.registerTool( "create_planning_attendee", { description: "Assign a teacher to a meeting or planning event.", annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false }, inputSchema: { teacher_id: z.number().int().describe("Unique identifier of the teacher."), attendable_id: z.number().int().describe("Unique identifier of the attendable."), attendable_type: planningAttendeeAttendableTypeEnum.describe( 'Type of the attendable (e.g., "Meeting" or "Planning::Event").', ), teacher_role_id: z.number().int().optional().describe("Unique identifier of the teacher role."), }, }, async (body) => { try { const record = await apiPost<EduframeRecord>("/planning/attendees", body); void logResponse("create_planning_attendee", body, record); return formatCreate(record, "planning attendee"); } catch (error) { return formatError(error); } }, ); - src/tools/index.ts:41-126 (registration)Import and registration of registerPlanningAttendeeTools in the main tools index, which wires it into the MCP server.
import { registerPlanningAttendeeTools } from "./planning_attendees"; import { registerPlanningConflictTools } from "./planning_conflicts"; import { registerPlanningEventTools } from "./planning_events"; import { registerPlanningLocationTools } from "./planning_locations"; import { registerPlanningMaterialTools } from "./planning_materials"; import { registerPlanningRequiredTeacherGroupAttendeeTools } from "./planning_required_teacher_group_attendees"; import { registerPlanningTeacherTools } from "./planning_teachers"; import { registerProgramEditionTools } from "./program_editions"; import { registerProgramElementTools } from "./program_elements"; import { registerProgramEnrollmentTools } from "./program_enrollments"; import { registerProgramPersonalProgramElementTools } from "./program_personal_program_elements"; import { registerProgramProgramTools } from "./program_programs"; import { registerReferralTools } from "./referrals"; import { registerSignupQuestionTools } from "./signup_questions"; import { registerTaskTools } from "./tasks"; import { registerTeacherEnrollmentTools } from "./teacher_enrollments"; import { registerTeacherRoleTools } from "./teacher_roles"; import { registerTeacherTools } from "./teachers"; import { registerTheseTools } from "./theses"; import { registerUserTools } from "./users"; import { registerWebhookNotificationTools } from "./webhook_notifications"; import { registerWebhookTools } from "./webhooks"; const tools: Array<(server: McpServer) => void> = [ registerAccountTools, registerAffiliationTools, registerAttendanceTools, registerAuthenticationTools, registerCatalogProductTools, registerCatalogVariantTools, registerCategorieTools, registerCertificateTools, registerCommentTools, registerCourseLocationTools, registerCourseTabTools, registerCourseVariantTools, registerCourseTools, registerCreditCategorieTools, registerCreditTools, registerCustomAssociationTools, registerCustomFieldOptionTools, registerCustomObjectTools, registerCustomRecordTools, registerDiscountCodeTools, registerEditionDescriptionSectionTools, registerEducatorTools, registerEmailTools, registerEnrollmentTools, registerGradeTools, registerInvoiceVatTools, registerInvoiceTools, registerLabelTools, registerLeadTools, registerMaterialGroupTools, registerMaterialTools, registerMeetingLocationTools, registerMeetingTools, registerOrderTools, registerOrganizationTools, registerPaymentMethodTools, registerPaymentOptionTools, registerPaymentTools, registerPlannedCourseTools, registerPlanningAttendeeTools, registerPlanningConflictTools, registerPlanningEventTools, registerPlanningLocationTools, registerPlanningMaterialTools, registerPlanningRequiredTeacherGroupAttendeeTools, registerPlanningTeacherTools, registerProgramEditionTools, registerProgramElementTools, registerProgramEnrollmentTools, registerProgramPersonalProgramElementTools, registerProgramProgramTools, registerReferralTools, registerSignupQuestionTools, registerTaskTools, registerTeacherEnrollmentTools, registerTeacherRoleTools, registerTeacherTools, registerTheseTools, registerUserTools, registerWebhookNotificationTools, registerWebhookTools, ];