Skip to main content
Glama

Sergio by Serviche

Save a field worker's weekly hours or details

set_staff_weekly_hours
Idempotent

Replaces the regular weekly hours of the workers named in staffNames with exactly the windows in entries (day_of_week 0 = Sunday to 6 = Saturday, HH:MM times; several windows a day allowed; a named worker with no entries has no regular hours). Workers not in staffNames are untouched. Omit entries to leave hours alone and only save profiles (the worker's details: email, phone, allergies, and venmo / zelle, which change only for a seat allowed to change payment handles). For one date only, use set_staff_availability. If the new hours no longer cover a worker's upcoming Sergio visits, those visits are released and a task is filed for a person. Nothing is sent. Pass the same idempotency_key when retrying.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "staffNames": "<staffNames>",
      "idempotency_key": "<idempotency_key>"
    },
    "name": "set_staff_weekly_hours"
  }
}

Input Schema

NameRequiredDescriptionDefault
entriesNo
profilesNo
staffNamesYes
idempotency_keyYesYour id for this operation (8-128 of A-Z a-z 0-9 . _ : -). Reuse it on every retry of the same operation; use a new one for a new operation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only say readOnly=false, idempotent=true, destructive=false, while the description discloses the real behavioral weight: full replacement of existing windows, empty entries meaning no regular hours, downstream release of upcoming "Sergio" visits plus a filed task, and that nothing is sent. It adds retry guidance via idempotency_key. The one gap is that the visit-release side effect sits uneasily next to destructiveHint=false and is not reconciled, and the response shape is unstated.

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?

Effectively one dense paragraph with zero filler; the destructive replace semantics and the sibling pointer are front-loaded where they matter most. It is long and clause-chained, which costs some scanability, but no sentence is redundant.

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?

For a mutation with cascading side effects, no output schema, and four parameters, this covers purpose, replace semantics, side effects, scope, and retry behavior. Remaining gaps are the return value and error/precondition cases (e.g., unknown staff name, seat not permitted to change payment handles).

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

Parameters4/5

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

Schema description coverage is only 25% (idempotency_key alone is documented), so the description must compensate and largely does: it defines day_of_week 0=Sunday through 6=Saturday, HH:MM time format, multiple windows per day allowed, empty entries meaning no regular hours, and which profile fields exist (email, phone, allergies, venmo/zelle). It does not clarify whether profiles are merged or replaced per field, nor what happens if a name in staffNames has no profile entry.

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 opens with a specific verb and resource ("Replaces the regular weekly hours of the workers named in staffNames with exactly the windows in entries") and immediately scopes the replace semantics. It also names the sibling it is not (set_staff_availability) so an agent can discriminate without reading schemas.

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?

It gives explicit routing guidance ("For one date only, use set_staff_availability") and an explicit when-not-to-act rule ("Omit entries to leave hours alone and only save profiles"). Non-targeted workers are explicitly out of scope, which removes ambiguity about blast radius.

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.

Resources