Skip to main content
Glama
Rootly MCP server

Rootly MCP server

Official
by rootlyhq

Get Schedule Shifts

get_schedule_shifts
Read-only

Fetch shifts for a single schedule over a date range, including ranges longer than one month by splitting requests and merging results.

Instructions

List shifts for one schedule over a date range.

Replaces the generated getScheduleShifts, which passed the range straight through and failed with Datetime range exceeds 1 month on anything longer than the upstream accepts. Ranges longer than that are split into windows and merged here, so a two-month question is a normal request.

Use list_shifts instead when the question spans schedules or filters by user.

Input Schema

NameRequiredDescriptionDefault
idYesSchedule ID (UUID) to fetch shifts for
end_dateNoEnd date/time (ISO 8601, e.g. '2026-09-30T23:59:59Z')
start_dateNoStart date/time (ISO 8601, e.g. '2026-08-01T00:00:00Z')

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.4.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description goes further and discloses non-obvious behavior: upstream rejects ranges over one month, and this tool splits and merges windows so a two-month query works transparently. That is exactly the kind of hidden limit an agent cannot infer from structured fields.

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 core purpose and the sibling routing are front-loaded in the first and last sentences. The middle paragraph about replacing generated getScheduleShifts is somewhat implementation-flavored, but it justifies the range-splitting behavior and is short enough to earn its place.

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

Completeness5/5

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

An output schema exists so return values need no explanation; params are fully documented in the schema; annotations cover the safety profile. The added range-merging context closes the remaining gap an agent would otherwise hit as a runtime error.

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 100% and all three parameters carry ISO 8601 examples, so the schema does the heavy lifting. The description adds no format or default semantics for id/start_date/end_date beyond what the schema already states, so the baseline 3 applies.

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?

Opens with a specific verb, resource, and scope: 'List shifts for one schedule over a date range.' The scope qualifier 'for one schedule' immediately separates it from the schedule-agnostic sibling list_shifts.

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 names the alternative ('Use list_shifts instead when the question spans schedules or filters by user') and gives the exact conditions that select it. Both when-to-use and when-not-to-use are stated.

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

Deploy Server

Other Tools