Skip to main content
Glama

List models

list_models
Read-onlyIdempotent

List available models on a local Msty Studio backend, choosing all services or a specific one (local_ai, mlx, llamacpp, vibe, nexus), and return model JSON or a service error.

Instructions

List models on a local backend. Use backend=all for every service, or local_ai, mlx, llamacpp, vibe or nexus. Use chat_with_model to talk to a listed model. Read-only aside from local HTTP. Returns JSON with backend and models, or an error when that service is down.

Input Schema

NameRequiredDescriptionDefault
backendNoWhich backend to list. One of all, local_ai, mlx, llamacpp, vibe, nexus. Default all.all

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv6.2.1

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false. The description adds that the operation is read-only aside from local HTTP and that it returns JSON with backend and models, or an error when a service is down, which gives useful failure context beyond the annotations.

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

Conciseness5/5

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

The description is three compact sentences with the core action and parameter guidance front-loaded. Every sentence contributes to selection or invocation, and there is no repetitive filler.

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?

For a one-parameter read-only listing tool with full schema coverage and an output schema, the description is complete. It covers purpose, backend values, the relevant chat alternative, and the error condition when a backend service is down.

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

Parameters4/5

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

Schema description coverage is 100%, so the parameter is already well documented. The description still adds semantic value by explaining that backend=all means every service and by listing the concrete backend choices in the context of use.

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: list models on a local backend. It also names the sibling alternative chat_with_model for talking to a listed model, so the agent can distinguish listing from chat without opening another 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 clear usage direction for the backend parameter, including when to use backend=all versus local_ai, mlx, llamacpp, vibe, or nexus. It also names chat_with_model as the alternative for interacting with a model, though it does not explicitly exclude other sibling listing/provider tools.

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