Skip to main content
Glama

List shifts

list_shifts
Read-onlyIdempotent

List shifts for the signed-in cashier or a cash register, including status, open/close times, balance, and Z-report reference, with date and status filters.

Instructions

Lists shifts (зміни) with status, open and close times, balance and the Z-report reference. scope "cashier" (default) lists shifts of the signed-in cashier; scope "cash_register" lists shifts of the cash register behind CHECKBOX_LICENSE_KEY, whoever opened them (page size capped at 50). Use get_shift for the full record.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoPage size. Default 25; values above the cap (100 unless stated otherwise) are clamped.
scopeNoWhose shifts to list. Default "cashier".
offsetNoNumber of records to skip, for paging. Default 0.
to_dateNoOnly shifts up to this moment. ISO 8601 with a UTC offset, e.g. 2026-10-01T00:00:00+03:00 (Kyiv is +02:00 in winter, +03:00 in summer).
statusesNoOnly shifts in these statuses.
from_dateNoOnly shifts from this moment. ISO 8601 with a UTC offset, e.g. 2026-10-01T00:00:00+03:00 (Kyiv is +02:00 in winter, +03:00 in summer).
newest_firstNoSort from newest to oldest. Default true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the bar is lower, yet the description adds two real behavioral facts: the page-size cap of 50 for this endpoint and the CHECKBOX_LICENSE_KEY requirement for cash_register scope. It does not describe ordering guarantees or result-shape nuances, but those are minor here.

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?

Dense but front-loaded: the resource and returned fields come first, then scope semantics, then the alternative-tool pointer. Every sentence carries information, though the parenthetical license key and cap clauses make it slightly heavy for a list tool.

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?

With no output schema, the description carries the burden of describing what is returned and does list the key fields (status, times, balance, Z-report reference). Paging and filtering are fully covered by the schema, so the remaining gap is only the absence of sorting/response-shape detail, which is not material for a 7-param list tool.

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 coverage is 100%, so baseline is 3; the description still adds meaning by explaining the semantics of the scope enum (whose shifts are returned, license gating) and by overriding the generic page-size cap with an endpoint-specific 50. It adds nothing for limit/offset/from_date/to_date/statuses beyond what the schema already documents.

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 gives a specific verb and resource ("Lists shifts") and enumerates the returned fields (status, open/close times, balance, Z-report reference). It explicitly distinguishes itself from the sibling get_shift ("Use get_shift for the full record"), so an agent can route between them without opening schemas.

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?

It states the default scope behavior and the condition for the alternative ("scope 'cash_register' lists shifts of the cash register behind CHECKBOX_LICENSE_KEY, whoever opened them"), and names get_shift as the fuller alternative. It stops short of stating when a shift listing is inappropriate (e.g., for a single known shift), leaving one inference to the agent.

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