Skip to main content
Glama
theodor90

form4api-mcp

get_status_history

Read-only

Retrieve trailing 90-day daily API uptime history. Returns per-day healthy heartbeat slots and percentages plus overall uptime, enabling a status bar or uptime chart.

Instructions

Measured uptime history for the public status page — trailing 90-day daily breakdown. Returns a daily breakdown of measured API uptime over a trailing 90-day window, computed from an internal heartbeat probe that runs every 5 minutes and performs the same DB-connectivity check as GET /health/ready. Each day in the days array reports the number of 5-minute slots expected to have elapsed (288 for a complete past day, pro-rated for the feature's first day and for today's partial day), how many of those slots recorded a healthy heartbeat, and the resulting uptime percentage for that day — plus an overall percentage (overallPct) across the whole window. start is the earliest date included: either the date of the very first heartbeat ever recorded, or 89 days before today once more than 90 days of history exist. Days before that are never returned. Use this to render an uptime history / status bar; for live corpus freshness use GET /v1/data-quality instead. Takes no parameters. Cached for ~5 minutes; no API key or plan required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.9.6

TDQS

A4.9/5.0
Behavior5/5

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

The annotations already declare readOnlyHint=true and openWorldHint=true, and the description builds on them with substantial behavioral detail: the 5-minute heartbeat cadence, DB-connectivity nature, pro-rating of partial days, 5-minute caching, and no API key or plan requirement. It also explains the semantics of start date and overallPct, which is far beyond what annotations alone provide. There is no contradiction between description and annotations.

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 long but every sentence carries useful information: response shape, date window semantics, computation method, intended usage, alternative tool, caching, and auth requirements. It is front-loaded with the core purpose and avoids filler or redundant phrasing.

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?

There is no output schema, so the description correctly carries the full burden of explaining the return value: the days array, per-day slot counts, uptime percentages, overallPct, and start date behavior. It also covers parameters, caching, and auth requirements. An agent has enough information to call the tool correctly and interpret its response without external context.

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?

The tool has zero parameters, so there is nothing meaningful to add beyond the empty input schema. The description explicitly states 'Takes no parameters,' which removes any assumption that a timeframe or entity filter might be required. Given the zero-parameter baseline, this is appropriately handled.

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: 'Measured uptime history for the public status page — trailing 90-day daily breakdown.' It clearly distinguishes what the tool returns from other data endpoints, and later explicitly contrasts it with live freshness data from GET /v1/data-quality. This is enough for an agent to understand the tool's distinct purpose.

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 is explicit about when to use the tool: 'Use this to render an uptime history / status bar; for live corpus freshness use GET /v1/data-quality instead.' It gives a positive use case, a negative use case, and names the alternative endpoint. No agent would need to infer usage context.

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