Skip to main content
Glama

mnemosyne_todo_list

Reads your to-do lists and open tasks with their IDs, so you can see what's on your plate, check for duplicates, or prepare the exact ID needed for an update.

Instructions

Read the human's To-do backlog back: the lists that exist and the tasks in them, each with the ID you must use to change it. Call this BEFORE mnemosyne_todo_update - that tool names tasks by id and never by text, because "delete the task about the invoice" is how the wrong task goes, in a sentence that reads perfectly either way. Also the way to answer "what is on my plate" or to check whether something is already filed before adding 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.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly: it is a read-only scope ('todo:read'), reads from a file via a daemon in dev installs, returns IDs needed for later mutation, and explains that results always state how many matched and were cut. This goes well beyond the input schema.

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?

The description is front-loaded with the core purpose, then adds targeted warnings, use cases, and environment context. Every sentence earns its place; the length is justified by the valuable guidance it conveys.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read tool with three optional parameters, no output schema, and no annotations, the description covers what is returned (lists, tasks, IDs, counts), when to use it, and operational prerequisites. Nothing essential is missing for an agent to select and invoke 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 baseline is 3 and the schema already documents list, limit, and include_done behavior. The tool description adds no additional parameter-specific meaning beyond what the parameter descriptions provide, so no upgrade is warranted.

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 human's To-do backlog back: the lists that exist and the tasks in them.' It also names the distinguishing purpose of exposing task IDs for later mutation, and explicitly contrasts itself with mnemosyne_todo_update. This makes the tool's role unambiguous even among similarly named siblings.

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?

It explicitly states when to invoke this tool: before mnemosyne_todo_update, when answering 'what is on my plate', and before adding a duplicate via mnemosyne_todo_add. It also provides environmental guidance about dev installs versus npm installs. The usage conditions are concrete and actionable.

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