education_center.list_students
readList students with search, school, gender, status, and record_state filters.
None
Read-only; no action request.
Use bounded pagination; do not dump all student records.
Organized from the real EducationCenter MCP manifest and CMS workflow docs, covering students, courses, classes, enrolments, attendance, make-up lessons, invoices, payment proofs, payment records, learning resources, notices, student events, and leave review workflows.
education_center.list_students
readList students with search, school, gender, status, and record_state filters.
None
Read-only; no action request.
Use bounded pagination; do not dump all student records.
education_center.get_student
readRead student profile, overview, events, and assigned resources/notices.
education_center.list_students
Read-only; no action request.
Use this state before student-centric assignment or event writes.
education_center.list_courses
readList courses for class, enrolment, and invoice flows.
None
Read-only; no action request.
Respect record_state so archived courses are not accidentally used.
education_center.list_classes
readList classes with optional course_id, active_only, and record_state filters.
education_center.list_courses
Read-only; no action request.
Before enrolment, attendance, or invoice work, confirm class is active and capacity is valid.
education_center.list_enrollments
readList enrolments by student, class, or course filters.
education_center.get_student or education_center.list_classes
Read-only; no action request.
Invoice and default-lesson flows should be based on real enrolment state.
education_center.get_attendance_sheet
readRead attendance sheet by date, class, tutor, and unmarked filters.
education_center.list_classes
Read-only; no action request.
Attendance writes must use lesson identifiers from this read.
education_center.list_invoices
readList cashier or student-detail invoice summary rows.
education_center.get_student or filters
Read-only; no action request.
List is summary only; use get_invoice for lessons/payments detail.
education_center.get_invoice
readRead one invoice with student, lessons, payments, and draft payload.
education_center.list_invoices
Read-only; no action request.
Read current invoice before update_invoice or payment writes.
education_center.preview_invoice_default_lessons
readPreview backend-generated default invoice lessons and centralize charge_type rules.
education_center.list_enrollments + education_center.list_classes
Read-only preview; no action request.
create/update invoice must submit explicit lessons[]; do not let writes recalculate silently.
education_center.list_invoice_reminders
readList invoice reminders based on remaining lessons.
education_center.list_invoices
Read-only; no action request.
Verify invoice state and remaining lessons before reminder actions.
education_center.list_payment_proofs
readList payment proofs with search and status filters.
education_center.list_invoices
Read-only; no action request.
Before review, call get_payment_proof to inspect invoice/student/payment detail.
education_center.get_payment_proof
readRead one payment proof with invoice, student, review, and applied payment details.
education_center.list_payment_proofs
Read-only; no action request.
Before apply/reject, confirm it is not duplicated and amount matches invoice context.
education_center.list_payment_records
readList payment record summaries and invoice payment status aggregates.
education_center.list_invoices
Read-only; no action request.
payment-records is its own domain, not merely an invoice attachment.
education_center.list_resources
readList learning resources.
None
Read-only; no action request.
Call get_resource before assignment changes.
education_center.get_resource
readRead one learning resource and current assignments.
education_center.list_resources
Read-only; no action request.
Use this state to avoid duplicate or wrong assignments.
education_center.list_notices
readList notices.
None
Read-only; no action request.
Before notice assignment, read get_notice and target student scope.
education_center.get_notice
readRead one notice and assignments.
education_center.list_notices
Read-only; no action request.
Before update or assignment, confirm audience, attachments, and read-receipt impact.
education_center.list_student_events
readList events for one student.
education_center.get_student
Read-only; no action request.
Event writes must remain student-centric and not cross-write another student.
education_center.list_leave_requests
readList leave requests for review workflows.
education_center.get_attendance_sheet or filters
Read-only; no action request.
Leave affects attendance/makeup; read detail before approval.
education_center.get_leave_request
readRead one leave request with linked lesson and review context.
education_center.list_leave_requests
Read-only; no action request.
Before approve-makeup, confirm makeup date/time to avoid reschedule conflicts.
education_center.update_attendance
writeUpdate attendance action for one lesson.
education_center.get_attendance_sheet
Governed write; may execute or return pending_approval.
Use canonical attendance action only; do not mutate lesson rows directly.
education_center.bulk_update_attendance
writeBulk update attendance action for multiple lessons.
education_center.get_attendance_sheet
Governed write; may execute or return pending_approval.
Lesson identifiers must come from controlled reads; avoid mixing cross-scope rows.
education_center.reschedule_lesson
writeReschedule one lesson by updating makeup_date, makeup_start_time, and makeup_end_time only.
education_center.get_attendance_sheet
Governed write; may execute or return pending_approval.
Do not change class, tutor, room, or original lesson time through this endpoint.
education_center.create_student_event
writeCreate one student event in the student-centric flow.
education_center.get_student
Governed write; may execute or return pending_approval.
Use event_remark for notes because remark is reserved for MCP governance.
education_center.update_student_event
writeUpdate one student event.
education_center.list_student_events
Governed write; may execute or return pending_approval.
event_id must belong to the student; use event_remark for notes.
education_center.delete_student_event
writeDelete one student event.
education_center.list_student_events
Governed write; may execute or return pending_approval.
Confirm event_id belongs to the student before deletion.
education_center.apply_payment_proof
writeApprove and apply one payment proof, creating or mapping a payment.
education_center.get_payment_proof
High-risk review write; preserve approval/audit metadata.
Confirm amount, invoice, student, and non-duplication before executing.
education_center.reject_payment_proof
writeReject one payment proof without creating a payment.
education_center.get_payment_proof
High-risk review write; preserve approval/audit metadata.
Rejection reason should be clear for parent follow-up context.
education_center.approve_leave_request_no_makeup
writeApprove one leave request without scheduling a makeup lesson.
education_center.get_leave_request
High-risk review write affecting attendance.
Confirm no-makeup is the business decision; the agent should not default to it.
education_center.approve_leave_request_makeup
writeApprove one leave request and schedule a makeup date.
education_center.get_leave_request
High-risk review write affecting attendance and makeup.
Makeup fields must align with the existing makeup/reschedule contract.
education_center.reject_leave_request
writeReject one leave request.
education_center.get_leave_request
High-risk review write; preserve approval/audit metadata.
Before rejection, confirm linked lesson and reason to avoid wrong parent notice.
education_center.create_student
writeCreate one student through the canonical setup student flow.
education_center.list_students
Governed write; may execute or return pending_approval.
Search first to avoid duplicate student/guardian records.
education_center.update_student
writeUpdate one student through the canonical setup student flow.
education_center.get_student
Governed write; may execute or return pending_approval.
Confirm student_id and record_state before updating, especially archived records.
education_center.create_enrollment
writeCreate one enrolment through the setup enrolment flow.
education_center.get_student + education_center.list_classes
Governed write; may execute or return pending_approval.
Check class capacity, duplicate enrolment, and billing setup before creating.
education_center.create_invoice
writeCreate an invoice through the canonical invoice flow; is_draft controls draft state.
education_center.preview_invoice_default_lessons
Governed cashier write; preserve audit metadata.
lessons[] is required and explicit; do not rely on implicit defaults.
education_center.update_invoice
writeUpdate an invoice through the canonical invoice flow; lessons[] remains explicit.
education_center.get_invoice + education_center.preview_invoice_default_lessons
Governed cashier write; preserve audit metadata.
Compare existing payments/draft state before update to avoid overwriting payment data.
education_center.add_invoice_payment
writeAppend payments to an existing invoice; canonical day-to-day payment path.
education_center.get_invoice
Governed cashier payment write.
Check outstanding amount and payment method before appending payment.
education_center.replace_invoice_payments
writeReplace the full invoice payment list for administrative correction.
education_center.get_invoice
High-risk full-overwrite cashier write.
Not the daily payment path; use only when full overwrite is intentional.
education_center.upsert_resource_item
writeCreate or update a learning_resource or notice with body, source, and attachments.
education_center.get_resource or education_center.get_notice
Governed write; may execute or return pending_approval.
type must be correct; resource_id means update, omitted means create.
education_center.delete_resource_item
writeArchive a learning_resource or notice through the shared resource backend flow.
education_center.get_resource or education_center.get_notice
Governed write; delete/archive operations should preserve audit.
Confirm assignments, attachments, and read-receipt impact before deletion.
education_center.assign_resource
writeAssign a learning_resource or notice through the shared assignment flow; supports is_all_students.
education_center.get_resource / get_notice + education_center.list_students
Governed write; all-students bulk assignment is high-impact.
type, target student, or is_all_students must be explicit and unambiguous.
education_center.unassign_resource
writeUnassign a student-specific resource/notice assignment through the shared assignment flow.
education_center.get_resource or education_center.get_notice
Governed write; may execute or return pending_approval.
Assignment must come from read result; do not guess assignment id.