Skip to main content
Glama

list_jobs

Read-onlyIdempotent

List jobs in a Redis Queue by status, returning job summaries with pagination and total count for the specified queue.

Instructions

List jobs in a queue filtered by status.

status must be one of: queued, started, finished, failed, deferred, scheduled, canceled. Returns up to limit (max 100) job summaries (id, function name, description, status, enqueued_at, started_at, ended_at) starting at offset, plus the total number of jobs at that status in the queue.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
statusYes
queue_nameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, so the bar for the description is lower. The description goes beyond the annotations by disclosing a hard operational constraint absent from the schema — 'max 100' on limit — plus the exact status vocabulary (an enumerated contract since the schema defines no enum) and the response shape. It does not disclose error behavior, but for a read-only listing tool that gap is minor.

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?

Two tight paragraphs: the purpose is front-loaded in the first sentence, and everything after earns its place by documenting constraints the schema lacks (status values, limit cap, response fields). No filler, no repetition of annotation or schema content.

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?

For a simple filtered-list operation, the description is nearly complete: the output schema covers the return shape, annotations cover safety, and the description covers the status contract and pagination bounds. The only residuals are queue_name semantics and absence of error/empty-result behavior, which are minor for a read-only enumeration 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?

Schema description coverage is 0%, so the description carries the full burden — and it mostly delivers. status is fully enumerated, limit has an explicit max of 100, and offset is explained as the pagination start. queue_name is only weakly indicated ('in a queue'), but the other three parameters get meaning the schema does not provide, which properly compensates for the empty 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 opening line 'List jobs in a queue filtered by status' names a specific verb, resource, and scope. It is clearly distinguishable from siblings: get_job and get_job_result target single jobs, list_scheduled_jobs is a narrower status filter, and list_queues/list_workers target different resource types. No ambiguity about what this 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 Guidelines3/5

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

Usage is implied by the purpose — an agent can infer this enumerates jobs at a given status, including scheduled ones, which overlaps with list_scheduled_jobs. However, there is no explicit when-to-use vs. when-not-to-use guidance, and no siblings are named. A quick routing note ('for a single job use get_job; for scheduled-only use list_scheduled_jobs') would remove the ambiguity.

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