Skip to main content
Glama
phuryn

Staygreen MCP Server

List monitors

list_monitors
Read-onlyIdempotent

Lists workspace monitors with app IDs, current state, last check timing, and combined app/type/status filters; use cursor pagination to retrieve all results.

Instructions

List monitors in your workspace with their app ids, current state and last check, ordered by id. The app, type and status filters combine, each narrowing the same list; with none you get every monitor, automatic SSL checks included. last_check_precision says whether last_check is an exact outcome, the start of its latest five-minute check window, or no data. Never returns credentials or heartbeat URLs. Use get_status instead for each app's overall state and open incidents, get_uptime for history. Call again with cursor set to next_cursor until null.

Input Schema

NameRequiredDescriptionDefault
appNoApp id from list_monitors, get_status or provision_app.
typeNoMonitor type. MCP server monitors are not available yet.
limitNoMaximum records in this page, from 1 to 100; defaults to 50.
cursorNoCall again with cursor set to the returned next_cursor until next_cursor is null.
statusNoFilter by current state; unchecked means no established state yet.

Output Schema

NameRequiredDescriptionDefault
monitorsYes
next_cursorYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds real value: it discloses that credentials and heartbeat URLs are never returned, explains the three meanings of last_check_precision, and gives the pagination contract (re-call with cursor until next_cursor is null). It does not mention rate limits or page-size interaction, but the safety and paging profile is well covered.

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 the resource, ordering and contents, then filters, then return caveats, then sibling routing — a sensible priority order. It is dense with six sentences and the last_check_precision sentence is somewhat compressed, but no sentence is pure filler.

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?

All five optional params are schema-documented, an output schema exists, and annotations cover the safety profile; the description still adds the filter-combination rule, the credential/heartbeat exclusion, pagination loop, and sibling routing. Nothing an agent needs to call this correctly is missing.

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 above that by explaining that app/type/status filters intersect rather than union, and that omitting all of them yields every monitor including automatic SSL checks — semantics the schema does not state. It also adds cursor loop behavior, though limit and enum value meanings are left to the schema.

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?

States a specific verb and resource plus the exact payload shape ('with their app ids, current state and last check, ordered by id'), so an agent knows the return contents and ordering before calling. It also distinguishes itself from get_status and get_uptime by name, so it is unambiguous against siblings.

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 routes the agent: use get_status for per-app overall state and open incidents, get_uptime for history. It also explains how filters combine and what the no-filter default returns, removing ambiguity about when this tool is the right choice.

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