Skip to main content
Glama

Update folder

set_folder

Change a folder’s name, introduction or cover. A cover must be a page inside this folder that is shared through the folder link. Set cover_proposal_id to null to restore the generated index. The cover uses the page’s live version. Folder page layout: layout {pinned, sections:[{title, items}], rest, hidden} with items p: or l: (add links with set_home links_add); or pass only sections / rest, or pin / unpin / hide / show; layout=null restores newest-first. ★ hide is not set_internal: a hidden page is just not listed on the folder page — the folder link still opens it and its own link is unchanged; internal means the folder link does not include it at all.

Input Schema

NameRequiredDescriptionDefault
pinNo
hideNo在合集目录里隐藏(不改它的可见性,合集链接照样能进)
nameNo
restNoauto = 没排进去的页面按时间接在最后;none = 只出排进去的
showNo
introNo
unpinNo
layoutNo合集门户的整份排版(替换);null = 回到「最新在前」
sectionsNo
folder_idYes
cover_proposal_idNoUse null to remove the cover and restore the generated folder page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / hide
      Added value: +{
      +  "description": "在合集目录里隐藏(不改它的可见性,合集链接照样能进)",
      +  "items": {
      +    "maxLength": 80,
      +    "type": "string"
      +  },
      +  "maxItems": 50,
      +  "type": "array"
      +}
    • addedInput schema / properties / layout
      Added value: +{
      +  "anyOf": [
      +    {
      +      "properties": {
      +        "hidden": {
      +          "items": {
      +            "maxLength": 80,
      +            "type": "string"
      +          },
      +          "maxItems": 500,
      +          "type": "array"
      +        },
      +        "pinned": {
      +          "items": {
      +            "maxLength": 80,
      +            "type": "string"
      +          },
      +          "maxItems": 50,
      +          "type": "array"
      +        },
      +        "rest": {
      +          "enum": [
      +            "auto",
      +            "none"
      +          ],
      +          "type": "string"
      +        },
      +        "sections": {
      +          "items": {
      +            "properties": {
      +              "items": {
      +                "items": {
      +                  "maxLength": 80,
      +                  "type": "string"
      +                },
      +                "maxItems": 50,
      +                "type": "array"
      +              },
      +              "title": {
      +                "maxLength": 64,
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "title",
      +              "items"
      +            ],
      +            "type": "object"
      +          },
      +          "maxItems": 12,
      +          "type": "array"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "合集门户的整份排版(替换);null = 回到「最新在前」"
      +}
    • addedInput schema / properties / pin
      Added value: +{
      +  "items": {
      +    "maxLength": 80,
      +    "type": "string"
      +  },
      +  "maxItems": 50,
      +  "type": "array"
      +}
    • addedInput schema / properties / rest
      Added value: +{
      +  "description": "auto = 没排进去的页面按时间接在最后;none = 只出排进去的",
      +  "enum": [
      +    "auto",
      +    "none"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / sections
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "items": {
      +        "items": {
      +          "maxLength": 80,
      +          "type": "string"
      +        },
      +        "maxItems": 50,
      +        "type": "array"
      +      },
      +      "title": {
      +        "maxLength": 64,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "items"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 12,
      +  "type": "array"
      +}
    • addedInput schema / properties / show
      Added value: +{
      +  "items": {
      +    "maxLength": 80,
      +    "type": "string"
      +  },
      +  "maxItems": 50,
      +  "type": "array"
      +}
    • addedInput schema / properties / unpin
      Added value: +{
      +  "items": {
      +    "maxLength": 80,
      +    "type": "string"
      +  },
      +  "maxItems": 50,
      +  "type": "array"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish that this is a non-read-only, non-destructive write. The description adds substantial non-obvious behavior: cover pages must be shared through the folder link, covers use the live page version, layout=null restores newest-first, and hide does not remove link access.

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 purpose is front-loaded and most sentences carry useful semantic detail, especially the hide warning. The layout paragraph is dense and semicolon-heavy, but it avoids obvious repetition.

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 an 11-parameter mutation tool with no output schema, the description covers the important invocation semantics and non-obvious effects. It does not explain return behavior or permission requirements, though annotations reduce the safety gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema description coverage is only 36% across 11 parameters, the description compensates well: it explains name, introduction, cover, cover_proposal_id null behavior, layout shape, sections/rest, pin/unpin/hide/show, and the p:/l: item syntax. This is materially more useful than the sparse schema descriptions alone.

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: change a folder's name, introduction, cover, or page layout. It also distinguishes the hide operation from set_internal and points to set_home for adding links, so an agent can separate it from nearby setters without opening the schema.

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 concrete usage rules for cover changes, null restoration, layout replacement, and the hide versus set_internal distinction. It does not provide a full when-to-use/when-not-to-use statement, but the key alternatives and constraints are explicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources