Skip to main content
Glama

list_tasks

Read-onlyIdempotent

Retrieve tasks ordered by due date, then priority and title. Filter by task list, tags, status, or due-date range; completed and cancelled tasks are hidden unless included.

Instructions

List tasks, earliest deadline first. Searches every task list unless one is named. Completed and cancelled tasks are excluded unless includeCompleted is true. Results are sorted by due date, then priority, then title.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
listNoTask list uri or display name. Omit to search every list.
nestNoReturn a tree, each task carrying its subtasks, instead of a flat list. A subtask whose parent is not in the result stays at the top level.
tagsNoKeep tasks carrying every one of these tags (case-insensitive).
limitNoMaximum tasks to return.
searchNoCase-insensitive substring match over title, description and location.
statusNoKeep only these statuses. Applied after includeCompleted.
dueAfterNoKeep tasks due at or after this instant.
dueBeforeNoKeep tasks due strictly before this instant. A bare "YYYY-MM-DD" means midnight that day, so tasks due today are dueAfter today and dueBefore tomorrow.
parentUidNoKeep only subtasks of this uid, or "none" for top-level tasks only.
includeUndatedNoKeep tasks with no due date when a due bound is set. Default false — a due-date filter otherwise silently drops everything undated.
includeCompletedNoInclude COMPLETED and CANCELLED tasks. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description discloses non-obvious defaults: completed/cancelled tasks are excluded unless includeCompleted=true, and results are sorted by due date, then priority, then title. It also clarifies that every task list is searched unless one is named. No contradiction with annotations.

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 first sentence front-loads the purpose, and subsequent sentences add scope and defaults. There is a minor redundancy: 'earliest deadline first' is repeated as 'sorted by due date' in the final sentence, but the description remains compact and organized.

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 an 11-parameter tool with no output schema, the description covers the core query behavior, defaults, and sorting. It does not describe the response shape, which would be helpful given no output schema exists, but all essential usage details are present.

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?

The input schema already documents every parameter (100% coverage), so the baseline is 3. The description adds the default sort order and the 'search every list unless named' scope, but these are minor; it does not go into parameter-specific interactions (e.g., dueAfter/dueBefore semantics 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?

The description opens with a specific action and resource ('List tasks'), names the default scope ('Searches every task list unless one is named'), and states the ordering. This clearly distinguishes it from siblings like list_task_lists (which enumerates task lists) and get_task (a single task).

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 gives clear context on when to call it: to retrieve tasks, optionally scoped to a named list, with filtering defaults. It does not explicitly mention alternatives like get_task for single-task lookups or list_task_lists for enumerating lists, so it stops short of a 5.

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