Skip to main content
Glama

Get hourly statistics

get_stats_hourly
Read-onlyIdempotent

Get hourly uptime and response-time stats for a monitor, including min, max, average, and p95. Identify when outages occur or how long they last by analyzing each hour's data.

Instructions

Response time and uptime for one monitor broken down by hour, with min, max, average and p95 per bucket. Use it to see the shape of a problem: whether a service degrades before it fails, whether outages cluster at a particular time of day, or how long a single incident really lasted. Best over hours or days; for weeks and months use get_stats_daily instead, which returns far fewer rows.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based. Defaults to 1.
dateToNoLast day to include, as YYYY-MM-DD. Defaults to today.
dateFromNoFirst day to include, as YYYY-MM-DD. Defaults to the start of available history.
monitorIdYesMonitor id, as returned by list_monitors.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYesThe rows on this page.
totalItemsNoTotal across all pages, not just this one.
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds meaningful behavioral context: the granularity (hourly), the included statistics (min, max, avg, p95), and the implication of high row counts ('returns far fewer rows' for daily). It does not discuss pagination behavior explicitly, but the page parameter exists in the schema, so the incremental value is strong without being exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler. Each sentence serves a distinct purpose: the first explains what the tool returns, the second illustrates why you'd use it, and the third directs to an alternative for longer ranges. It is front-loaded with the core action and scale, making it easy to parse quickly.

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?

Given the moderate complexity, full schema coverage, rich annotations (read-only, idempotent), and presence of an output schema, the description covers all essential context. It explains the granularity, the metrics, the intended use cases, and the sibling differentiation. An agent can confidently select and invoke this tool without needing additional information.

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%, with clear descriptions for all four parameters including defaults and format (e.g., 'YYYY-MM-DD'). The description adds no parameter-specific details beyond what the schema already provides. It implicitly references monitorId by saying 'for one monitor,' but the schema already documents it as required. Baseline 3 is appropriate because the 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 clearly states the tool's function: 'Response time and uptime for one monitor broken down by hour, with min, max, average and p95 per bucket.' It uses a specific verb-resource structure and distinguishes from sibling get_stats_daily by explicitly noting the appropriate time range (hours/days vs weeks/months). This leaves no ambiguity about what the tool does.

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?

The description provides explicit usage guidance: 'Best over hours or days; for weeks and months use get_stats_daily instead, which returns far fewer rows.' It also offers concrete use cases (spotting degradation, outage clustering, incident duration) that help the agent decide when to invoke this tool. This is a model of clear when-to-use versus alternative guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/uptybots/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server