Skip to main content
Glama

Teachworks MCP by usefulapi

Server Details

Read Teachworks students, families, tutors, lessons, invoices and payments; book lessons.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

Score is being calculated.

Available Tools

24 tools
teachworks_add_student_to_lessonAdd student to lesson
Destructive
Inspect

WRITE: add a student to an existing lesson (the lesson must still be Scheduled). PUT /lessons/{id}/add_student.

ParametersJSON Schema
NameRequiredDescriptionDefault
lesson_idYesLesson id.
student_idYesStudent id to add.
teachworks_create_child_studentCreate child student
Destructive
Inspect

WRITE: create a child student under an existing family (the family is billed for their lessons). POST /students.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNo
gradeNo
schoolNo
statusNo
last_nameYes
birth_dateNo
first_nameYes
start_dateNo
customer_idYesThe family (customer) id the student belongs to.
mobile_phoneNo
additional_notesNo
default_location_idNo
default_service_idsNoDefault service ids.
default_teacher_idsNoDefault teacher (employee) ids.
standard_subject_idsNoSubject ids.
teachworks_create_familyCreate family
Destructive
Inspect

WRITE: create a family customer (the billed parent profile that child students belong to). Add children afterwards with teachworks_create_child_student. POST /customers/family.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipNo
cityNo
emailNoPrimary email (notifications, user account).
stateNo
statusNoDefaults to Active; use Prospective for leads.
addressNo
countryNo
last_nameYesFamily last name.
first_nameYesParent first name(s), e.g. 'Frank & Tina'.
home_phoneNo
mobile_phoneNo
additional_notesNo
teachworks_create_lessonCreate lesson
Destructive
Inspect

WRITE: schedule a single lesson on the calendar for one or more students with a teacher, service and location. Check teachworks_list_availabilities and teachworks_list_lessons first to avoid conflicts. POST /lessons.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoLesson name (defaults per Teachworks settings).
spacesNoNumber of student spaces (group lessons).
to_dateNoEnd date (defaults to from_date).
to_timeYesEnd time, e.g. 17:00.
from_dateYesStart date.
from_timeYesStart time, e.g. 16:00.
time_zoneNoRails time zone name, e.g. 'Eastern Time (US & Canada)' (defaults to the account's).
service_idYesService id (sets the default cost and wage).
descriptionNo
employee_idYesTeacher (employee) id.
location_idNoLocation id.
student_idsYesStudent ids attending.
teachworks_create_paymentRecord payment
Destructive
Inspect

WRITE: record a payment received from a customer (bookkeeping only — it does not charge a card). POST /payments.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesPayment date.
amountYesAmount paid.
customer_idYesCustomer that paid.
descriptionNoDetails, e.g. 'Payment for INV-0216'.
payment_methodNo
teachworks_get_customerGet customer
Read-only
Inspect

Retrieve one customer (family or independent student) with contact details and custom fields. GET /customers/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_idYesCustomer id.
teachworks_get_employeeGet employee
Read-only
Inspect

Retrieve one employee (teacher or staff): contact details, subjects, wage type, bio, permissions. GET /employees/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
employee_idYesEmployee id.
teachworks_get_employee_earningsGet employee earnings
Read-only
Inspect

Total earnings of one employee (lessons, other events, other compensation, total) for an optional lesson status and date range. GET /employees/{id}/earnings.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoOnly lessons with this status.
date_toNoLessons starting on or before this date.
date_fromNoLessons starting on or after this date.
employee_idYesEmployee id.
teachworks_get_invoiceGet invoice
Read-only
Inspect

Retrieve one invoice with its line items (lessons, charges), taxes and totals. GET /invoices/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYesInvoice id.
teachworks_get_lessonGet lesson
Read-only
Inspect

Retrieve one lesson with its participants (students, statuses, charges, notes), teacher, wage and cost. GET /lessons/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
lesson_idYesLesson id.
teachworks_get_lesson_totalsGet lesson totals
Read-only
Inspect

Lesson totals for one student, customer or employee: count (default), duration in minutes, or (employees only) earnings, broken down by status, for an optional status and date range. GET /{students|customers|employees}/{id}/lesson_totals.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe student, customer or employee id.
kindYesWhose lessons to total.
statusNoOnly lessons with this status.
date_toNoLessons starting on or before this date.
measureNocount (default), duration (minutes) or earnings (employees only).
date_fromNoLessons starting on or after this date.
teachworks_get_paymentGet payment
Read-only
Inspect

Retrieve one payment with its refunds and the invoices it is allocated to. GET /payments/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
payment_idYesPayment id.
teachworks_get_studentGet student
Read-only
Inspect

Retrieve one student profile: contact details, school/grade, billing, custom fields, default teachers/services. GET /students/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
student_idYesStudent id.
teachworks_list_availabilitiesList teacher availability
Read-only
Inspect

List teachers' weekly availability slots (day of week + start/end time). Use before scheduling a lesson. GET /availabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
dayNoDay of week, Sunday = 0 … Saturday = 6.
pageNoPage number (1-based, default 1).
per_pageNoRecords per page (default 20, max 50).
directionNoSort by id ascending (default) or descending (newest first).
employee_idNoOnly this teacher's availability.
teachworks_list_customersList customers
Read-only
Inspect

List or search customers — the billed profiles: families (with child students) and independent students. Returns contact details, status and last invoice date. GET /customers.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipNo
cityNo
pageNoPage number (1-based, default 1).
typeNofamily or independent.
emailNoSearch by email.
stateNo
statusNo
countryNo
per_pageNoRecords per page (default 20, max 50).
directionNoSort by id ascending (default) or descending (newest first).
last_nameNoSearch by last name.
first_nameNoSearch by first name.
phone_numberNoSearch by phone number.
teachworks_list_employeesList employees
Read-only
Inspect

List or search employees — teachers/tutors and administrative staff — with subjects, status and wage settings. GET /employees.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipNo
cityNo
pageNoPage number (1-based, default 1).
emailNoSearch by email.
stateNo
statusNo
subjectNoSearch by subject taught.
per_pageNoRecords per page (default 20, max 50).
directionNoSort by id ascending (default) or descending (newest first).
last_nameNoSearch by last name.
first_nameNoSearch by first name.
teachworks_list_invoicesList invoices
Read-only
Inspect

List invoices with customer, number, dates, status (Saved, Approved, Paid, Void) and totals. Filter by customer, status, invoice date or due date range. GET /invoices.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based, default 1).
due_toNoDue date on or before (e.g. today, to find overdue invoices together with status Approved).
numberNoInvoice number.
statusNo
date_toNoInvoice date on or before.
due_fromNoDue date on or after.
per_pageNoRecords per page (default 20, max 50).
date_fromNoInvoice date on or after.
directionNoSort by id ascending (default) or descending (newest first).
customer_idNoOnly invoices of this customer.
teachworks_list_lessonsList lessons
Read-only
Inspect

List lessons (the calendar) with teacher, service, location, start/end, duration, status and participants. Filter by teacher, student, location, service, status and date range. GET /lessons.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoSearch by lesson name.
pageNoPage number (1-based, default 1).
statusNo
date_toNoLessons starting on or before this date.
joinableNotrue = only lessons marked joinable.
per_pageNoRecords per page (default 20, max 50).
date_fromNoLessons starting on or after this date.
directionNoSort by id ascending (default) or descending (newest first).
from_dateNoLessons starting on exactly this date.
series_idNoOnly lessons of this repeating series.
service_idNoOnly lessons of this service.
student_idNoOnly lessons with this student.
employee_idNoOnly lessons taught by this teacher (employee id).
location_idNoOnly lessons at this location (exact).
custom_statusNoSearch by custom status (Custom Statuses add-on).
include_deletedNotrue = include deleted lessons.
location_or_parent_location_idNoLessons at this location or any of its sub-locations.
teachworks_list_locationsList locations
Read-only
Inspect

List locations and sub-locations (rooms) where lessons take place. GET /locations.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoSearch by name.
pageNoPage number (1-based, default 1).
per_pageNoRecords per page (default 20, max 50).
directionNoSort by id ascending (default) or descending (newest first).
teachworks_list_other_eventsList other events
Read-only
Inspect

List non-lesson calendar events (meetings, open houses, staff work) with location, times and participants. GET /other_events.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based, default 1).
date_toNoEvents starting on or before this date.
per_pageNoRecords per page (default 20, max 50).
date_fromNoEvents starting on or after this date.
directionNoSort by id ascending (default) or descending (newest first).
from_dateNoEvents starting on exactly this date.
series_idNoOnly events of this repeating series.
employee_idNoOnly events of this employee.
location_idNoOnly events at this location.
teachworks_list_paymentsList payments
Read-only
Inspect

List customer payments (amount, method, date, refunds, invoice allocations). Filter by customer and date range. GET /payments.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based, default 1).
date_toNoPayment date on or before.
per_pageNoRecords per page (default 20, max 50).
date_fromNoPayment date on or after.
directionNoSort by id ascending (default) or descending (newest first).
customer_idNoOnly payments of this customer.
teachworks_list_servicesList services
Read-only
Inspect

List services (lesson types such as 'Math Tutoring') with their default cost and wage. GET /services.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoSearch by name.
pageNoPage number (1-based, default 1).
per_pageNoRecords per page (default 20, max 50).
directionNoSort by id ascending (default) or descending (newest first).
teachworks_list_studentsList students
Read-only
Inspect

List or search students (child students of families and independent students) with their school, grade, subjects, status, billing method and default teachers. GET /students.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-based, default 1).
typeNofamily = child students, independent = independent students.
emailNoSearch by email.
gradeNoSearch by grade.
schoolNoSearch by school.
statusNo
subjectNoSearch by subject.
per_pageNoRecords per page (default 20, max 50).
directionNoSort by id ascending (default) or descending (newest first).
last_nameNoSearch by last name.
first_nameNoSearch by first name.
customer_idNoOnly students of this customer/family id.
phone_numberNoSearch by phone number.
teachworks_list_subjectsList subjects
Read-only
Inspect

List standard subjects (used on student and teacher profiles). GET /subjects.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoSearch by name (partial match).
pageNoPage number (1-based, default 1).
per_pageNoRecords per page (default 20, max 50).
directionNoSort by id ascending (default) or descending (newest first).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 24 tool updates
    • First observedteachworks_add_student_to_lesson
    • First observedteachworks_create_child_student
    • First observedteachworks_create_family
    • First observedteachworks_create_lesson
    • First observedteachworks_create_payment
    • First observedteachworks_get_customer
    • First observedteachworks_get_employee
    • First observedteachworks_get_employee_earnings
    • First observedteachworks_get_invoice
    • First observedteachworks_get_lesson
    • First observedteachworks_get_lesson_totals
    • First observedteachworks_get_payment
    • First observedteachworks_get_student
    • First observedteachworks_list_availabilities
    • First observedteachworks_list_customers
    • First observedteachworks_list_employees
    • First observedteachworks_list_invoices
    • First observedteachworks_list_lessons
    • First observedteachworks_list_locations
    • First observedteachworks_list_other_events
    • First observedteachworks_list_payments
    • First observedteachworks_list_services
    • First observedteachworks_list_students
    • First observedteachworks_list_subjects

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.