Skip to main content
Glama

Rename, re-describe or move a folder

driftnet_update_folder
Idempotent

Rename a folder, edit its description, or move it to a new parent while keeping its id. Only the fields you pass change; items inside stay put.

Instructions

Change an existing folder's name, description or parent; only the fields you pass change. To add a folder use driftnet_create_folder, to remove one driftnet_delete_folder, and to move cards between folders driftnet_move_items. The id stays the same after a rename, so ids you hold keep working. description replaces the classifier rule for future links; items already inside are not re-sorted. parent moves the folder with everything inside it: another folder id, or null for the top level; omit it to leave the folder where it is. It can't be moved into itself or its own sub-folders. Fails if the folder does not exist or the change is refused (empty name, a loop, a name clash).

Input Schema

NameRequiredDescriptionDefault
idYesFolder id from driftnet_list_folders, e.g. 'coding'
nameNoNew name, 1–60 chars
parentNoNew parent folder id; null for the top level; omit to keep it
descriptionNoNew rule for what belongs here, up to 300 chars

Output Schema

NameRequiredDescriptionDefault
idYes
folderYes
parentYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changedv0.7.0
    • changedInput schema / properties / description / description
      Previous value: -"New description: a short rule for what belongs here"New value: +"New rule for what belongs here, up to 300 chars"
    • changedInput schema / properties / id / description
      Previous value: -"Folder id from driftnet_list_folders"New value: +"Folder id from driftnet_list_folders, e.g. 'coding'"
    • addedInput schema / properties / id / maxLength
      Added value: +80
    • addedInput schema / properties / id / minLength
      Added value: +1
    • changedInput schema / properties / name / description
      Previous value: -"New name"New value: +"New name, 1–60 chars"
    • addedInput schema / properties / parent / anyOf
      Added value: +[
      +  {
      +    "maxLength": 80,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / parent / description
      Previous value: -"New parent folder id; null for the top level; omit to keep"New value: +"New parent folder id; null for the top level; omit to keep it"
    • removedInput schema / properties / parent / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "folder": {
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "parent": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "parent",
      +    "folder"
      +  ],
      +  "type": "object"
      +}
  2. Addedv0.5.1

TDQS

A4.9/5.0
Behavior5/5

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

The description adds substantial behavior beyond the annotations: only passed fields change, ids persist across renames, description affects only future classifier links, parent moves the whole subtree, and self/subfolder moves are rejected. It also documents failure cases such as nonexistent folders, empty names, loops, and name clashes.

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 action and then proceeds through alternatives, side effects, parameter nuances, and failure modes. Despite its length, each sentence contributes operational guidance for invoking the tool correctly.

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?

Given that an output schema exists, return values need not be described. The description covers the non-obvious mutation semantics, constraints, and failure modes that an agent needs, making the definition complete for this update operation.

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?

The schema already has 100% description coverage for all four parameters, but the description still adds useful meaning about partial updates, classifier-rule effects, subtree movement, and the distinction between null and omitted parent. Some parent semantics overlap with the schema, so it is not a full 5.

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 states a specific verb and resource set: changing an existing folder's name, description, or parent. It also explicitly distinguishes the tool from sibling tools such as driftnet_create_folder, driftnet_delete_folder, and driftnet_move_items.

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 clearly routes the agent to the correct alternatives for adding, removing, and moving cards. It also explains the key omission behavior for parent, which prevents accidental moves when the field is not supplied.

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