Skip to main content
Glama

List fonts

gimp_list_fonts
Read-only

Lists fonts available in GIMP, filtered by a search substring, so you can find the correct font name before applying text or font settings.

Instructions

Fonts GIMP knows (fontconfig names), filtered by a substring.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "gimp_list_fonts"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
queryNo

Output Schema

NameRequiredDescriptionDefault
fontsYes
totalYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds a little useful context — that names are fontconfig-style identifiers and that filtering is substring-based rather than prefix/regex — but says nothing about truncation, ordering, or maximum result size, which matter for a listing tool bounded at 2000.

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?

A single front-loaded sentence with no filler; the resource comes first and the qualifier follows. It is efficient, though the noun-fragment style leaves almost no room for the operational detail an agent needs.

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

Completeness3/5

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

An output schema exists, so return-value shape need not be described. However, for a tool with two undocumented parameters and a hard cap of 2000, the absence of any note on limit/truncation and query matching scope leaves a real gap before an agent can call it confidently.

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 description coverage is 0%, so the description carries the full burden, and it only partially delivers: the phrase "filtered by a substring" clarifies query semantics (substring match), but it never says which field the substring matches (family, style, full name, case sensitivity). The limit parameter is completely unexplained in both schema and description.

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 names the specific resource (fonts) and adds a distinguishing qualifier — "fontconfig names" — which tells the agent what identifier form will come back. No sibling tool lists fonts (gimp_list_filters and gimp_list_callable_procedures cover different domains), so no explicit disambiguation is needed.

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?

There is no when-to-use guidance: nothing says this is the discovery step before gimp_create_text_layer / gimp_set_text, which are the obvious consumers of font names. It also gives no advice on when to pass a query versus listing everything, or what happens when results exceed the default limit.

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