Skip to main content
Glama
Nightious-Tools

NiimBlue Labels MCP

Official

List label fonts

list_fonts
Read-onlyIdempotent

Lists fontFamily values for label rendering, covering the default, built-in fonts, and fonts in your font folder so you can pick a valid font before drawing labels.

Instructions

List the fontFamily values render_label can draw: the default (Noto Sans Variable), the built-in fonts with notes and the smallest legible size, and the font files in the user's font folder (NIIMBLUE_FONTS_DIR; .woff2, .ttf or .otf, family = the name before the first dot). The link carries only the family name: the user adds each non-default font's file (path) in NiimBlue → Fonts once.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
okYes
toolYes
folderYes
builtinYes
defaultYesfontFamily when none is given

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare a safe, idempotent, closed-world read, so the description's added value is the behavior behind the list: it reads the user's font folder (NIIMBLUE_FONTS_DIR), filters by .woff2/.ttf/.otf, and derives family names as the text before the first dot. It also flags a real gotcha — the returned link carries only the family name, so non-default fonts need a user-added path before rendering works.

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-loaded with the purpose in the opening clause, then supporting detail. Dense but each clause carries information (default name, smallest legible size, env var, extension list, naming rule, manual step); the parenthetical stacking makes it slightly heavy to scan but nothing is 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?

An output schema exists, so return structure needn't be restated, and the description covers the remaining unknowns: where fonts come from, how families are named, and why a listed family may still fail to render. Nothing an agent needs in order to call and interpret it correctly is missing.

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?

The tool takes zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. It does not need to explain inputs and correctly spends its words on output semantics instead.

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 ("List the fontFamily values render_label can draw") and immediately scopes the output to what a sibling consumes. The three content groups (default, built-ins, user folder files) make it unmistakable versus list_templates or get_template.

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 tie to render_label makes the use case clear: call this to obtain valid fontFamily values before rendering. It also warns that adding a non-default font's file path is a manual step in NiimBlue → Fonts, so the agent knows this tool cannot register fonts. No explicit when-not or named alternative beyond that implied flow.

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

Deploy Server

Other Tools