Skip to main content
Glama
nmassi

glyphs-mcp

by nmassi

export_font

Export open font to a timestamped directory beside its source, generating OTF, TTF, WOFF, WOFF2 for static instances and variable TTF for variable fonts, with export logs returned.

Instructions

Export the open font beside its saved source with glyphs-cli.

Creates export/YYYY-MM-DD_HH-MM-SS next to the open .glyphs or .glyphspackage source. Static instances are exported as OTF, TTF, WOFF, and WOFF2. Variable instances are exported as variable TTF files. Previous export directories are never removed or overwritten.

The response always contains portable exportLog and colored exportLogAnsi variants. The calling agent MUST show the ANSI variant when its client supports terminal colors, otherwise the portable log, after every export attempt including failures.

Args: save_before_export: Save pending changes before exporting. Defaults to False; if the document is edited, the tool asks for confirmation instead of silently saving it. timeout: Maximum seconds for each of the three export runs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
timeoutNo
save_before_exportNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries full behavioral burden and does so thoroughly. It discloses that export directories are never removed or overwritten, that the tool may ask for confirmation rather than silently saving, that both portable and ANSI log variants are always returned, and that the agent MUST show the ANSI variant when supported. This is strong, actionable behavioral context.

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 front-loaded with the core purpose, then expands into output formats, side effects, response obligations, and parameters. Every sentence adds relevant operational detail without padding or repetition, keeping the definition appropriately sized.

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?

Despite having no output schema and no annotations, the description covers what the tool produces, where it writes, its non-destructive behavior, required agent behavior for logs, and both parameters. Nothing essential for correctly invoking the tool is missing; the only minor gap is edge cases around unsaved/untitled sources, which is not critical given the level of detail provided.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate. It does: save_before_export is explained as saving pending changes, defaulting to False, and asking for confirmation when edited; timeout is clarified as the maximum seconds for each of the three export runs. This adds substantive meaning beyond the bare schema types.

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 opens with a specific verb and resource: 'Export the open font beside its saved source with glyphs-cli.' It then names the output directory pattern, formats for static vs variable instances, and non-destructive behavior, making the tool's function unmistakable and distinct from the sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: call this when you need to export the currently open font after editing. However, it does not explicitly state when to prefer this over alternatives or mention any exclusions, such as unsaved documents or other export paths. The context is inferable but not directly addressed.

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