Skip to main content
Glama
dandyer

jobkeepr-mcp

Reschedule a job

reschedule_job

Change an existing job's date, time, or duration. Identify it by customer name or job ID, then provide new date, new time, or length in minutes.

Instructions

Change the date, time, or length of an existing job. Provide customerName (finds most recent scheduled job) OR jobId (exact match). Supply at least one of newDate, newTime, or durationMinutes. When moving the job, provide both newDate and newTime where possible. When the user only wants the appointment to block off more or less time (e.g. 'make Jon's appointment 3 hours', 'that job needs 90 minutes'), pass durationMinutes alone and leave the date and time out so the job stays where it is.

Input Schema

NameRequiredDescriptionDefault
jobIdNoOnly use if you have the exact job ID.
newDateNoNew date for the job. Omit to keep the job on its current date.
newTimeNoNew start time for the job. Omit to keep the job at its current start time.
customerNameNoALWAYS use this when user mentions a customer name.
durationMinutesNoHow long the appointment should last, in minutes (e.g. 180 for 3 hours, 90 for an hour and a half). Set this whenever the user states or changes a length, including end times ('9:45am to 12:45pm' is 180). Omit to keep the length the job already has.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.2
  2. Removedv1.0.0
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already state this is a non-read-only, non-idempotent mutation (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the agent knows it's a write with side effects. The description adds the important resolution rule that customerName finds the most recent scheduled job, which is behavioral context beyond the schema. However, it doesn't mention permissions, reversibility, or error modes, leaving some gaps.

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?

The description is front-loaded with the core action and identification rules, then moves to parameter usage and a concrete example. It is a bit long, but every sentence appears to serve a purpose (e.g., the durationMinutes example clarifies an edge case). No redundant or filler content.

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

Completeness4/5

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

Given the mutation nature, five optional parameters, no output schema, and annotations that signal non-destructive write, the description is nearly complete. It covers identification, required inputs, and special cases (duration-only updates). It could mention what happens on ambiguous customer matches or how errors are returned, but those are minor for a tool at this scope.

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 description coverage is 100%, so the schema already documents all five parameters thoroughly. The description reinforces the mutual exclusivity and usage patterns (e.g., customerName vs jobId, durationMinutes alone) but does not add syntax or format details beyond what the schema provides. Baseline 3 is appropriate when schema does the heavy lifting.

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?

The description states a specific verb and resource (change the date, time, or length of an existing job) and names the updatable aspects. It distinguishes this from siblings like create_job (new job) and cancel_job (removal), making the boundary clear.

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

Usage Guidelines5/5

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

Explicitly tells how to identify the job (customerName finds most recent scheduled job, jobId for exact match), requires at least one of newDate/newTime/durationMinutes, and gives specific examples for when to use each mode. It also names the alternative pattern (durationMinutes alone) for pure length changes.

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