Skip to main content
Glama

Create lesson

teachworks_create_lesson
Destructive

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.

Input 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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the agent knows this is a non-idempotent write. The description's 'WRITE:' prefix largely restates that, and it adds only the conflict-checking advice; it does not explain side effects such as calendar conflicts, notification behavior, or what happens on retry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with the write nature and the resource front-loaded, then the precondition, then the endpoint. Nothing is wasted, though 'POST /lessons' is mild filler for an agent that already has the tool selected.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter mutation tool with no output schema, the description covers the core intent and one important precondition, but omits notable behaviors: group-lesson semantics tied to `spaces`, whether the response returns a new lesson id, and how defaults (name, to_date, time_zone) are resolved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 92%, so nearly every parameter is already documented, including defaults and formats (guarded times, dates, time_zone). The description's phrase 'one or more students with a teacher, service and location' loosely maps to student_ids/employee_id/service_id/location_id but adds no new semantics, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('schedule a single lesson on the calendar') plus the key entities involved (students, teacher, service, location). It is immediately distinguishable from siblings like teachworks_add_student_to_lesson or teachworks_create_payment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent to call teachworks_list_availabilities and teachworks_list_lessons first to avoid conflicts, which is real operational guidance. It stops short of naming when NOT to use this tool (e.g., adding a student to an existing lesson) or stating the precondition that a lesson would otherwise be double-booked.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.