Skip to main content
Glama

mnemosyne_todo_list

Read-only

Read your to-do backlog, listing every list and open task with its ID so you can update the right one. Use it to check what's on your plate or avoid filing a duplicate.

Instructions

Read the user's To-do backlog back: the lists that exist and the tasks in them, each with the id you need to change it. Call this before mnemosyne_todo_update, which names tasks by id. A phrase like "delete the task about the invoice" reads perfectly and can still match the wrong task. This is also the way to answer "what is on my plate", or to check whether something is already filed before you add a duplicate. Works with the app closed on a dev install (the headless daemon reads the file); an npm install has no daemon and needs the app running. Scope todo:read.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
listNoOnly this list, by displayed name (case-insensitive) or by the key shown in brackets. Omitted = every list. A name that matches nothing returns NO tasks rather than silently widening to all of them.
limitNoMaximum tasks returned (default and ceiling: 300). The answer always says how many matched and how many were cut.
include_doneNoInclude tasks already checked off. Default false: the open ones are what almost every question is actually about. Tasks moved to the ARCHIVE are never listed, only counted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.10.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, so the description is not required to restate that. It adds valuable behavioral context: the difference between dev install (headless daemon reads the file) and npm install (needs app running), and that tasks moved to ARCHIVE are never listed. This goes beyond the annotation and materially affects how an agent plans a call.

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 description is front-loaded with the core purpose and the critical note about IDs, then covers usage and environment context. It is a bit long but every sentence earns its place (the environment note, the scope line, the archive behavior). While it could be tightened, it remains well-structured and readable.

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?

Given the tool's read-only nature, optional parameters, and lack of output schema, the description covers all the essential operational details: the return includes IDs needed for updates, the duplicate-check use case, the behavior when no list matches, the archive counting behavior, and the environment prerequisites. Nothing critical is missing for an agent to call it correctly.

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?

Schema description coverage is 100%, so the schema already explains all three parameters (list, limit, include_done) in detail, including edge cases like omitted list returning every list and unmatched names returning no tasks. The description adds no additional parameter semantics beyond what the schema provides, so the baseline of 3 is appropriate.

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 verb and resource: 'Read the user's To-do backlog back' and immediately explains what it returns (lists, tasks, and the IDs needed for changes). It explicitly contrasts itself with mnemosyne_todo_update, which names tasks by id, so an agent can distinguish them without inspecting schemas.

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?

It gives explicit when-to-use instructions ('Call this before mnemosyne_todo_update') and also positions it as the way to answer 'what is on my plate' or check for duplicates before adding. It mentions the alternative (todo_update) but does not explicitly state when not to use it, so it falls just 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.