Skip to main content
Glama

List a model’s chapters

list_chapters
Read-onlyIdempotent

Lists one plate’s chapters (ids and titles) and the lab settings it accepts (ids, ranges, options), for show_model. Use it when the user wants another part of a plate than the one search_models gave, or wants to set the lab.

Input Schema

NameRequiredDescriptionDefault
langNozh (Chinese) or en (English).
slugYesThe plate id from search_models (e.g. "tides").

Output Schema

NameRequiredDescriptionDefault
langYesThe language of the texts: zh or en.
slugYes
paramsYesThe lab settings the plate accepts.
chaptersYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "chapters": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "n": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "title": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "n",
      +          "title"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "lang": {
      +      "description": "The language of the texts: zh or en.",
      +      "enum": [
      +        "zh",
      +        "en"
      +      ],
      +      "type": "string"
      +    },
      +    "params": {
      +      "description": "The lab settings the plate accepts.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "default": {
      +            "anyOf": [
      +              {
      +                "type": "number"
      +              },
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "boolean"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "kind": {
      +            "enum": [
      +              "slider",
      +              "toggle",
      +              "choice"
      +            ],
      +            "type": "string"
      +          },
      +          "label": {
      +            "type": "string"
      +          },
      +          "max": {
      +            "type": "number"
      +          },
      +          "min": {
      +            "type": "number"
      +          },
      +          "options": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "id": {
      +                  "type": "string"
      +                },
      +                "label": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "label"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "step": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "kind",
      +          "label"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "slug": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "slug",
      +    "lang",
      +    "chapters",
      +    "params"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A3.6/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, non-destructive behavior, and a closed-world scope, so the safety profile is clear. The description adds that it surfaces available chapters and lab settings rather than mutating them, but it does not add deeper behavioral details such as pagination, permissions, or limits; output-schema coverage also reduces the need for return-value explanation.

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 description is two sentences and front-loads the purpose before the usage guidance. The parenthetical return details make the first sentence dense but still efficient; little is wasted.

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 a simple, read-only tool with two parameters and an output schema, the description covers the purpose, what is listed, and when to choose it over search_models. The main gap is that the relationship to show_model and the meaning of “set the lab” are not fully spelled out.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented in the input schema. The description implies the slug denotes a single plate, but it adds no meaningful semantics beyond that and does not mention the lang parameter.

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 states a specific verb and resource: it lists a plate’s chapters and the lab settings that plate accepts, including the kinds of values returned. It also ties the tool to show_model and search_models, though it does not fully delineate how it differs from show_model.

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?

The second sentence gives explicit usage conditions: use it when the user wants a different part of a plate than search_models returned, or wants to set the lab. It names search_models as the relevant alternative, but does not give explicit when-not guidance or clarify the show_model relationship.

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.