Skip to main content
Glama

List fonts

figma_get_fonts
Read-only

Retrieve fonts used on the current Figma page or available in the file, including missing fonts and exact style names. Filter by query or family names.

Instructions

Fonts used by text on the current page (scope: "page", default) — every run of mixed-style text counted, and the text of stickies, shapes, connectors and table cells on a board — with how many nodes use each, missingFonts when the file uses a font this machine lacks, and missing: true on each such font. scope: "available": the families this Figma can load, each with its exact style names, 50 per call (limit up to 500; total, truncated and nextCursor say what is left). query keeps names containing a word ("serif", "grotesk"); families checks exact names and lists the ones not found in missing. query, families, limit and cursor imply scope "available".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoFamilies per call. Default 50.
queryNoAvailable families whose name contains this, case-insensitive, e.g. "mono".
scopeNoDefault "page", or "available" when a filter below is given.
cursorNoThe nextCursor of a truncated call, unchanged.
sessionNoOptional sessionId or file name, to pick a Figma file when more than one is connected.
familiesNoExact family names to check, e.g. ["Inter", "Playfair Display"]: each found one with its styles; the rest in `missing`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds substantial behavior beyond that: usage counts per font, missingFonts/missing flags, the 50-per-call pagination with limit up to 500, and the total/truncated/nextCursor contract. No auth or error behavior is discussed, keeping it just short of top marks.

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 dominant default mode is front-loaded and every clause carries information, but it is a single very dense paragraph that mixes input behavior and return values. Slightly dense for a six-parameter tool, though little of it is waste.

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?

With no output schema, the description carries the full burden of describing returns and it does: usage counts, missingFonts, per-font missing:true, and the pagination fields. Both modes, all filters, and the pagination contract are covered, leaving nothing essential for a correct call unexplained.

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 coverage is 100%, so the baseline would be 3, but the description clarifies the cross-parameter coupling (query, families, limit and cursor imply scope "available") and gives concrete examples of query ("serif", "grotesk") and families semantics (exact names, not-found returned in missing). This goes meaningfully beyond the schema text.

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 fonts) and splits it into two well-defined modes: fonts used by text on the current page versus families this Figma can load. An agent can immediately tell this apart from text-inspection siblings like figma_scan_text_nodes and from figma_suggest_fonts by the emphasis on enumeration and availability.

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?

Clearly explains that "page" is the default, that query/families/limit/cursor flip the call to "available", and what each filter does. It gives strong contextual usage rules but never names an explicit alternative (e.g. figma_suggest_fonts) or states when not to use this tool.

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