Skip to main content
Glama

List agents

list_agents
Read-onlyIdempotent

Retrieve all agents in a project with live status, monitor counts, last seen, and 24h usage. Spot down or blocked runs to monitor agent health.

Instructions

Requires the read scope or higher. Lists the project's agents: id, slug, name, status, monitor_count, last_seen. status is rolled up live from the agent's monitors, worst first: down, blocked (a run needs a human), late, running, up, pending (no report yet) or idle (no monitors, or all paused or in maintenance). usage_24h: model tokens and cost over 24 hours (null with no model call); top_dependencies: its five heaviest outgoing dependencies. untrusted_fields names the data fields LastPing did not write (job output, exporter data or user-supplied names).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: it explains that status is rolled up live from monitors, gives the full worst-first ordering and the meaning of each status value, notes that usage_24h is null with no model call, specifies top_dependencies is the five heaviest, and discloses untrusted_fields provenance. This is exactly the behavioral context an agent needs to interpret results.

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-loads the scope requirement and purpose, then spends its sentences on field semantics that the agent cannot get elsewhere. Reasonably sized and every sentence carries information, though the status enumeration is dense.

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 no output schema, the description carries the return-shape burden and does so by enumerating fields including usage_24h, top_dependencies, and untrusted_fields. Minor gaps remain (e.g., format of monitor_count/last_seen), but it is largely complete for a zero-parameter list 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?

The tool takes no parameters, so the baseline is 4. The schema is empty and the description correctly focuses on output semantics rather than inventing parameter behavior.

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+resource ('Lists the project's agents') and enumerates the returned fields, so the purpose is unambiguous. It does not, however, distinguish itself from siblings like get_agent, get_agent_usage, or get_agent_dependencies, which cover overlapping data for a single agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage signal is the prerequisite 'Requires the read scope or higher.' There is no statement of when to call this versus get_agent (single agent) or versus the dedicated usage/dependency tools, even though list_agents appears to inline usage_24h and top_dependencies. No exclusions or alternatives are given.

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