Skip to main content
Glama
bubua12

memos-mcp-server

by bubua12

Check / uncheck task

set_task_status
Destructive

Mark a task-list item in a memo as done or not done by its 1-based index or a unique text match. Update task status precisely without editing the memo body.

Instructions

Mark one task-list item in a memo as done or not done. Identify it by its number from list_todos/get_memo order (task_index) or by a unique piece of its text (task_text).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
doneNo
memoYesMemo id ("VMbe4zNJ…"), resource name ("memos/VMbe4zNJ…") or web URL
task_textNoText that identifies the task (case-insensitive substring)
task_indexNo1-based task number within the memo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare this a non-read-only, destructive, non-idempotent mutation, so the description only needs to add context. It adds the important scoping fact that exactly one item is affected, but says nothing about what happens on an ambiguous or unmatched task_text, or which behavior wins if both identifiers are passed. No contradiction with the annotations.

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 tight sentences, front-loaded with the action and immediately followed by the addressing rules. Every clause carries information the agent needs; no filler or restatement of the title.

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 a simple 4-parameter toggle with no output schema and annotations that already carry the safety profile, the description covers the essentials: what changes, how many items, and how to identify the target. The remaining gap is collision behavior when both task_index and task_text are provided, or when task_text matches multiple items.

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 75%, so the baseline is a 3; the description earns more by clarifying that task_index follows the ordering returned by list_todos/get_memo and that task_text must be a unique fragment of the item's text. It still omits any mention of the `done` flag's default or the memo parameter's accepted id forms, which the schema already covers.

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?

States a specific verb and resource with scope: "Mark one task-list item in a memo as done or not done." The word "one" and "task-list item" distinguish it from sibling mutators like update_memo or edit_memo_content, and it names list_todos as the source of the identifiers, so an agent can place it immediately.

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 the two alternative addressing modes (task_index from list_todos/get_memo order, or task_text) and implicitly tells the agent to obtain indices from those listing tools first. It does not state what to do when neither identifier is supplied, nor whether one mode takes precedence over the other.

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