Skip to main content
Glama

Create or change an app list

save_app_list
Destructive

Creates an app list or replaces its fields. Each user sees only their own rows, unless share: group (their group too; two steps). Returns the list and add-form markup.

Input Schema

NameRequiredDescriptionDefault
listYesApp list name, e.g. expenses
scanNoScan actions: {label, values} adds a row; {label, redeem: n} uses n; form: a list
siteYes
labelNo
replyNo
shareNo
fieldsYes1-30 of {name, type, label, required, options}; types text, long_text, number, date, choice (options), photo
commentsNo
group_readNo
plan_rulesNo{add:[plan],fields:{f:[plan]},limit:{plan:n},per}
group_writeNo
lead_statusNo
confirm_tokenNo
status_optionsNo

Output Schema

NameRequiredDescriptionDefault
rowsNo
peopleNo
agent_messageNo
confirm_tokenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / list / description
      Previous value: -"Member list name, e.g. expenses"New value: +"App list name, e.g. expenses"
    • addedOutput schema / properties / agent_message
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / people
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / rows
      Added value: +{
      +  "type": "number"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / scan / description
      Previous value: -"Scan actions: {label, values} adds a row; {label, redeem: n} uses n; form: a list (guide #scan)"New value: +"Scan actions: {label, values} adds a row; {label, redeem: n} uses n; form: a list"
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "confirm_token": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  4. Added

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and non-idempotent. The description adds visibility semantics (own rows vs group) and notes it returns markup, which is useful context beyond the annotations. However it does not warn about what 'replaces its fields' destroys on an existing list, which is the critical destructive behavior.

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?

Two tight sentences with no filler, and the create/replace behavior is front-loaded. The parenthetical 'their group too; two steps' is dense but not wasted.

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?

For a 14-parameter, destructive, non-idempotent mutation tool, the description leaves most parameters and their interactions unexplained. An output schema exists, so return-value explanation is not required, but the input side is significantly under-documented.

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?

Only 29% of the 14 parameters have schema descriptions. The description covers only share partially and adds nothing about the many undocumented params: scan, plan_rules, group_read, group_write, lead_status, confirm_token, status_options, reply, comments, label. At this coverage level the description needed to compensate and does not.

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?

States a specific verb and resource: 'Creates an app list or replaces its fields.' That distinguishes it from delete_list, get_lists, and add_app_row. It does not explicitly differentiate it from the sibling save_list, which is the closest overlap.

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

Usage Guidelines3/5

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

It gives behavioral context about per-user rows and share: group, and mentions 'two steps' for group sharing, which implies sequencing. But it never says when to call this versus save_list or save_app_ai_prompt, and the 'two steps' hint is too vague to act on.

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