Skip to main content
Glama

GreatWait

List schedules

schedules_list
Read-onlyIdempotent

Lists the caller's own schedules one page at a time (default 25, at most 100); follow nextCursor until it is absent before counting or ranking schedules, or use schedules.summary for whole-project counts. order=created (the default) walks creation order and includes every unarchived schedule; order=due walks next-due order and includes only schedules with an occurrence on the books, so cancelled, completed and paused schedules with nothing upcoming are not in it. Giving dueBefore or dueAfter forces due order. direction=desc reverses either order: newest-created first, or latest-due first. Due-order paging is not stable while schedules fire: a schedule's next-due instant moves as it runs, so across pages it can appear twice or be skipped; read again from the first page, or de-duplicate by id, when exactness matters. Archived schedules are left out. Give endpoint to keep the page to the schedules that deliver to that endpoint, or text, status, recurrence, tag or external_identifier to filter; filters intersect before paging, and a cursor continues only under the order, direction and filters that issued it. Creation order examines a bounded number of schedules per page, so a page filtered by status, or one crossing many archived schedules, can come back short, or empty, and still carry nextCursor: keep following it. Every page is authoritative.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "schedules_list"
  }
}

Input Schema

NameRequiredDescriptionDefault
tagNoAn exact, case-sensitive tag of at most 64 UTF-8 bytes.
textNoCase-insensitive literal substring of schedule name, endpoint address or schedule identifier.
limitNo
orderNocreated
cursorNo
statusNo
dueAfterNo
endpointNo
scheduleNo
directionNoasc (default) walks the order oldest-created or soonest-due first; desc walks it newest-created or latest-due first. A cursor continues only in the direction that issued it.asc
dueBeforeNo
recurrenceNo
external_identifierNoHost application identifier, matched exactly and case-sensitively; at most 256 UTF-8 bytes. Readable by schedule readers; do not include secrets.

Output Schema

NameRequiredDescriptionDefault
dataYes
freshnessYes
nextCursorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / direction
      Added value: +{
      +  "default": "asc",
      +  "description": "asc (default) walks the order oldest-created or soonest-due first; desc walks it newest-created or latest-due first. A cursor continues only in the direction that issued it.",
      +  "enum": [
      +    "asc",
      +    "desc"
      +  ],
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / data / items / properties / requestedLatencyClass
      Added value: +{
      +  "enum": [
      +    "auto",
      +    "bulk",
      +    "realtime"
      +  ],
      +  "type": "string"
      +}
  3. Changed8 schema fields changed
    • addedInput schema / properties / dueAfter
      Added value: +{
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
      +  "type": "string"
      +}
    • addedInput schema / properties / endpoint / anyOf
      Added value: +[
      +  {
      +    "pattern": "^ep_[0-9abcdefghjkmnpqrstvwxyz]{26}$",
      +    "type": "string"
      +  },
      +  {
      +    "const": "none",
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / endpoint / pattern
      Removed value: -"^ep_[0-9abcdefghjkmnpqrstvwxyz]{26}$"
    • removedInput schema / properties / endpoint / type
      Removed value: -"string"
    • addedInput schema / properties / recurrence
      Added value: +{
      +  "enum": [
      +    "at",
      +    "every",
      +    "cron"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / schedule
      Added value: +{
      +  "pattern": "^sch_[0-9abcdefghjkmnpqrstvwxyz]{26}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / status
      Added value: +{
      +  "enum": [
      +    "active",
      +    "paused",
      +    "cancelled",
      +    "completed"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / text
      Added value: +{
      +  "description": "Case-insensitive literal substring of schedule name, endpoint address or schedule identifier.",
      +  "maxLength": 256,
      +  "type": "string"
      +}
  4. Changed4 schema fields changed
    • addedInput schema / properties / external_identifier
      Added value: +{
      +  "description": "Host application identifier, matched exactly and case-sensitively; at most 256 UTF-8 bytes. Readable by schedule readers; do not include secrets.",
      +  "maxLength": 256,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / tag
      Added value: +{
      +  "description": "An exact, case-sensitive tag of at most 64 UTF-8 bytes.",
      +  "maxLength": 64,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / items / properties / external_identifier
      Added value: +{
      +  "description": "Host application identifier, matched exactly and case-sensitively; at most 256 UTF-8 bytes. Readable by schedule readers; do not include secrets.",
      +  "maxLength": 256,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / items / properties / tags
      Added value: +{
      +  "description": "Up to 16 distinct searchable tags. Omission preserves tags on replacement; [] clears them.",
      +  "items": {
      +    "description": "An exact, case-sensitive tag of at most 64 UTF-8 bytes.",
      +    "maxLength": 64,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 16,
      +  "type": "array"
      +}
  5. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover read-only safety, so the description spends its words on genuinely additive traits: archived schedules excluded, filters intersect before paging, cursors bound to order/direction/filters, and bounded creation-order scans that can yield short or empty pages that still carry nextCursor. It further discloses due-order paging instability (possible duplicates/skips while schedules fire) with mitigations — de-duplicate by id or reread from page one. That is unusually rich disclosure.

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?

Purpose and page-size facts are front-loaded, followed by ordering semantics, then the paging caveats — a sensible progression for a complex list tool. It is a dense block of prose, but nearly every clause carries operational consequence (short pages with nextCursor, duplicate risk in due order), so little is wasted.

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 13 parameters, an output schema handling return values, and annotations covering safety, the description supplies the remaining behavioral picture an agent needs: ordering behavior, exclusion rules, pagination instability and cursor semantics. Only the undocumented `schedule` filter keeps it from being fully complete for this parameter count.

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 only 31% across 13 parameters, so the description must carry weight and largely does: it explains the semantics of order, direction, dueBefore/dueAfter, endpoint, text, status, recurrence, tag, external_identifier, limit and cursor, including interactions the schema cannot express (due-range forcing due order, cursor invalidation on order/direction/filter change). The `schedule` parameter is never mentioned, leaving one filter undocumented in both places.

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?

Opens with a specific verb and resource ('Lists the caller's own schedules one page at a time'), including scope (caller's own, paginated) and default/max page size. It also names the sibling it is not — schedules.summary for whole-project counts — so the agent can separate the two without opening either schema.

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 to schedules.summary for whole-project counting and instructs to follow nextCursor before counting or ranking. It also states which order to pick ('order=created' includes every unarchived schedule vs 'order=due' only ones with upcoming occurrences) and that dueBefore/dueAfter forces due order, giving concrete selection conditions rather than implied ones.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources