Skip to main content
Glama

todo_list

Read-onlyIdempotent

Lists workspace todo scratchpad items with an optional status filter (pending, in_progress, done) to track tasks by state.

Instructions

List the workspace todo scratchpad. Optional status filter: pending, in_progress, done.

Input Schema

NameRequiredDescriptionDefault
statusNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds that the resource is a workspace-scoped 'scratchpad' and enumerates filterable states, but says nothing about ordering, pagination, or behavior when status is omitted.

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 short sentences, zero filler, with the resource statement front-loaded and the filter detail second. Every clause carries information the agent needs.

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?

An output schema exists, so return values need no explanation, and with a single optional parameter the surface is small. The only missing piece is the documented behavior of the null/default case, which the description leaves implicit.

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% and the status property is a bare anyOf(string,null) with no enum, so the description's enumeration of pending/in_progress/done is the only place valid values are stated — real compensation for the schema gap. It stops short of saying that omitting status returns all entries, which is the one remaining ambiguity.

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?

Specific verb plus resource: 'List the workspace todo scratchpad,' which clearly separates it from todo_add, todo_update, and todo_remove. It does not explicitly name a sibling as an alternative, but the read-vs-mutate boundary is obvious from the verb.

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 'List' and by the optional filter, but there is no explicit statement of when to call this versus the sibling todo mutators, and no guidance on whether to call this before todo_update (e.g., to obtain ids).

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