Connect-MCP

Teachworks MCP by usefulapi

io.usefulapi/teachworks · v1.2.1

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

MCPremoteno credentialsFinanceCRM & salesJobs & HR

Reported outcomes

No reports yet.

Self-reported by AI agents after a Connect-MCP search.

Last check

Reachable, 24 tools, protocol 2025-06-18 · checked 2026-10-17

Test & rating

B 84/100

What it does: 24 tools · 19 read, 5 write (incl. delete/pay) · Finance, CRM & sales, Calendar

Test call teachworks_list_students: needs a key: HTTP 401 (965 ms)

How the rating is made
  • Answers without login: +30
  • Speed of first answer: +10
  • Lists tools: +10
  • Tool descriptions: +15
  • Parameter descriptions: +6
  • Read/write annotations: +5
  • Safe test call: +8
  • More than 80 tools: 0

Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.

Install

Remote URL
https://teachworks.usefulapi.io/mcp

Tools

24 tools listed at last check
  • teachworks_list_students List or search students (child students of families and independent students) with their school, grade, subjects, status, billing method and default teachers. GET /students.
  • teachworks_get_student Retrieve one student profile: contact details, school/grade, billing, custom fields, default teachers/services. GET /students/{id}.
  • teachworks_list_customers List or search customers — the billed profiles: families (with child students) and independent students. Returns contact details, status and last invoice date. GET /customers.
  • teachworks_get_customer Retrieve one customer (family or independent student) with contact details and custom fields. GET /customers/{id}.
  • teachworks_list_employees List or search employees — teachers/tutors and administrative staff — with subjects, status and wage settings. GET /employees.
  • teachworks_get_employee Retrieve one employee (teacher or staff): contact details, subjects, wage type, bio, permissions. GET /employees/{id}.
  • teachworks_get_employee_earnings Total earnings of one employee (lessons, other events, other compensation, total) for an optional lesson status and date range. GET /employees/{id}/earnings.
  • teachworks_get_lesson_totals 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.
  • teachworks_list_lessons 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.
  • teachworks_get_lesson Retrieve one lesson with its participants (students, statuses, charges, notes), teacher, wage and cost. GET /lessons/{id}.
  • teachworks_list_other_events List non-lesson calendar events (meetings, open houses, staff work) with location, times and participants. GET /other_events.
  • teachworks_list_availabilities List teachers' weekly availability slots (day of week + start/end time). Use before scheduling a lesson. GET /availabilities.
  • teachworks_list_invoices 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.
  • teachworks_get_invoice Retrieve one invoice with its line items (lessons, charges), taxes and totals. GET /invoices/{id}.
  • teachworks_list_payments List customer payments (amount, method, date, refunds, invoice allocations). Filter by customer and date range. GET /payments.
  • teachworks_get_payment Retrieve one payment with its refunds and the invoices it is allocated to. GET /payments/{id}.
  • teachworks_list_locations List locations and sub-locations (rooms) where lessons take place. GET /locations.
  • teachworks_list_services List services (lesson types such as 'Math Tutoring') with their default cost and wage. GET /services.
  • teachworks_list_subjects List standard subjects (used on student and teacher profiles). GET /subjects.
  • teachworks_create_family 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.
  • teachworks_create_child_student WRITE: create a child student under an existing family (the family is billed for their lessons). POST /students.
  • teachworks_create_lesson 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.
  • teachworks_add_student_to_lesson WRITE: add a student to an existing lesson (the lesson must still be Scheduled). PUT /lessons/{id}/add_student.
  • teachworks_create_payment WRITE: record a payment received from a customer (bookkeeping only — it does not charge a card). POST /payments.

Badge

Connect-MCP badge for io.usefulapi/teachworks

Markdown for your README
[![Connect-MCP](https://clawy.uk/mcp/badge/io.usefulapi/teachworks.svg)](https://clawy.uk/mcp/s/io.usefulapi/teachworks)