Skip to main content
Glama

Create or change a list

save_list
Destructive

Creates a list or replaces its fields (pages show it with data-pl-list and data-pl-field). Form or bookings list: only the owner's own columns (notes, tags).

Input Schema

NameRequiredDescriptionDefault
listYes
siteYes
formsNoForm list: plugin ids filling it
labelNoName shown in the app
fieldsNoAll fields in order (one left out loses its values): {name, type, label, options, list, from (old name)}; type text, long_text, number, price, date, image, link, yes_no, rich_text, reference(s), choice; internal also choices, email, phone, person, money, file; internal: rules
internalNo
public_jsonNoPublic JSON feed {fields, where}; null: off

Output Schema

NameRequiredDescriptionDefault
fieldsNo
agent_messageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / fields / description
      Previous value: -"All fields, first to last (one left out loses its values): {name, type, label, options, list (reference), from (old name)}; type text, long_text, number, price, date, image, link, yes_no, rich_text, reference(s), choice"New value: +"All fields in order (one left out loses its values): {name, type, label, options, list, from (old name)}; type text, long_text, number, price, date, image, link, yes_no, rich_text, reference(s), choice; internal also choices, email, phone, person, money, file; internal: rules"
    • addedInput schema / properties / internal
      Added value: +{
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • removedInput schema / properties / list / description
      Removed value: -"List name"
  3. Changed2 schema fields changed
    • removedInput schema / properties / site / description
      Removed value: -"Site name"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "agent_message": {
      +      "type": "string"
      +    },
      +    "fields": {
      +      "items": {
      +        "properties": {
      +          "name": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  4. Changed9 schema fields changed
    • changedInput schema / properties / fields / description
      Previous value: -"All fields, first to last; one left out loses its values. Form or bookings list: owner columns only"New value: +"All fields, first to last (one left out loses its values): {name, type, label, options, list (reference), from (old name)}; type text, long_text, number, price, date, image, link, yes_no, rich_text, reference(s), choice"
    • removedInput schema / properties / fields / items
      Removed value: -{
      -  "properties": {
      -    "from": {
      -      "description": "Old name: rename, keeping values",
      -      "type": "string"
      -    },
      -    "label": {
      -      "maxLength": 80,
      -      "type": "string"
      -    },
      -    "list": {
      -      "description": "reference(s): linked list",
      -      "type": "string"
      -    },
      -    "name": {
      -      "description": "data-pl-field name",
      -      "type": "string"
      -    },
      -    "options": {
      -      "items": {
      -        "type": "string"
      -      },
      -      "maxItems": 50,
      -      "type": "array"
      -    },
      -    "type": {
      -      "enum": [
      -        "text",
      -        "long_text",
      -        "number",
      -        "price",
      -        "date",
      -        "image",
      -        "link",
      -        "yes_no",
      -        "rich_text",
      -        "reference",
      -        "references",
      -        "choice"
      -      ],
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "name",
      -    "type"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / properties / fields / maxItems
      Removed value: -30
    • removedInput schema / properties / label / maxLength
      Removed value: -80
    • removedInput schema / properties / public_json / anyOf
      Removed value: -[
      -  {
      -    "properties": {
      -      "fields": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "where": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "fields"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • changedInput schema / properties / public_json / description
      Previous value: -"Public JSON feed of these fields; null: off"New value: +"Public JSON feed {fields, where}; null: off"
    • addedInput schema / properties / public_json / type
      Added value: +[
      +  "object",
      +  "null"
      +]
    • changedInput schema / properties / site / description
      Previous value: -"Site name, e.g. brave-otter-4821"New value: +"Site name"
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": {},
      -  "properties": {
      -    "agent_message": {
      -      "type": "string"
      -    },
      -    "confirm_token": {
      -      "type": "string"
      -    },
      -    "error": {
      -      "description": "On failure (isError): {code, message}"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  5. Added

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare destructive=true, openWorld=true, and idempotent=false, so the safety bar is lower. The description adds useful replacement semantics ('replaces its fields') and an owner-column constraint, but it does not explain what destruction means for existing values or list items beyond what the schema notes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in two short sentences. However, 'pages show it with data-pl-list and data-pl-field' is implementation detail that does not help an agent invoke the tool, and the second sentence is terse to the point of ambiguity.

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

Completeness2/5

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

This is a complex, destructive mutation tool with seven parameters, nested objects, and an output schema. The description omits create-vs-update behavior, the meaning of site/list/internal/public_json, and how list items are affected, leaving significant gaps for correct invocation.

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

Parameters2/5

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

Schema coverage is only 57%, and the description does not clarify the required 'site' and 'list' parameters or the nested 'internal' object. The brief mention of owners' columns relates loosely to 'fields' but adds little executable meaning beyond the schema's own field documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: 'Creates a list or replaces its fields.' It is clear what the tool does at a high level, but the resource 'list' is ambiguous in this API and there is no explicit differentiation from siblings such as save_app_list or get_lists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Apart from a narrow scope restriction for form or bookings lists ('only the owner's own columns'), it offers no guidance on when to use this versus save_app_list, delete_list, or update_list_items. The agent must infer selection from the name alone.

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