Skip to main content
Glama

list_open_incidents

Read-onlyIdempotent

Get every open incident from an agent's monitors, newest first, to discover what broke during downtime and use failure context (cause, exit code, repeat count) to decide retry or escalate.

Instructions

Read this agent's failure inbox: every incident currently OPEN on the monitors it owns, newest first. Call it at the START of a run, before doing the work — this is how an agent finds out what broke while it was not running, with no webhook, chat integration or mailbox to wire up. What makes the payload worth reading is NOT 'your check failed' — the run that failed already knows that. It is the context that no single failure body can contain:

  • failure_signature.occurrences — how many times THIS EXACT failure has been seen on this monitor (with first_seen/last_seen, and a fingerprint you can use to correlate incidents yourself). First occurrence or fortieth repeat is the fact that decides retry versus escalate, and no amount of reasoning over one failure body can recover it.

  • failed_step — the last step the run reported before it stopped. For a 'stalled' incident this is the entire diagnosis: the run is still alive and has not moved past this step.

  • exit_code — the status the run exited with. 137 (SIGKILL, usually the OOM killer) and 1 are both the word 'fail' and are completely different problems.

  • duration_vs_normal — a COMPARISON, not a measurement: '8.2x the typical run (41m vs 5m), from 30 archived days'. run_ms, typical_ms, ratio and days_sampled are carried too, so you can apply your own threshold and tell a 30-day norm from a 2-day one.

  • cause — 'silence' and 'fail' demand opposite responses. 'fail' means the job ran and reported an error; 'silence' means it never reported at all, which usually implicates the scheduler or the host rather than the job.

  • body_excerpt (the error text the failing run actually printed), run_id (line the incident up against your own logs), and ci.run_url (where the full log is, when the failure came from a CI provider). ABSENCE MEANS NO EVIDENCE — NEVER GOOD NEWS. Every enrichment degrades to ABSENT rather than erroring, so a missing field is the ordinary case, not an error. A missing duration_vs_normal means the run's duration or the monitor's baseline is unknown; it does NOT mean the run took a normal amount of time. A missing exit_code means no numeric code was reported (the ping used a word form such as /fail, or a detector opened the incident with no ping at all); it does NOT mean the job exited cleanly — and exit_code 0 is a real value this field does report, on a run that claimed success and then failed its declared expectations. A missing failure_signature or failed_step reads the same way: not known, never 'none'. Then WRITE BACK what you found with add_incident_note, passing the incident_id from the entry you acted on. Reading the inbox and saying nothing leaves the human exactly where they were.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax incidents to return (default 50, max 200). Newest first, so a small limit drops the oldest open incidents, not the newest.
agent_idYesAgent UUID (from register_agent or list_agents). The inbox covers every monitor this agent owns.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior, and the description adds substantial extra context: it explains the meaning of missing fields, that absence is evidence of absence rather than success, the difference between 'fail' and 'silence', and the semantics of exit_code 0. This goes far beyond what annotations provide.

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 description is long but well-structured: it front-loads the core purpose, then uses a bulleted list to explain why each payload field matters. Some rhetorical framing is present, but nearly every sentence adds signal, and the organization makes the detail digestible.

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 carries the full burden of explaining return semantics, and it does so thoroughly: it names the key fields, explains what they mean, clarifies absence behavior, and even describes the recommended follow-up action. For a read-only tool with fully documented parameters, nothing essential is missing.

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%, so the input schema already documents agent_id and limit, including defaults, max, and newest-first ordering. The description reinforces the 'newest first' behavior and the agent-owned scope, but it does not add much new parameter-specific meaning beyond 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?

The description opens with a precise verb and resource: 'Read this agent's failure inbox' and further scopes it to incidents that are currently OPEN on monitors the agent owns, newest first. This clearly distinguishes the tool from broader list_incidents and other siblings.

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 description explicitly says to call this tool at the START of a run, before doing work, and explains its role as the way an agent discovers what broke while it was not running. It also instructs to follow up with add_incident_note, though it does not explicitly state when not to use the tool or name list_incidents as an alternative.

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

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/tp322d/lastping-app'

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