Skip to main content
Glama

List models and their capabilities

list_models
Read-onlyIdempotent

Read the full capability envelope for the models a room can run: aspect ratios, durations, resolutions, reference capacities, which inputs a model requires, and — for voice — its complete voice roster and the languages it speaks. Choose a model with get_benchmark; this carries everything a tool line cannot. Every model carries credits on a stated basis, cost_rank (1 = cheapest of its kind), paid_by (one of the user's own keys at no credits, house for this month's free allowance, or credits) and free_now. Before the first use of a model in a conversation, read it alone — pass its model_id — to get its guide: how its prompt is best shaped, what it cannot combine, what it habitually gets wrong and how to prevent it, and when another model is the better call. The unfiltered listing says which models have one (has_guide) and carries no guide text.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "kind": "<kind>"
    },
    "name": "list_models"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindYes
model_idNo

Output Schema

NameRequiredDescriptionDefault
kindYes
toolsYes
modelsYes
messageYes
default_model_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / models / items / properties / paid_by
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / models / items / required
      Previous value: -[
      -  "id",
      -  "label",
      -  "maker",
      -  "credits",
      -  "credits_basis",
      -  "cost_rank",
      -  "free_now",
      -  "blurb",
      -  "badge",
      -  "tags",
      -  "aspect_ratios",
      -  "aspect_source",
      -  "setting",
      -  "resolutions",
      -  "duration",
      -  "max_reference_images",
      -  "max_reference_videos",
      -  "max_reference_audios",
      -  "supports_first_frame",
      -  "supports_last_frame",
      -  "frames_exclude_references",
      -  "required_inputs",
      -  "prompt_optional",
      -  "voices",
      -  "languages",
      -  "controls",
      -  "accepts_custom_voice",
      -  "has_guide"
      -]New value: +[
      +  "id",
      +  "label",
      +  "maker",
      +  "credits",
      +  "credits_basis",
      +  "cost_rank",
      +  "free_now",
      +  "paid_by",
      +  "blurb",
      +  "badge",
      +  "tags",
      +  "aspect_ratios",
      +  "aspect_source",
      +  "setting",
      +  "resolutions",
      +  "duration",
      +  "max_reference_images",
      +  "max_reference_videos",
      +  "max_reference_audios",
      +  "supports_first_frame",
      +  "supports_last_frame",
      +  "frames_exclude_references",
      +  "required_inputs",
      +  "prompt_optional",
      +  "voices",
      +  "languages",
      +  "controls",
      +  "accepts_custom_voice",
      +  "has_guide"
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / models / items / properties / free_now
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / models / items / required
      Previous value: -[
      -  "id",
      -  "label",
      -  "maker",
      -  "credits",
      -  "credits_basis",
      -  "cost_rank",
      -  "blurb",
      -  "badge",
      -  "tags",
      -  "aspect_ratios",
      -  "aspect_source",
      -  "setting",
      -  "resolutions",
      -  "duration",
      -  "max_reference_images",
      -  "max_reference_videos",
      -  "max_reference_audios",
      -  "supports_first_frame",
      -  "supports_last_frame",
      -  "frames_exclude_references",
      -  "required_inputs",
      -  "prompt_optional",
      -  "voices",
      -  "languages",
      -  "controls",
      -  "accepts_custom_voice",
      -  "has_guide"
      -]New value: +[
      +  "id",
      +  "label",
      +  "maker",
      +  "credits",
      +  "credits_basis",
      +  "cost_rank",
      +  "free_now",
      +  "blurb",
      +  "badge",
      +  "tags",
      +  "aspect_ratios",
      +  "aspect_source",
      +  "setting",
      +  "resolutions",
      +  "duration",
      +  "max_reference_images",
      +  "max_reference_videos",
      +  "max_reference_audios",
      +  "supports_first_frame",
      +  "supports_last_frame",
      +  "frames_exclude_references",
      +  "required_inputs",
      +  "prompt_optional",
      +  "voices",
      +  "languages",
      +  "controls",
      +  "accepts_custom_voice",
      +  "has_guide"
      +]
  3. Changed2 schema fields changed
    • changedOutput schema / properties / models / items / properties / duration / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "auto_only": {
      -        "type": "boolean"
      -      },
      -      "max": {
      -        "type": "number"
      -      },
      -      "min": {
      -        "type": "number"
      -      },
      -      "steps": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "number"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "supports_auto": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "min",
      -      "max",
      -      "steps",
      -      "supports_auto",
      -      "auto_only"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "auto_only": {
      +        "type": "boolean"
      +      },
      +      "max": {
      +        "type": "number"
      +      },
      +      "min": {
      +        "type": "number"
      +      },
      +      "supports_auto": {
      +        "type": "boolean"
      +      },
      +      "values": {
      +        "items": {
      +          "type": "number"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "min",
      +      "max",
      +      "values",
      +      "supports_auto",
      +      "auto_only"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / models / items / properties / routes
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "limits": {
      +        "additionalProperties": {},
      +        "type": "object"
      +      },
      +      "vendor": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "vendor",
      +      "limits"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  4. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the bar is lower, but the description still adds non-obvious behavior: the unfiltered listing carries no guide text and only flags has_guide, while a single-model read returns the full guide. It also discloses the credit metadata semantics (paid_by, cost_rank, free_now) that shape downstream decisions. It stops short of anything about result size or pagination.

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?

Front-loads the return contents, then the benchmark comparison, then the guide workflow — a sensible order with dense, information-bearing sentences. Slightly padded by the rhetorical clause 'this carries everything a tool line cannot' and a long em-dash aside that could be tightened.

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?

Complete for a read-only listing tool: it covers what is returned (even though an output schema exists), the credit/cost fields that affect model choice, the two-mode behavior, and the prerequisite workflow before generating with a model. An agent has everything needed to call it correctly on the first attempt.

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 coverage is 0%, so the description must carry parameter meaning, and it only partially does. It thoroughly explains model_id (single-model read returns the guide) and gives meaning to the 'voice' kind via the roster/languages clause, but the required `kind` filter itself is never explicitly described as selecting the model family, and the enum's other values (clip, music, tool) are left undefined.

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?

States a specific verb and resource ('Read the full capability envelope for the models a room can run') and enumerates exactly what the envelope contains: aspect ratios, durations, resolutions, reference capacities, required inputs, and voice rosters/languages. It also explicitly distinguishes itself from the sibling get_benchmark, so an agent can route between the two without opening either schema.

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?

Gives an explicit rule: use get_benchmark to choose a model, use this to carry what a benchmark line cannot. It also states the concrete precondition for the guide mode — read it alone with model_id before the first use of a model in a conversation — which is exactly the kind of when-to-use instruction an agent needs.

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