Skip to main content
Glama
Rootly MCP server

Rootly MCP server

Official
by rootlyhq

Get Oncall Shift Metrics

get_oncall_shift_metrics
Read-only

Retrieve on-call shift counts, total hours, and statistics grouped by user, schedule, or team to assess workload distribution and support fair scheduling decisions.

Instructions

šŸ“Š Get on-call workload metrics and shift statistics - ESSENTIAL for fairness and planning.

WHEN TO USE: • Monthly/quarterly reviews of on-call distribution • Before adjusting schedules to ensure fair workload • For management reporting on on-call burden • When investigating potential on-call burnout

Returns shift counts, total hours, and statistics grouped by user, schedule, or team.

Examples:

  • Monthly report: start_date='2025-10-01', end_date='2025-10-31'

  • Specific user: start_date='2025-10-01', end_date='2025-10-31', user_ids='123,456'

  • Specific team: team_ids='team-1' (will query schedules for that team first)

Input Schema

NameRequiredDescriptionDefault
end_dateYesEnd date for metrics (ISO 8601 format, e.g., '2025-10-31' or '2025-10-31T23:59:59Z')
group_byNoGroup results by: 'user', 'schedule', 'team', or 'none'user
team_idsNoComma-separated list of team IDs to filter by (requires querying schedules first)
user_idsNoComma-separated list of user IDs to filter by (optional)
start_dateYesStart date for metrics (ISO 8601 format, e.g., '2025-10-01' or '2025-10-01T00:00:00Z')
schedule_idsNoComma-separated list of schedule IDs to filter by (optional)

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.4.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely non-obvious behavior: 'team_ids ... will query schedules for that team first', disclosing an extra lookup step and its implications. It omits pagination and any cost/latency caveats for large ranges, keeping it off a 5.

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?

Front-loaded with purpose, then usage, then return shape, then examples — a clean scannable order. Slight verbosity from the emoji, the ALL-CAPS 'ESSENTIAL' emphasis, and three examples, but each example demonstrates a distinct filter mode rather than repeating itself.

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 full schema coverage, annotations, and an existing output schema, the description need not explain return values and correctly does not try to. What remains thin is guidance on time-range size limits and what happens when filters yield no schedules, which matters for an open-world aggregation 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 earns an extra point by supplying worked examples that show the comma-separated ID convention ('user_ids=123,456') and the distinction between filtering by user vs team, meaning beyond the schema's per-field text. It does not explain 'group_by' values in more depth than the schema already does.

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

Purpose4/5

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

States a specific verb and resource ('Get on-call workload metrics and shift statistics') and specifies the returned metrics (shift counts, total hours, grouped statistics), which distinguishes it in spirit from raw-listing siblings like get_schedule_shifts or list_shifts. However, no sibling tool is named, so the agent must infer the aggregate-vs-raw distinction.

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?

The 'WHEN TO USE' block gives four concrete scenario triggers (reviews, schedule adjustments, management reporting, burnout investigation), which is well above average. It stops short of explicit exclusions or naming alternatives, so the agent still has to reason about when a sibling shift-listing tool is preferable.

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