Pull Loops
pull_loopsCopy loops onto a date as linked tasks — each loop stays in Loops. Idempotent per loop+date.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| loops | Yes |
pull_loopsCopy loops onto a date as linked tasks — each loop stays in Loops. Idempotent per loop+date.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| loops | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Input schema / properties / date / descriptionRemoved value: -"YYYY-MM-DD (default today)"Input schema / properties / loops / descriptionRemoved value: -"Loop refs from get_loops: #N, id, or title"Input schema / properties / date / maxLengthAdded value: +10Input schema / properties / loops / items / maxLengthAdded value: +500Input schema / properties / loops / maxItemsAdded value: +100Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already provide idempotentHint and destructiveHint, and the description adds useful context by stating that loops are copied rather than moved and that linked tasks are created. It reinforces the side-effect boundary without contradicting 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences that front-load the core operation and place the idempotency caveat at the end. Every phrase earns its place with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a structurally simple two-parameter tool, the core behavior, idempotency, and non-destructive nature are sufficiently covered. It could be slightly more complete by addressing the optional date default and naming the alternative tool to use instead, but those are minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description conceptually maps loops as the items being copied and date as the destination, which adds meaning beyond the bare schema. However, with 0% schema description coverage, it leaves gaps such as date format, why date is optional, and how loop identifiers are expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Copy loops onto a date as linked tasks.' It also clarifies the key distinction that 'each loop stays in Loops,' separating this from move-style or purely task-creation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied: use this to pull existing loops onto a date rather than creating tasks or loops from scratch. However, no explicit alternatives are named and there is no when-not-to-use guidance relative to siblings like create_tasks or get_loops.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool targets a distinct resource and action: goals, tasks, subtasks, loops, journal, calendar, and stats are cleanly separated. Descriptions include explicit call-order hints (e.g., get_loops before pull_loops) that reduce ambiguity. No two tools appear to do the same thing.
Tool names consistently follow a verb_noun snake_case pattern: create_, get_, update_, delete_, pull_, reorder_, write_. Even non-standard verbs like pull_loops and write_journal fit the same predictable structure, making the API easy to navigate.
Sixteen tools is slightly above the typical well-scoped range, but the coverage justifies it given the multiple domains: goals, tasks, subtasks, loops, journal, calendar, and focus stats. Each tool has a clear purpose, so none feel redundant or padding.
Goals and tasks have full CRUD coverage, and journal read/write plus loop pulling cover important workflows. Minor gaps exist: loops cannot be created, updated, or deleted, and calendar events are read-only, so some agent actions would require workarounds. Overall, the core planning lifecycle is well supported.